linear_elastic_ggmax
linear_elastic_ggmax
Linear elastic nD material with modulus reduction curves (LinearElasticGGmax).
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.
LinearElasticGGmaxMaterial
LinearElasticGGmaxMaterial(user_name: str = 'Unnamed', *, G: float | None = None, K_or_nu: float | None = None, rho: float = 0.0, curveType: int = 1, pairs: Union[Sequence[Tuple[float, float]], Sequence[float], None] = None, param1: float | None = None, param2: float | None = None, param3: float | None = None, **_: Any)
Bases: Material
Linear elastic soil skeleton with shear-modulus degradation versus strain.
OpenSees evaluates an effective modulus path using a selectable backbone:
tabulated (gamma, G/Gmax), Hardin-Drnevich style, Vucetic-Dobry, or
Darendeli, controlled by curveType. Bulk response is supplied via
K_or_nu: values in the special OpenSees ratio range are interpreted as
Poisson's ratio, and larger magnitudes are treated as bulk modulus.
Tcl form
nDMaterial LinearElasticGGmax <tag> G K_or_nu rho curveType [tail]; #
Note
- For
curveType == 0, you may omitpairsentirely or supply a user-defined backbone ofgammaversus normalizedG/Gmax. - Positive
rhoenforcement matches OpenSees mass-density usage. - The caller is responsible for unit consistency across
G,rho, and the chosen interpretation ofK_or_nu.
Example
Create a LinearElasticGGmax material with backbone validation rules.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_name
|
str
|
Unique label referenced in Tcl export comments under the owning material manager. |
'Unnamed'
|
G
|
float | None
|
Small-strain shear modulus |
None
|
K_or_nu
|
float | None
|
Interpreted by OpenSees as Poisson's ratio in the special range, otherwise as bulk modulus. |
None
|
rho
|
float
|
Saturated density for mass coupling, required to be non-negative. |
0.0
|
curveType
|
int
|
Integer backbone selector |
1
|
pairs
|
Union[Sequence[Tuple[float, float]], Sequence[float], None]
|
User-defined backbone data for |
None
|
param1
|
float | None
|
Curve-specific scalar used by built-in backbone types. |
None
|
param2
|
float | None
|
Darendeli-specific parameter used when |
None
|
param3
|
float | None
|
Darendeli-specific parameter used when |
None
|
**_
|
Any
|
Ignored compatibility keyword arguments. |
{}
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
ValueError
|
If |
ValueError
|
If user-defined backbone data are malformed. |
Methods:
to_tcl
Emit Tcl with modulus inputs, curve selector, then curve tail values.
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Tcl line beginning with |
str
|
Curve |
|
str
|
append the corresponding built-in curve parameters. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the material is unmanaged, thus lacking a valid tag. |