Chapter 6 Geotech Engineering Laboratory: Liquid and Plastic Limit#

  1. Introduction: Soil Density Lab

  2. Simulation: Procter density Test

  3. Self-Assessment

1. Introduction#

Descriptive alt text for accessibility

Fig. 16 **Figure 4.2 **: Liquid and Plastic Limit for fine-grained soil.#

🧪 Liquid Limit & Plastic Limit – Definitions, Importance & Empirical Use#


📘 Definitions#

Term

Description

Liquid Limit (LL)

Moisture content (%) at which soil transitions from plastic to liquid behavior

Plastic Limit (PL)

Moisture content (%) at which soil transitions from semi-solid to plastic state

Plasticity Index (PI)

Difference between LL and PL → ( PI = LL - PL )


🎯 Importance in Geotechnical Engineering#

Parameter

Influence of Atterberg Limits

Soil Classification

PI and LL define fine-grained behavior (USCS, AASHTO systems)

Workability

Determines ease of handling, compaction, and mixing

Settlement & Compressibility

High PI → greater compressibility in saturated soils

Foundation Design

LL used in estimating undrained shear strength and bearing capacity

Expansive Behavior

High PI indicates swelling potential for clays


🧭 U.S. Standards for Measurement#

Property

Method

ASTM Standard

Liquid Limit

Casagrande Groove Closure (mechanical device)

ASTM D4318

Plastic Limit

Soil thread rolling until crumbling

ASTM D4318

PI Calculation

( PI = LL - PL )

ASTM D4318

🔹 LL is determined by plotting moisture vs. groove closure blows and estimating at 25 blows (log regression).
🔹 PL is taken as the average moisture content at which rolled soil threads begin to crumble at 3.2 mm diameter.


📐 Empirical Equations Using LL, PL, PI#

✅ Compression / Settlement#

Equation

Expression

Source

Compression Index (Cc)

\(( C_c = 0.009 (LL - 10) \))

Terzaghi & Peck

Secondary Compression (Cα)

\(( C_\alpha = C_c / (1 + e_0) \))

Consolidation Theory

✅ Shear Strength / Bearing Capacity#

Equation

Expression

Use Case

Undrained Shear Strength (Su)

\(( Su = A \cdot PI^{-0.5} \cdot \sigma_v \))

Soft clays

Bearing Capacity Reduction

\(( q_{ult} = B - C \cdot PI \))

Shallow foundations

✅ Permeability / Hydraulic Conductivity#

Equation

Expression

Notes

Seed et al. (1961)

\(( K = 10^{-7 + 3.3 \cdot PI/LL} \))

Fine soils

Ferguson & Maxwell

\(( \log(K) = A - B \cdot LL \))

Empirical estimate

Morin & Todorovic

\(( K = a \cdot e^b \cdot LL^{-c} \))

Silty clays


🧭 Interpretation Notes#

  • High LL (>50%) → Soil may exhibit soft, liquid behavior; careful handling needed

  • High PI (>20%) → Swelling, shrinkage, and stability concerns in foundations

  • Empirical formulas help estimate soil behavior when lab tests aren’t available, but must be used cautiously—always validate when possible

References#

[Das, 2010] provides a clear and structured explanation of liquid limit, plastic limit, and plasticity index, collectively known as the Atterberg limits. These are essential for classifying fine-grained soils and predicting their engineering behavior. The standard test procedures for determining Atterberg limits—including liquid limit, plastic limit, and plasticity index—are described in detail in [ASTM International, 2017].

2. Simulation#

🧪 Atterberg Limit Calculator – Summary Guide#

An interactive Python tool using ipywidgets to compute the Liquid Limit (LL), Plastic Limit (PL), and Plasticity Index (PI) based on laboratory moisture content measurements.

  • LL estimated from Casagrande groove closure trials (moisture vs. blow count)

  • PL averaged from plastic thread moisture trials

  • PI computed as LL − PL, indicating soil plasticity behavior


⚙️ What It Does#

Task

Method Used

Input data for LL (moisture & blows)

User-entered values per trial

Input data for PL (moisture only)

Averaged across trials

Compute LL

Regression at 25 blows (log-linear fit)

Compute PL

Mean moisture from plastic thread trials

Output PI

LL − PL

Output Classification

Based on PI value range (low, med, high)


🧩 How to Use#

📥 Inputs#

  • LL trials: moisture content (%) and closure blows per test

  • PL trials: moisture content from rolling soil into threads

📤 Outputs#

Output

Meaning

LL (%)

Water content where clay flows under vibration

PL (%)

Water content at which soil crumbles when rolled

PI (%)

Index of soil plasticity (LL − PL)

Classification

Soil behavior: low, medium, or high plasticity


🧭 How to Interpret#

PI Value

Plasticity Class

Soil Implication

PI < 7

💡 Low plasticity

Easily workable, minimal swelling

PI 7–20

💡 Medium plasticity

Moderate volume change & handling effort

PI > 20

💡 High plasticity

Sticky, expansive behavior risk

Use these limits for soil classification under systems like USCS and for selecting compaction, stabilization, and foundation methods.

import pandas as pd
import numpy as np
import ipywidgets as widgets
from IPython.display import display, Markdown
import math

# 💡 Styling
style = {'description_width': '200px'}
layout = widgets.Layout(width='400px')

# 📋 Liquid Limit Data Entry
num_ll_trials = widgets.IntSlider(value=4, min=2, max=6, description='LL Trials:', style=style, layout=layout)

