Bathytropic Elasticity
The bathytropic elasticity model represents spatially heterogeneous isotropic elasticity whose stiffness is initialised from the integration-point depth. The depth dependence is prescribed through profiles of shear-wave velocity and density. Once the Young's modulus has been initialised, it remains constant at the material point and is independent of the subsequent stress, strain, void ratio, and current depth.
Contents
- Overview
- Initial Depth Field
- Shear-Wave Velocity and Density Profiles
- Elastic Moduli
- Constitutive Relation and Strain Energy
- Stress Update and Elastic Jacobian
- Initialisation Algorithm
- Material Parameters
- Internal State Variable
- Scope and Limitations
Overview
Bathytropic elasticity converts an initial spatial coordinate into a local elastic stiffness. At an integration point with material position \(\boldsymbol{X}\), the intended constitutive field is
while Poisson's ratio \(\nu\) is constant. The stress increment is calculated using the local, isotropic stiffness tensor
The spatial variation of \(E\) does not evolve during the analysis. Consequently, the model differs fundamentally from barotropic elasticity: bathytropic elasticity does not update stiffness from the current pressure or void ratio.
Initial Depth Field
Let \(x_v\) denote the vertical coordinate of an integration point and let \(z^{ref}\) denote the reference elevation at which the depth is zero. The depth is
The implementation selects the vertical coordinate from the stress-vector size:
Thus, the vertical axis is the global \(y\)-axis in two-dimensional analyses and the global \(z\)-axis in three-dimensional analyses. Points above \(z^{ref}\) are assigned zero depth.
To make the depth functions dimensionally explicit, define the dimensionless depth
The code expressions 1+z and log(1+z) correspond to \(1+\bar d\) and \(\ln(1+\bar d)\) when coordinates are given in metres.
Shear-Wave Velocity and Density Profiles
The shear-wave velocity profile is
where \(v_s^0\) is the shear-wave velocity at zero depth and \(m\) controls its depth dependence.
The density profile used to calibrate the stiffness is
where \(\rho^0\) is the density at zero depth and \(\epsilon_\rho\) controls its logarithmic change with depth.
For the commonly intended case \(m\ge0\) and \(\epsilon_\rho\ge0\), both \(v_s\) and \(\rho\) increase monotonically with depth. The constitutive law nevertheless only requires that the resulting density and elastic moduli remain positive over the depth range of the model.
Elastic Moduli
With \(v_s\) in m/s and \(\rho\) in kg/m³, the shear modulus in Pa is
The implementation returns stress in kPa and therefore uses
Young's modulus follows from the isotropic relation
The Lamé parameter and bulk modulus are
and
A positive-definite isotropic elastic stiffness requires
Constitutive Relation and Strain Energy
After initialisation, \(E\) and \(\nu\) are constant at each integration point. In the small-strain setting, the local constitutive relation is
apart from any prescribed initial stress.
The corresponding strain-energy density is
It follows that
Therefore, dependence of the elastic constants on the initial material position does not destroy hyperelasticity: under small-strain kinematics, the model is a spatially inhomogeneous hyperelastic material. The one-time depth initialisation introduces no evolving constitutive history after \(E\) has been stored.
Stress Update and Elastic Jacobian
The implementation updates the stress vector incrementally as
Using engineering shear strains, the three-dimensional elastic matrix is
For ntens = 4, only the first four rows and columns are used. Because the stored \(E\) is independent of the strain increment, the returned Jacobian
is the exact material Jacobian after initialisation.
Initialisation Algorithm
At every constitutive call, the implementation performs the following operations:
- If
matvar(1) == 0, determine the vertical coordinate fromcoords, calculate \(d\), \(v_s(d)\), \(\rho(d)\), \(G(d)\), and \(E(d)\), and store \(E(d)\) inmatvar(1). - Otherwise, read \(E\) directly from
matvar(1). - Assemble the isotropic elastic matrix from \(E\) and \(\nu\).
- Update the stress with \(\Delta\boldsymbol{\sigma}=\mathbf{D}^e\Delta\boldsymbol{\varepsilon}\).
This algorithm freezes the modulus after the first nonzero value has been stored. It also has the following direct consequences:
- any nonzero value supplied initially in
matvar(1)is treated as the Young's modulus and bypasses the depth calculation; - a parameter combination that gives exactly \(E=0\) can never complete the sentinel-based initialisation;
- the supplied implementation supports only stress vectors with
ntens = 4orntens = 6.
Material Parameters
| Index | Symbol | Unit | Description |
|---|---|---|---|
| 1 | \(v_s^0\) | m/s | Reference shear-wave velocity at zero depth. |
| 2 | \(\rho^0\) | kg/m³ | Reference density at zero depth, used to derive \(G\). |
| 3 | \(\epsilon_\rho\) | kg/m³ | Logarithmic density-profile coefficient. |
| 4 | \(m\) | - | Shear-wave-velocity depth exponent. |
| 5 | \(\nu\) | - | Poisson's ratio. |
| 6 | \(z^{ref}\) | m | Reference elevation defining zero depth. |
Internal State Variable
The implementation uses one state entry:
matvar(1)— depth-initialised Young's modulus \(E\) in kPa.
The state variable is constant after initialisation. It must be retained across a restart if the original stiffness field is to remain unchanged. If no named output alias is registered, it is available as sdv1.
Scope and Limitations
Initial versus current coordinates
The intended material field is most naturally written as \(E(\boldsymbol{X})\), where \(\boldsymbol{X}\) is the reference position. The supplied routine, however, initialises from the coords array on the first constitutive call. In analyses without geometric nonlinearity, these are the original coordinates. With geometric nonlinearity, they are current coordinates. Initialisation must therefore occur before deformation if the reference-depth field is required. Material activation at a later stage produces a stiffness based on the coordinates at first activation.
Finite-strain interpretation
The position-dependent small-strain law admits the strain-energy density given above. Under geometric nonlinearity, the routine is nevertheless integrated through numgeo's general incremental Cauchy-stress framework. It should therefore not be interpreted as a fully finite-strain hyperelastic formulation derived from a deformation-gradient energy potential.
Density in wave-propagation analyses
The density \(\rho(d)\) in this constitutive model is an auxiliary quantity used to construct \(G(d)\). It does not update the density used in the mass matrix or body-force calculation. For a single-phase solid with mass density \(\rho_m\) expressed in t/m³, the numerical shear-wave speed is
The specified profile \(c_s(d)=v_s(d)\) is recovered only when the mass density is assigned consistently, namely \(\rho_m(d)=\rho(d)/1000\) t/m³ under the unit convention used by the implementation.
-
Reference manual