pressure_independ_multi_yield
pressure_independ_multi_yield
Pressure-independent multi-yield soil plasticity (OpenSees PressureIndependMultiYield).
Attributes
Classes
Material
Bases: ABC
Abstract base class for manager-owned OpenSees material objects.
Material instances do not self-register and do not assign their own tags.
A :class:~femora.core.material_manager.MaterialManager owns lifecycle
operations, tag assignment, removal, and retagging for a local model context.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
material_type
|
str
|
OpenSees material category (e.g. |
required |
material_name
|
str
|
Concrete OpenSees material name (e.g. |
required |
user_name
|
str
|
User-specified label for this material instance. |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
tag |
Optional[int]
|
Manager-assigned OpenSees material tag. Remains |
_owner |
object | None
|
Reference to the owning manager, or |
Methods:
to_tcl
abstractmethod
Render the OpenSees material definition command as a Tcl string.
updateMaterialStage
Return an updateMaterialStage Tcl command, or empty string.
PressureIndependMultiYieldMaterial
Bases: Material
Nested-surface plasticity for soils without confining-stress-driven hardening.
Use this nDMaterial when layer strength is specified through reference
moduli, cohesion, friction, and optionally a tabular backbone instead of
the pressure-dependent coupling used by
PressureDependMultiYieldMaterial.
Tcl form
nDMaterial PressureIndependMultiYield <tag> nd rho Gr Br cohesi peakShearStra frictionAng refPress pressDependCoe noYieldSurf [gamma Gs ...]; #
Note
- Positive
noYieldSurfallocates that many auto-generated surfaces. - Negative
noYieldSurfrequirespairswithabs(noYieldSurf)backbone points. frictionAngdefaults to0,refPressdefaults to100, andpressDependCoedefaults to0.
Attributes:
| Name | Type | Description |
|---|---|---|
params |
Final soil parameters plus optional backbone list. |
Example
Validate soil keyword arguments before storing them for Tcl export.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_name
|
str
|
Comment annotation and manager registry key. |
'Unnamed'
|
nd
|
|
required | |
rho
|
Saturated density, strictly positive. |
required | |
refShearModul
|
Reference small-strain shear modulus, strictly positive. |
required | |
refBulkModul
|
Reference bulk modulus, strictly positive. |
required | |
cohesi
|
Apparent cohesion intercept, non-negative. |
required | |
peakShearStra
|
Octahedral shear strain marker for peak strength. |
required | |
frictionAng
|
Friction angle in degrees. Defaults to |
required | |
refPress
|
Positive reference mean stress. Defaults to |
required | |
pressDependCoe
|
Non-negative confinement scaling coefficient. |
required | |
noYieldSurf
|
Surface count or negative backbone selector. |
required | |
pairs
|
Mandatory custom backbone list when |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
If a required keyword argument is missing. |
ValueError
|
If a numeric value cannot be converted correctly. |
ValueError
|
If any validated value falls outside the supported range. |
ValueError
|
If |
Methods:
to_tcl
Emit the Tcl declaration with optional backbone tail expansion.
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Tcl line including moduli, cohesion, friction defaults, |
str
|
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If the material was not registered with a manager. |
updateMaterialStage
Construct Tcl for elastic/plastic modulus staging plus inline comment tag.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str
|
|
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Tcl with |
Raises:
| Type | Description |
|---|---|
ValueError
|
When no tag has been assigned yet. |
set_parameter
set_parameter(parameter_name: str, new_value: Optional[float] = None, element_tags: Optional[List[int]] = None) -> str
Build Tcl that updates material parameters element-by-element.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parameter_name
|
str
|
One of |
required |
new_value
|
Optional[float]
|
Scalar passed to |
None
|
element_tags
|
Optional[List[int]]
|
OpenSees element IDs to touch. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Multi-line Tcl script suitable for appending to staged analyses. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
ValueError
|
If the material lacks a manager-assigned tag. |