Plasticity
Plasticity is a non-linear rheology that is activated once stresses exceed a certain yield criteria.
Implemented laws
The following plastic law are implemented:
GeoParams.MaterialParameters.ConstitutiveRelationships.DruckerPrager Type
DruckerPrager(ϕ=30, Ψ=0, C=10e6Pa)Sets parameters for Drucker-Prager plasticity, where the yield stress
with
Yielding occurs when the second invariant of the deviatoric stress tensor,
Here, Ψ is the dilation angle, which must be zero for incompressible setups.
Plasticity is activated when
where
Example
julia> pl = DruckerPrager(ϕ=30, C=10e6Pa)
Drucker-Prager plasticity with: C = 1.0e7 Pa, ϕ = 30.0ᵒ, Ψ = 0.0ᵒGeoParams.MaterialParameters.ConstitutiveRelationships.DruckerPrager_regularised Type
DruckerPrager_regularised(ϕ=30, Ψ=0, C=10e6Pa, η_vp=1e20Pa*s)Sets parameters for reularised Drucker-Prager plasticity, where the yield stress
with
Yielding occurs when the second invariant of the deviatoric stress tensor,
Here, Ψ is the dilation angle, which must be zero for incompressible setups.
Plasticity is activated when
where
Example
julia> pl = DruckerPrager_regularised(ϕ=30, C=10e6Pa, η_vp=1e20Pa*s)
Regularized Drucker-Prager plasticity with: C = 1.0e7 Pa, ϕ = 30.0ᵒ, Ψ = 0.0ᵒ, η_vp=1.0e20 Pa sGeoParams.MaterialParameters.ConstitutiveRelationships.DruckerPragerCap Type
DruckerPragerCap(ϕ=30, Ψ=0, C=10e6Pa, η_vp=1e20Pa*s, Pt=-1e5Pa)Sets parameters for Drucker-Prager-Cap plasticity, as described in Popov et al. (2025), Geoscientific Model Development. The yield surface has two branches selected by the stress state: a mode-2 Drucker-Prager shear branch at high pressure and a mode-1 tensile cap near the tensile strength pT. The yield function
where the first form is the shear branch and the second the tensile cap. As in DruckerPrager, plastic strain rate is η_vp providing Duvaut-Lions (Duretz-type) viscoplastic regularisation.
Fields
C::T: The cohesion parameter.ϕ::T: The friction angle (in degrees).Ψ::T: The dilatancy angle (in degrees).η_vp::T: The Duvaut-Lions regularisation viscosity for the plasticity model.pT::T: The tensile strength (should be < 0).
Example
julia> pl = DruckerPragerCap(ϕ=30, C=10e6Pa, pT=-1e5Pa)
DruckerPragerCap(ϕ=30.0, Ψ=0.0, C=1.0e7 Pa, η_vp=1.0e20 Pa s, pT=-100000.0 Pa)Computational routines
Usually, plasticity should be defined as part of a CompositeRheology structure and calculations can be done as with all other rheology computations by using compute_τII.