|
| 1 | +### Terzaghi One-Dimensional Consolidation |
| 2 | + |
| 3 | +Simulates **Terzaghi's 1D consolidation** using mimetic finite difference operators from the MOLE library. The system models **transient flow and deformation** in a saturated soil column under a **constant compressive load** at one end with **drainage permitted only at the loaded boundary**. |
| 4 | + |
| 5 | +The governing pressure equation is: |
| 6 | + |
| 7 | +$$ |
| 8 | +\frac{\partial p}{\partial t} = c_f \nabla^2 p |
| 9 | +$$ |
| 10 | + |
| 11 | +with $x\in[0,25]$ meters. Displacement and strain are derived from the pressure, and Darcy’s law is used to compute fluid flux. |
| 12 | + |
| 13 | +#### Boundary conditions: |
| 14 | + |
| 15 | +- **Dirichlet** at \( x = 0 \): \( p(0,t) = 0 \) |
| 16 | +- **Neumann** at \( x = L \): \( \frac{dp}{dx}(L,t) = 0 \) |
| 17 | + |
| 18 | +This corresponds to a domain with **impermeable backing** and **open drainage at the loaded end**. |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +#### Numerical Strategy |
| 23 | + |
| 24 | +- Pressure is initialized to a uniform value \( P_0 = 10 \text{ MPa} \) |
| 25 | +- Integration is performed using **Forward Euler** |
| 26 | +- Mimetic MOLE operators: |
| 27 | + - `lap()` for pressure diffusion |
| 28 | + - `grad()` for Darcy flux |
| 29 | + - `div()` for residual calculations |
| 30 | +- Spatial discretization uses a **staggered grid** with ghost cells to enforce boundary conditions |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +#### Analytical Benchmark |
| 35 | + |
| 36 | +An analytical solution is computed using a **Fourier series expansion**: |
| 37 | + |
| 38 | +$$ |
| 39 | +p(x,t) = \sum_{n=0}^{\infty} \left( \frac{4 P_0}{n \pi} \sin\left(\frac{n \pi x}{2L}\right) e^{- \frac{n^2 \pi^2 c_f t}{4L^2}} \right), \quad n = 2k + 1 |
| 40 | +$$ |
| 41 | + |
| 42 | +The benchmark solution includes: |
| 43 | +- Pressure field |
| 44 | +- Flux via Darcy’s law |
| 45 | +- Strain and displacement |
| 46 | +- Mass conservation residual |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +#### Outputs |
| 51 | + |
| 52 | +At selected time snapshots (1, 10, 40, 70 hours), the following are printed and plotted: |
| 53 | + |
| 54 | +- **Numerical and analytical pressure** profiles |
| 55 | +- **Darcy flux** from numerical and analytical solutions |
| 56 | +- **Displacement fields** |
| 57 | +- **Mass balance residuals** |
| 58 | +- **Relative L2 error** tables |
| 59 | +- **3D surface plots** for pressure, displacement, and residual evolution |
| 60 | + |
| 61 | +--- |
| 62 | + |
| 63 | +#### Physical Parameters |
| 64 | + |
| 65 | +| Parameter | Value | Description | |
| 66 | +|------------------|-------------------------------|-----------------------------------------| |
| 67 | +| \( P_0 \) | 10 MPa | Face load | |
| 68 | +| \( c_f \) | \(1 \times 10^{-4}\) | Diffusivity | |
| 69 | +| \( K \) | \(1 \times 10^{-12} \, \text{m}^2\) | Permeability | |
| 70 | +| \( \mu \) | \(1 \times 10^{-3} \, \text{Pa·s}\) | Dynamic viscosity | |
| 71 | +| \( K_s \) | \(1 \times 10^8 \, \text{Pa}\) | Bulk modulus | |
| 72 | +| \( \alpha \) | 1.0 | Biot coefficient | |
| 73 | +| \( S_s \) | \(1 \times 10^{-5} \, \text{Pa}^{-1}\) | Specific storage coefficient | |
| 74 | +| \( \rho \) | 1000 kg/m³ | Fluid density | |
| 75 | +| \( g \) | 9.81 m/s² | Gravitational acceleration | |
| 76 | + |
| 77 | +--- |
| 78 | + |
| 79 | +#### Code Location |
| 80 | + |
| 81 | +This example is implemented in: |
| 82 | +- [MATLAB/ OCTAVE (terzaghi1D.m)](https://github.com/csrc-sdsu/mole/blob/master/examples/matlab/terzaghi1D.m) |
| 83 | + |
| 84 | +--- |
0 commit comments