def create_ll_inputs(n):
    return [
        (
            widgets.FloatText(value=28 + i*2, description=f'Trial {i+1} – Moisture (%)', style=style, layout=layout),
            widgets.IntText(value=15 + i*5, description=f'Trial {i+1} – Blows', style=style, layout=layout)
        )
        for i in range(n)
    ]

ll_data = create_ll_inputs(num_ll_trials.value)

def update_ll(change):
    global ll_data
    ll_data = create_ll_inputs(change['new'])
    ll_box.children = [w for group in ll_data for w in group]

num_ll_trials.observe(update_ll, names='value')
ll_box = widgets.VBox([w for group in ll_data for w in group])

# 📋 Plastic Limit Data Entry
num_pl_trials = widgets.IntSlider(value=3, min=1, max=5, description='PL Trials:', style=style, layout=layout)

pl_inputs = [
    widgets.FloatText(value=19 + i, description=f'PL Moisture (%) T{i+1}', style=style, layout=layout)
    for i in range(num_pl_trials.value)
]

def update_pl(change):
    global pl_inputs
    pl_inputs = [widgets.FloatText(value=19 + i, description=f'PL Moisture (%) T{i+1}', style=style, layout=layout)
                 for i in range(change['new'])]
    pl_box.children = pl_inputs

num_pl_trials.observe(update_pl, names='value')
pl_box = widgets.VBox(pl_inputs)

# 🧮 Calculation
run_btn = widgets.Button(description='Compute LL, PL & PI', layout=widgets.Layout(width='300px'))

def on_run_click(b):
    # LL Regression
    blows = []
    moistures = []
    for m, n in ll_data:
        moistures.append(m.value)
        blows.append(n.value)

    log_blows = [math.log10(x) for x in blows]
    df_ll = pd.DataFrame({'Moisture': moistures, 'Log(Blows)': log_blows})
    slope, intercept = np.polyfit(df_ll['Log(Blows)'], df_ll['Moisture'], 1)
    LL = round(slope * math.log10(25) + intercept, 1)

    # PL Average
    pl_vals = [x.value for x in pl_inputs if x.value > 0]
    PL = round(np.mean(pl_vals), 1)
    PI = round(LL - PL, 1)

    # Classification Hint
    if PI < 7:
        desc = "💡 Low plasticity"
    elif PI < 20:
        desc = "💡 Intermediate plasticity"
    else:
        desc = "💡 High plasticity"

    md = f"""
### 🧪 Atterberg Limit Results

- **Liquid Limit (LL)**: {LL:.1f} %  
- **Plastic Limit (PL)**: {PL:.1f} %  
- **Plasticity Index (PI)**: {PI:.1f} %  
- **Estimated Classification**: {desc}

---

### 📐 Interpretation Notes
- LL estimated via regression at 25 blows (Casagrande method)  
- PL taken as average of plastic roll moisture  
- PI = LL - PL → Indicator of soil plasticity and classification
"""
    display(Markdown(md))

run_btn.on_click(on_run_click)

# 🧩 Display Interface
display(widgets.VBox([
    widgets.HTML("<h3>💧 Liquid Limit Inputs (Casagrande)</h3>"),
    num_ll_trials, ll_box,
    widgets.HTML("<h3>🧂 Plastic Limit Inputs (Roll Method)</h3>"),
    num_pl_trials, pl_box,
    run_btn
]))

3. Self-Assessment#

🧪 Atterberg Limits – Conceptual, Reflective & Quiz Questions#


🔍 Conceptual Questions#

  1. What does the liquid limit (LL) represent in terms of soil behavior?

  2. How does the plastic limit (PL) relate to the consistency and workability of fine-grained soils?

  3. Why is plasticity index (PI) a useful metric in geotechnical soil classification?

  4. How does moisture content influence the transition between liquid, plastic, and semi-solid states in clayey soils?

  5. What are the limitations of using Casagrande’s groove method for determining LL?


💭 Reflective Questions#

  1. In your lab trial, what factors influenced variability in LL and PL measurements?

  2. How would soil plasticity affect field handling, compaction, or foundation preparation?

  3. If two soils have similar LL but very different PI, how might that influence your design decisions?

  4. What human or procedural errors could bias the moisture content used in calculating Atterberg limits?

  5. How do Atterberg limits help in understanding swelling potential or shrinkage behavior?


🧪 Quiz Questions#

Theory & Classification#

Q1. Plasticity Index (PI) is calculated as:

  • A. PI = PL − LL

  • B. PI = LL × PL

  • C. PI = LL − PL ✅

  • D. PI = LL / PL

Q2. A soil with LL = 50% and PL = 22% has:

  • A. PI = 28% ✅

  • B. PI = 72%

  • C. PI = 32%

  • D. PI = 4%

Q3. Which statement best describes a high PI soil?

  • A. Very brittle and non-plastic

  • B. Highly plastic and expansive ✅

  • C. Low moisture retention

  • D. Ideal for road subgrade

Methodology#

Q4. Casagrande method uses which feature to determine LL?

  • A. Soil roll stiffness

  • B. Closure of groove at 25 blows ✅

  • C. Drop cone penetration

  • D. Weight of sample

Q5. Atterberg limits apply to which soil fraction?

  • A. Coarse gravel

  • B. Sand

  • C. Silt and clay-sized particles ✅

  • D. Organic topsoil