o3seespy.nd_material¶
base_material¶
concrete_walls¶
- class o3seespy.command.nd_material.concrete_walls.PlaneStressUserMaterial(osi, nstatevs, nprops, fc, ft, fcu, epsc0, epscu, epstu, stc)[source]¶
Bases:
NDMaterialBaseThe PlaneStressUserMaterial NDMaterial Class
This command is used to create the multi-dimensional concrete material model that is based on the damage mechanism and smeared crack model.
Initial method for PlaneStressUserMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
nstatevs (None) –
nprops (int) – Number of material properties (usually 7)
fc (float) – Concrete compressive strength at 28 days (positive)
ft (float) – Concrete tensile strength (positive)
fcu (float) – Concrete crushing strength (negative)
epsc0 (float) – Concrete strain at maximum strength (negative)
epscu (float) – Concrete strain at crushing strength (negative)
epstu (float) – Ultimate tensile strain (positive)
stc (float) – Shear retention factor
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.PlaneStressUserMaterial(osi, nstatevs=1, nprops=1, fc=1.0, ft=1.0, fcu=1.0, epsc0=1.0, epscu=1.0, epstu=1.0, stc=1.0)
- op_type = 'PlaneStressUserMaterial'¶
- class o3seespy.command.nd_material.concrete_walls.PlasticDamageConcretePlaneStress(osi, e_mod, nu, ft, fc, beta, ap, an, bn)[source]¶
Bases:
NDMaterialBaseThe PlasticDamageConcretePlaneStress NDMaterial Class
No documentation is available yet. If you have the manual, please let me know.
Initial method for PlasticDamageConcretePlaneStress
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (None) –
nu (None) –
ft (None) –
fc (None) –
beta (None) –
ap (None) –
an (None) –
bn (None) –
- op_type = 'PlasticDamageConcretePlaneStress'¶
- class o3seespy.command.nd_material.concrete_walls.PlateFromPlaneStress(osi, pre_def_mat, outof_plane_modulus)[source]¶
Bases:
NDMaterialBaseThe PlateFromPlaneStress NDMaterial Class
This command is used to create the multi-dimensional concrete material model that is based on the damage mechanism and smeared crack model.
Initial method for PlateFromPlaneStress
- Parameters
osi (o3seespy.OpenSeesInstance) –
pre_def_mat (obj) – Integer object identifying planestress material
outof_plane_modulus (float) – Shear modulus for out of plane stresses
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mat = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0) >>> o3.nd_material.PlateFromPlaneStress(osi, pre_def_mat=mat, outof_plane_modulus=1.0)
- op_type = 'PlateFromPlaneStress'¶
- class o3seespy.command.nd_material.concrete_walls.PlateRebar(osi, pre_def_mat, sita)[source]¶
Bases:
NDMaterialBaseThe PlateRebar NDMaterial Class
This command is used to create the multi-dimensional reinforcement material.
Initial method for PlateRebar
- Parameters
osi (o3seespy.OpenSeesInstance) –
pre_def_mat (obj) – Integer object identifying uniaxial material
sita (float) – Define the angle of reinforcement layer, 90 (longitudinal), 0 (tranverse)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mat = o3.uniaxial_material.Elastic(osi, 1.0) >>> o3.nd_material.PlateRebar(osi, pre_def_mat=mat, sita=1.0)
- op_type = 'PlateRebar'¶
contact¶
- class o3seespy.command.nd_material.contact.ContactMaterial2D(osi, mu, g_mod, c, t)[source]¶
Bases:
NDMaterialBaseThe ContactMaterial2D NDMaterial Class
This command is used to construct a ContactMaterial2D nDMaterial object.
Initial method for ContactMaterial2D
- Parameters
osi (o3seespy.OpenSeesInstance) –
mu (float) – Interface frictional coefficient
g_mod (float) – Interface stiffness parameter
c (float) – Interface cohesive intercept
t (float) – Interface tensile strength
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.ContactMaterial2D(osi, mu=1.0, g_mod=1.0, c=1.0, t=1.0)
- op_type = 'ContactMaterial2D'¶
- class o3seespy.command.nd_material.contact.ContactMaterial3D(osi, mu, g_mod, c, t)[source]¶
Bases:
NDMaterialBaseThe ContactMaterial3D NDMaterial Class
This command is used to construct a ContactMaterial3D nDMaterial object.
Initial method for ContactMaterial3D
- Parameters
osi (o3seespy.OpenSeesInstance) –
mu (float) – Interface frictional coefficient
g_mod (float) – Interface stiffness parameter
c (float) – Interface cohesive intercept
t (float) – Interface tensile strength
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=3) >>> o3.nd_material.ContactMaterial3D(osi, mu=1.0, g_mod=1.0, c=1.0, t=1.0)
- op_type = 'ContactMaterial3D'¶
other_material¶
- class o3seespy.command.nd_material.other_material.PM4Sand(osi, d_r, g_o, h_po, den, p_atm, h_o=-1.0, e_max=0.8, e_min=0.5, n_b=0.5, n_d=0.1, a_do=None, z_max=None, c_z=250.0, c_e=None, phi_cv=33.0, nu=0.3, g_degr=2.0, c_dr=None, c_kaf=None, q_bolt=10.0, r_bolt=1.5, m_par=0.01, f_sed=None, p_sed=None)[source]¶
Bases:
NDMaterialBaseThis command is used to construct a 2-dimensional PM4Sand material.
- Parameters
d_r (float) – Relative density, in fraction
g_o (float) – Shear modulus constant
h_po (float) – Contraction rate parameter
den (float) – Mass density of the material
p_atm (float, optional) – Atmospheric pressure
h_o (float, optional) – Variable that adjusts the ratio of plastic modulus to elastic modulus
e_max (float, optional) – Maximum and minimum void ratios
e_min (float, optional) – Maximum and minimum void ratios
n_b (float, optional) – Bounding surface parameter,

n_d (float, optional) – Dilatancy surface parameter

a_do (float, optional) – Dilatancy parameter, will be computed at the time of initialization if input value is negative
z_max (float, optional) – Fabric-dilatancy tensor parameter
c_z (float, optional) – Fabric-dilatancy tensor parameter
c_e (float, optional) – Variable that adjusts the rate of strain accumulation in cyclic loading
phi_cv (float, optional) – Critical state effective friction angle
nu (float, optional) – Poisson’s ratio
c_gd (float, optional) – Variable that adjusts degradation of elastic modulus with accumulation of fabric
c_dr (float, optional) – Variable that controls the rotated dilatancy surface
c_kaf (float, optional) –
- Variable that controls the effect that sustained
con shear stresses have on plastic modulus
q_bolt (float, optional) – Critical state line parameter
r_bolt (float, optional) – Critical state line parameter
m_par (float, optional) – Yield surface constant (radius of yield surface in stress ratio space)
f_sed (float, optional,) – Variable that controls the minimum value the reduction factor of the elastic moduli can get during reconsolidation
p_sed (float, optional) – Mean effective stress up to which reconsolidation strains are enhanced
- op_type = 'PM4Sand'¶
Standard¶
- class o3seespy.command.nd_material.standard.AcousticMedium(osi, k_mod, rho)[source]¶
Bases:
NDMaterialBaseThe AcousticMedium NDMaterial Class
This command is used to construct an acoustic medium NDMaterial object.
Initial method for AcousticMedium
- Parameters
osi (o3seespy.OpenSeesInstance) –
k_mod (float) – Bulk module of the acoustic medium
rho (float) – Mass density of the acoustic medium
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.AcousticMedium(osi, k_mod=1.0, rho=1.0)
- op_type = 'AcousticMedium'¶
- class o3seespy.command.nd_material.standard.BoundingCamClay(osi, mass_density, big_c, bulk_mod, ocr, mu_o, alpha, lamb, h, m)[source]¶
Bases:
NDMaterialBaseThe BoundingCamClay NDMaterial Class
This command is used to construct a multi-dimensional bounding surface Cam Clay material object after Borja et al. (2001).
Initial method for BoundingCamClay
- Parameters
osi (o3seespy.OpenSeesInstance) –
mass_density (float) – Mass density
big_c (float) – Ellipsoidal axis ratio (defines shape of ellipsoidal loading/bounding surfaces)
bulk_mod (float) – Initial bulk modulus
ocr (float) – Overconsolidation ratio
mu_o (float) – Initial shear modulus
alpha (float) – Pressure-dependency parameter for modulii (greater than or equal to zero)
lamb (float) – Soil compressibility index for virgin loading
h (float) – Hardening parameter for plastic response inside of bounding surface (if h = 0, no hardening)
m (float) – Hardening parameter (exponent) for plastic response inside of bounding surface (if m = 0, only linear hardening)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.BoundingCamClay(osi, mass_density=1.0, big_c=1.0, bulk_mod=1.0, ocr=1.0, mu_o=1.0, alpha=1.0, lamb=1.0, h=1.0, m=1.0)
- property den¶
- op_type = 'BoundingCamClay'¶
- class o3seespy.command.nd_material.standard.Damage2p(osi, fcc, fct: Optional[float] = None, e_mod: Optional[float] = None, ni: Optional[float] = None, gt: Optional[float] = None, gc: Optional[float] = None, rho_bar: Optional[float] = None, big_h: Optional[float] = None, theta: Optional[float] = None, tangent: Optional[float] = None)[source]¶
Bases:
NDMaterialBaseThe Damage2p NDMaterial Class
This command is used to construct a three-dimensional material object that has a Drucker-Prager plasticity model coupled with a two-parameter damage model.
Initial method for Damage2p
- Parameters
osi (o3seespy.OpenSeesInstance) –
fcc (float) – Concrete compressive strength, negative real value (positive input is changed in sign automatically)
fct (float, optional) – Optional concrete tensile strength, positive real value (for concrete like materials is less than fcc),
=
because fcc is assumed in mpa
(see aci 318)e_mod (float, optional) – Optional young modulus,
if
because fcc is assumed in psi
(see aci 318)ni (float, optional) – Optional poisson coefficient, 0.15 (from comparison with tests by kupfer hilsdorf rusch 1969)
gt (float, optional) – Optional tension fracture energy density, positive real value (integral of the stress-strain envelope in tension),
(from comparison with tests by gopalaratnam and shah 1985)gc (float, optional) – Optional compression fracture energy density, positive real value (integral of the stress-strain envelope after the peak in compression), :math:6250*fcc*fcc/e` (from comparison with tests by karsan and jirsa 1969)
rho_bar (float, optional) – Optional parameter of plastic volume change, positive real value
, 0.2 (from
comparison with tests by kupfer hilsdorf rusch 1969)big_h (float, optional) – Optional linear hardening parameter for plasticity, positive real value (usually less than e),
(from comparison with tests by karsan and jirsa 1969 and gopalaratnam and shah 1985)theta (float, optional) – Optional ratio between isotropic and kinematic hardening, positive real value
(with: 0
hardening kinematic only and 1 hardening isotropic only, 0.5 (from comparison with tests by karsan and jirsa 1969
and gopalaratnam and shah 1985)tangent (float, optional) – Optional integer to choose the computational stiffness matrix, 0: computational tangent; 1: damaged secant stiffness (hint: in case of strong nonlinearities use it with krylov-newton algorithm)
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.Damage2p(osi, fcc=1.0, fct=1.0, e_mod=1.0, ni=1.0, gt=1.0, gc=1.0, rho_bar=1.0, big_h=1.0, theta=1.0, tangent=1.0)
- op_type = 'Damage2p'¶
- class o3seespy.command.nd_material.standard.DruckerPrager(osi, k_mod, g_mod, sigma_y, rho, rho_bar, kinf, ko, delta1, delta2, big_h, theta, den, p_atm=101000.0)[source]¶
Bases:
NDMaterialBaseThe DruckerPrager NDMaterial Class
This command is used to construct an multi dimensional material object that has a Drucker-Prager yield criterium.
Initial method for DruckerPrager
- Parameters
osi (o3seespy.OpenSeesInstance) –
k_mod (float) – Bulk modulus
g_mod (float) – Shear modulus
sigma_y (float) – Yield stress
rho (float) – Frictional strength parameter
rho_bar (float) – Controls evolution of plastic volume change,
.kinf (float) – Nonlinear isotropic strain hardening parameter,
.ko (float) – Nonlinear isotropic strain hardening parameter,
.delta1 (float) – Nonlinear isotropic strain hardening parameter,
.delta2 (float) – Tension softening parameter,
.big_h (float) – Linear hardening parameter,
.theta (float) – Controls relative proportions of isotropic and kinematic hardening,
.den (float) – Mass density of the material
p_atm (float, optional) – Optional atmospheric pressure for update of elastic bulk and shear moduli
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.DruckerPrager(osi, k_mod=1.0, g_mod=1.0, sigma_y=1.0, rho=1.0, rho_bar=1.0, kinf=1.0, ko=1.0, delta1=1.0, delta2=1.0, big_h=1.0, theta=1.0, den=1.0, p_atm=101e3)
- property den¶
- property nu¶
- op_type = 'DruckerPrager'¶
- class o3seespy.command.nd_material.standard.ElasticIsotropic(osi, e_mod, nu, rho=0.0)[source]¶
Bases:
NDMaterialBaseThe ElasticIsotropic NDMaterial Class
This command is used to construct an ElasticIsotropic material object.
Initial method for ElasticIsotropic
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (float) – Elastic modulus
nu (float) – Poisson’s ratio
rho (float, optional) – Mass density
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0)
- property den¶
- op_type = 'ElasticIsotropic'¶
- class o3seespy.command.nd_material.standard.ElasticOrthotropic(osi, ex, ey, ez, nu_xy, nu_yz, nu_zx, gxy, gyz, gzx, rho=0.0)[source]¶
Bases:
NDMaterialBaseThe ElasticOrthotropic NDMaterial Class
This command is used to construct an ElasticOrthotropic material object.
Initial method for ElasticOrthotropic
- Parameters
osi (o3seespy.OpenSeesInstance) –
ex (float) – Elastic modulus in x direction
ey (float) – Elastic modulus in y direction
ez (float) – Elastic modulus in z direction
nu_xy (float) – Poisson’s ratios in x and y plane
nu_yz (float) – Poisson’s ratios in y and z plane
nu_zx (float) – Poisson’s ratios in z and x plane
gxy (float) – Shear modulii in x and y plane
gyz (float) – Shear modulii in y and z plane
gzx (float) – Shear modulii in z and x plane
rho (float, optional) – Mass density
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.ElasticOrthotropic(osi, ex=1.0, ey=1.0, ez=1.0, nu_xy=1.0, nu_yz=1.0, nu_zx=1.0, gxy=1.0, gyz=1.0, gzx=1.0, rho=0.0)
- op_type = 'ElasticOrthotropic'¶
- class o3seespy.command.nd_material.standard.FSAM(osi, rho, s_x, s_y, conc, rou_x, rou_y, nu, alfadow)[source]¶
Bases:
NDMaterialBaseThe FSAM NDMaterial Class
This command is used to construct a nDMaterial FSAM (Fixed-Strut-Angle-Model, Figure 1, Kolozvari et al., 2015), which is a plane-stress constitutive model for simulating the behavior of RC panel elements under generalized, in-plane, reversed-cyclic loading conditions (Ulugtekin, 2010; Orakcal et al., 2012). In the FSAM constitutive model, the strain fields acting on concrete and reinforcing steel components of a RC panel are assumed to be equal to each other, implying perfect bond assumption between concrete and reinforcing steel bars. While the reinforcing steel bars develop uniaxial stresses under strains in their longitudinal direction, the behavior of concrete is defined using stress-strain relationships in biaxial directions, the orientation of which is governed by the state of cracking in concrete. Although the concrete stress-strain relationship used in the FSAM is fundamentally uniaxial in nature, it also incorporates biaxial softening effects including compression softening and biaxial damage. For transfer of shear stresses across the cracks, a friction-based elasto-plastic shear aggregate interlock model is adopted, together with a linear elastic model for representing dowel action on the reinforcing steel bars (Kolozvari, 2013). Note that FSAM constitutive model is implemented to be used with Shear-Flexure Interaction model for RC walls (SFI_MVLEM), but it could be also used elsewhere.
Initial method for FSAM
- Parameters
osi (o3seespy.OpenSeesInstance) –
rho (float) – Material density
s_x (obj) – Object of uniaxial_material simulating horizontal (x) reinforcement
s_y (obj) – Object of uniaxial_material simulating vertical (y) reinforcement
conc (obj) – Object of uniaxial_material simulating concrete, shall be used with uniaxial_material concretecm
rou_x (float) – Reinforcing ratio in horizontal (x) direction (
)rou_y (float) – Reinforcing ratio in vertical (x) direction (
)nu (float) – Concrete friction coefficient (
)alfadow (float) – Stiffness coefficient of reinforcement dowel action (
)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=3) >>> s_x = o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None) >>> s_y = o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None) >>> conc = o3.uniaxial_material.ConcreteCM(osi, fpcc=1.0, epcc=1.0, ec=1.0, rc=1.0, xcrn=1.0, ft=1.0, et=1.0, rt=1.0, xcrp=1.0, >>> gap_close=0) >>> o3.nd_material.FSAM(osi, rho=1.0, s_x=s_x, s_y=s_y, conc=conc, rou_x=1.0, rou_y=1.0, nu=1.0, alfadow=1.0)
- op_type = 'FSAM'¶
- class o3seespy.command.nd_material.standard.J2Plasticity(osi, k_mod, g_mod, sig0, sig_inf, delta, big_h)[source]¶
Bases:
NDMaterialBaseThe J2Plasticity NDMaterial Class
This command is used to construct an multi dimensional material object that has a von Mises (J2) yield criterium and isotropic hardening.
Initial method for J2Plasticity
- Parameters
osi (o3seespy.OpenSeesInstance) –
k_mod (float) – Bulk modulus
g_mod (float) – Shear modulus
sig0 (float) – Initial yield stress
sig_inf (float) – Final saturation yield stress
delta (float) – Exponential hardening parameter
big_h (float) – Linear hardening parameter
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.J2Plasticity(osi, k_mod=1.0, g_mod=1.0, sig0=1.0, sig_inf=1.0, delta=1.0, big_h=1.0)
- op_type = 'J2Plasticity'¶
- class o3seespy.command.nd_material.standard.ManzariDafalias(osi, g0, nu, e_init, m_c, c_c, lambda_c, e_0, ksi, p_atm, m_yield, h_0, c_h, n_b, a_0, n_d, z_max, c_z, den, int_scheme=1, tan_type=0, jaco_type=1, tol_f=1e-07, tol_r=1e-07)[source]¶
Bases:
NDMaterialBaseThe ManzariDafalias NDMaterial Class
This command is used to construct a multi-dimensional Manzari-Dafalias(2004) material.
Initial method for ManzariDafalias
Note: When in elastic mode the shear modulus is equal to the shear modulus at the atmospheric pressure
- Parameters
osi (o3seespy.OpenSeesInstance) –
g0 (float) – Shear modulus constant
nu (float) – Poisson ratio
e_init (float) – Initial void ratio
m_c (float) – Critical state stress ratio
c_c (float) – Ratio of critical state stress ratio in extension and compression
lambda_c (float) – Critical state line constant
e_0 (float) – Critical void ratio at p = 0
ksi (float) – Critical state line constant
p_atm (float) – Atmospheric pressure
m_yield (float) – Yield surface constant (radius of yield surface in stress ratio space)
h_0 (float) – Constant parameter
c_h (float) – Constant parameter
n_b (float) – Bounding surface parameter,

a_0 (float) – Dilatancy parameter
n_d (float) – Dilatancy surface parameter

z_max (float) – Fabric-dilatancy tensor parameter
c_z (float) – Fabric-dilatancy tensor parameter
den (float) – Mass density of the material
int_scheme (int, optional (default=1)) –
- Integration scheme type:
0 = Modified Euler constraining maximum energy increment (See Note 6)
1 = Modified Euler with error control
2 = Backward Euler (Implicit)
3 = Runge Kutta 4th order (inconsistent results to other methods - 3&6 produce same)
4 = Forward Euler constraining maximum energy increment (See Note 6)
5 = Forward Euler
6 = Runge-Kutta 4-th order constraining maximum energy increment (inconsistent results to other methods - 3&6 produce same)
7 = Not implemented. runs int_scheme=9. Modified Euler constraining maximum strain increment
8 = Not implemented. runs int_scheme=9. Runge-Kutta 4-th order constraining maximum strain increment
9 = Forward Euler constraining maximum energy increment
45 = Runge Kutta 45 with error control after Sloan [very slow]
- Notes:
To use implicit integration, int_scheme must be equal to 2
IS=3,6 - RK4 methods. produce same results under small time steps (diff to others)
IS=0,1 - Modified Euler methods. produce same results under small time steps and same as Backward Euler.
IS=4,5,9 - Forward Euler methods. produce same results under small time steps (diff to others)
The maximum strain increment is hardcoded as 1e-5
WARNING: The maximum energy increment is hardcoded as 1e-4 (not normalised, should use p_atm=101 (i.e. kPa)) also only does 2 substeps at half strain increment, if exceeds energy increment.
tan_type (int, optional (default=0)) –
- Tangent type:
0: Elastic Tangent
1: Contiuum ElastoPlastic Tangent
2: Consistent ElastoPlastic Tangent
jaco_type (int, optional (default=1)) –
- Jacobian type:
0: Finite Difference Jacobian
1: Analytical Jacobian
tol_f (float, optional (default=1.0e-7)) –
tol_r (float, optional (default=1.0e-7)) –
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.ManzariDafalias(osi, g0=111.0, nu=0.05, e_init=0.72, m_c=1.27, c_c=0.712, lambda_c=0.049, e_0=0.845, >>> ksi=0.27, p_atm=101.3, m_yield=0.01, h_0=5.95, c_h=1.01, n_b=2.0, a_0=1.06, n_d=1.17, z_max=4.0, c_z=600.0, rho=1.6)
- op_type = 'ManzariDafalias'¶
- class o3seespy.command.nd_material.standard.MultiaxialCyclicPlasticity(osi, rho, k_mod, g_mod, su, ho, h, m, beta, k_coeff)[source]¶
Bases:
NDMaterialBaseThe MultiaxialCyclicPlasticity NDMaterial Class
This command is used to construct an multiaxial Cyclic Plasticity model for clays
Initial method for MultiaxialCyclicPlasticity
- Parameters
osi (o3seespy.OpenSeesInstance) –
rho (float) – Density
k_mod (float) – Buck modulus
g_mod (float) – Maximum (small strain) shear modulus
su (float) – Undrained shear strength, size of bounding surface

ho (float) – Linear kinematic hardening modulus of bounding surface
h (float) – Hardening parameter
m (float) – Hardening parameter
beta (float) – Integration parameter, usually beta=0.5
k_coeff (float) – Coefficient of earth pressure, k0
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.MultiaxialCyclicPlasticity(osi, rho=1.0, k_mod=1.0, g_mod=1.0, su=1.0, ho=1.0, h=1.0, m=1.0, beta=1.0, k_coeff=1.0)
- property den¶
- op_type = 'MultiaxialCyclicPlasticity'¶
- class o3seespy.command.nd_material.standard.PM4Silt(osi, g_o, h_po, den, s_u=None, su_rat=None, su_factor=None, p_atm=None, nu=0.3, n_g=0.75, h0=None, e_init=0.9, lamb=0.06, phicv=32.0, nb_wet=0.8, nb_dry=0.5, nd=0.3, ado=0.8, ru_max=None, zmax=None, cz=100.0, ce=None, cgd=None, ckaf=4.0, m_m=0.01, cg_consol=2.0)[source]¶
Bases:
NDMaterialBaseThe PM4Silt NDMaterial Class
Code Developed by: Long Chen and pedro at U.Washington.This command is used to construct a 2-dimensional PM4Silt material.
Initial method for PM4Silt
- Parameters
osi (o3seespy.OpenSeesInstance) –
g_o (float) – Shear modulus constant
h_po (float) – Contraction rate parameter
s_u (float) – Undrained shear strength
su_rat (float) – Undrained shear strength ratio.
den (float) –
su_factor (float) –
p_atm (float) – Atmospheric pressure
nu (float) – Optional: poisson’s ratio. default value is 0.3.
n_g (float) – Optional: shear modulus exponent. default value is 0.75.
h0 (float) – Optional: variable that adjusts the ratio of plastic modulus to elastic modulus. default value is 0.5.
e_init (float) – Optional: initial void ratios. default value is 0.90.
lamb (float) – Optional: the slope of critical state line in e-ln(p) space. default value is 0.060.
phicv (float) – Optional: critical state effective friction angle. default value is 32 degrees.
nb_wet (float) – Optional: bounding surface parameter for loose of critical state conditions
. default value is 0.8. in cyclic loadingnb_dry (float) – Optional: bounding surface parameter for dense of critical state conditions
. default
value is 0.5.nd (float) – Optional: dilatancy surface parameter
. default value is 0.3.ado (float) – Optional: dilatancy parameter. default value is 0.8. with accumulation of fabric
ru_max (float) – Optional: maximum pore pressure ratio based on p’.
zmax (None) –
cz (float) – Optional: fabric-dilatancy tensor parameter. default value is 100.0.
ce (float) – Optional: variable that adjusts the rate of strain accumulation in cyclic loading
cgd (float) –
ckaf (float) – Optional: variable that controls the effect that sustained static shear stresses have on plastic modulus. default value is 4.0.
m_m (float) – Optional: yield surface constant (radius of yield surface in stress ratio space). default value is 0.01.
cg_consol (float) – Optional: reduction factor of elastic modulus for reconsolidation.
. default value
is 2.0.
- op_type = 'PM4Silt'¶
- class o3seespy.command.nd_material.standard.PlaneStrain(osi, mat3d)[source]¶
Bases:
NDMaterialBaseThe PlaneStrain NDMaterial Class
This command is used to construct a plane-stress material wrapper which converts any three-dimensional material into a plane strain material by imposing plain strain conditions on the three-dimensional material.
Initial method for PlaneStrain
- Parameters
osi (o3seespy.OpenSeesInstance) –
mat3d (obj) – Integer object of previously defined 3d ndmaterial material
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mat_3d = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0) >>> o3.nd_material.PlaneStrain(osi, mat3d=mat_3d)
- property den¶
- op_type = 'PlaneStrain'¶
- class o3seespy.command.nd_material.standard.PlaneStress(osi, mat3d)[source]¶
Bases:
NDMaterialBaseThe PlaneStress NDMaterial Class
This command is used to construct a plane-stress material wrapper which converts any three-dimensional material into a plane stress material via static condensation.
Initial method for PlaneStress
- Parameters
osi (o3seespy.OpenSeesInstance) –
mat3d (obj) – Object of perviously defined 3d ndmaterial material
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=3) >>> mat_3d = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0) >>> o3.nd_material.PlaneStress(osi, mat3d=mat_3d)
- property den¶
- op_type = 'PlaneStress'¶
- class o3seespy.command.nd_material.standard.PlateFiber(osi, three_d)[source]¶
Bases:
NDMaterialBaseThe PlateFiber NDMaterial Class
This command is used to construct a plate-fiber material wrapper which converts any three-dimensional material into a plate fiber material (by static condensation) appropriate for shell analysis.
Initial method for PlateFiber
- Parameters
osi (o3seespy.OpenSeesInstance) –
three_d (obj) – Material object for a previously-defined three-dimensional material
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=3) >>> mat = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0) >>> o3.nd_material.PlateFiber(osi, three_d=mat)
- op_type = 'PlateFiber'¶
- class o3seespy.command.nd_material.standard.StressDensity(osi, den, e_init, big_a, n, nu, a1, b1, a2, b2, a3, b3, fd, mu_0, mu_cyc, sc, big_m, p_atm, ssls=None, hsl=None, ps=None)[source]¶
Bases:
NDMaterialBaseInitial method for StressDensity
- Parameters
den (float) – Mass density
e_init (float) – Initial void ratio
big_a (float) – Constant for elastic shear modulus
n (float) – Pressure dependency exponent for elastic shear modulus
nu (float) – Poisson’s ratio
a1 (float) – Peak stress ratio coefficient (
)b1 (float) – Peak stress ratio coefficient (
)a2 (float) – Max shear modulus coefficient (
)b2 (float) – Max shear modulus coefficient (
)a3 (float) – Min shear modulus coefficient (
)b3 (float) – Min shear modulus coefficient (
)fd (float) – Degradation constant
mu_not (float) – Dilatancy coefficient (monotonic loading)
mu_cyc (float) – Dilatancy coefficient (cyclic loading)
sc (float) – Dilatancy strain
big_m (float) – Critical state stress ratio
patm (float) – Atmospheric pressure (in appropriate units)
ssls (listf) – Void ratio of quasi steady state (qss-line) at pressures [pmin, 10kpa, 30kpa, 50kpa, 100kpa, 200kpa, 400kpa] (default = [0.877, 0.877, 0.873, 0.870, 0.860, 0.850, 0.833])
hsl (float) – Void ratio of upper reference state (ur-line) for all pressures (default = 0.895)
p1 (float) – Pressure corresponding to ssl1 (default = 1.0 kpa)
- op_type = 'stressDensity'¶
Tsinghua_sand¶
- class o3seespy.command.nd_material.tsinghua_sand.CycLiqCP(osi, g0, kappa, h, mfc, dre1, mdc, dre2, gamma_dr, alpha, d_ir, e_init, den)[source]¶
Bases:
NDMaterialBaseThe CycLiqCP NDMaterial Class
This command is used to construct a multi-dimensional material object that that follows the constitutive behavior of a cyclic elastoplasticity model for large post- liquefaction deformation.CycLiqCP material is a cyclic elastoplasticity model for large post-liquefaction deformation, and is implemented using a cutting plane algorithm. The model is capable of reproducing small to large deformation in the pre- to post-liquefaction regime. The elastic moduli of the model are pressure dependent. The plasticity in the model is developed within the framework of bounding surface plasticity, with special consideration to the formulation of reversible and irreversible dilatancy.The model does not take into consideration of the state of sand, and requires different parameters for sand under different densities and confining pressures. The surfaces (i.e. failure and maximum pre-stress) are considered as circles in the pi plane.The model has been validated against VELACS centrifuge model tests and has used on numerous simulations of liquefaction related problems.When this material is employed in regular solid elements (e.g., FourNodeQuad, Brick), it simulates drained soil response. When solid-fluid coupled elements (u-p elements and SSP u-p elements) are used, the model is able to simulate undrained and partially drained behavior of soil.
Initial method for CycLiqCP
Notes
Units are in kPa. E.g. atmospheric pressure is hard coded as 101 kPa.
- Parameters
osi (o3seespy.OpenSeesInstance) –
g0 (float) – A constant related to elastic shear modulus
kappa (float) – Bulk modulus
h (float) – Model parameter for plastic modulus
mfc (float) – Stress ratio at failure in triaxial compression
dre1 (float) – Coefficient for reversible dilatancy generation
mdc (float) – Stress ratio at which the reversible dilatancy sign changes
dre2 (float) – Coefficient for reversible dilatancy release
gamma_dr (float) – Reference shear strain length
alpha (float) – Parameter controlling the decrease rate of irreversible dilatancy
d_ir (float) – Coefficient for irreversible dilatancy potential
e_init (float) – Initial void ratio
den (float) – Saturated mass density
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.CycLiqCP(osi, g0=1.0, kappa=1.0, h=1.0, mfc=1.0, dre1=1.0, mdc=1.0, dre2=1.0, gamma_dr=1.0, alpha=1.0, d_ir=1.0, e_init=1.0, den=1.0)
- op_type = 'CycLiqCP'¶
- class o3seespy.command.nd_material.tsinghua_sand.CycLiqCPSP(osi, g0, kappa, h, big_m, dre1, dre2, gamma_dr, alpha, d_ir, lambda_c, ksi, e_0, n_p, n_d, e_init, den)[source]¶
Bases:
NDMaterialBaseThe CycLiqCPSP NDMaterial Class
This command is used to construct a multi-dimensional material object that that follows the constitutive behavior of a cyclic elastoplasticity model for large post- liquefaction deformation.CycLiqCPSP material is a constitutive model for sand with special considerations for cyclic behaviour and accumulation of large post-liquefaction shear deformation, and is implemented using a cutting plane algorithm. The model: (1) achieves the simulation of post-liquefaction shear deformation based on its physics, allowing the unified description of pre- and post-liquefaction behavior of sand; (2) directly links the cyclic mobility of sand with reversible and irreversible dilatancy, enabling the unified description of monotonic and cyclic loading; (3) introduces critical state soil mechanics concepts to achieve unified modelling of sand under different states.The critical, maximum stress ratio and reversible dilatancy surfaces follow a rounded triangle in the pi plane similar to the Matsuoka-Nakai criterion.When this material is employed in regular solid elements (e.g., FourNodeQuad, Brick), it simulates drained soil response. When solid-fluid coupled elements (u-p elements and SSP u-p elements) are used, the model is able to simulate undrained and partially drained behavior of soil.
Initial method for CycLiqCPSP
- Parameters
osi (o3seespy.OpenSeesInstance) –
g0 (float) – A constant related to elastic shear modulus
kappa (float) – Bulk modulus
h (float) – Model parameter for plastic modulus
big_m (float) – Critical state stress ratio
dre1 (float) – Coefficient for reversible dilatancy generation
dre2 (float) – Coefficient for reversible dilatancy release
gamma_dr (float) – Reference shear strain length (gamma_d,r)
alpha (float) – Parameter controlling the decrease rate of irreversible dilatancy
d_ir (float) – Coefficient for irreversible dilatancy potential
lambda_c (float) – Critical state constant
ksi (float) – Critical state constant
e_0 (float) – Void ratio at pc=0
n_p (float) – Material constant for peak mobilized stress ratio
n_d (float) – Material constant for reversible dilatancy generation stress ratio
e_init (float) – Initial void ratio
den (float) – Saturated mass density
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.nd_material.CycLiqCPSP(osi, g0=200, kappa=0.008, h=1.8, big_m=1.25, dre1=0.6, dre2=30, gamma_dr=0.05, >>> alpha=20, d_ir=1.4, lambda_c=0.019, ksi=0.7, e_0=0.934, n_p=1.1, n_d=7.8, e_init=0.87, den=1.6)
- op_type = 'CycLiqCPSP'¶
UC San Diego soil¶
- class o3seespy.command.nd_material.uc_san_diego_soil.PressureDependMultiYield(osi, nd, rho, g_mod_ref, bulk_mod_ref, phi, peak_strain, p_ref, d, pt_ang, con_rate, dil_rates, liquefac, n_surf=20.0, strains=None, ratios=None, e_init=0.6, cs_params=None, c=0.3)[source]¶
Bases:
NDMaterialBaseThe PressureDependMultiYield NDMaterial Class
PressureDependMultiYield material is an elastic-plastic material for simulating the essential response characteristics of pressure sensitive soil materials under general loading conditions. Such characteristics include dilatancy (shear-induced volume contraction or dilation) and non-flow liquefaction (cyclic mobility), typically exhibited in sands or silts during monotonic or cyclic loading.
Initial method for PressureDependMultiYield
osi: o3seespy.OpenSeesInstance nd: int
Number of dimensions, 2 for plane-strain, and 3 for 3d analysis.
- rho: float
Saturated soil mass density.
- g_mod_ref, float
(
) Reference low-strain shear modulus,
specified at a reference mean effective confining pressure (p_ref).
- bulk_mod_ref: float
(
) Reference bulk modulus,
specified at a reference mean effective confining pressure (p_ref)).- phi: float
(
) friction angle at peak shear strength in degrees, optional (default is 0.0).- peak_strain: float
(
) An octahedral shear strain at
which the maximum shear strength is reached,
specified at a reference mean effective confining
pressure refPress of p’r (see below).- p_ref: float
(
) reference mean effective confining pressure at which
,
, and
are defined, optional (default is 100. kpa).- d: float
(
) a positive constant defining variations of
and
as a function of
instantaneous effective confinement
(default is 0.0)
if
,
is reset to 0.0.- pt_ang: float
(
) phase transformation angle, in degrees.- con_rate: float
A non-negative constant defining the rate of shear-induced volume decrease (contraction) or pore pressure buildup. a larger value corresponds to faster contraction rate.
- dil_rates: list
Non-negative constants defining the rate of shear-induced volume increase (dilation). larger values correspond to stronger dilation rate.
dil_rates = [dilat1, dilat2].- liquefac: list
Parameters controlling the mechanism of liquefaction-induced perfectly plastic shear strain accumulation, i.e., cyclic mobility. set
liquefac[0] = 0to deactivate this mechanism altogether.liquefac[0]defines the effective confining pressure (e.g., 10 kpa in si units or 1.45 psi in english units) below which the mechanism is in effect. smaller values should be assigned to denser sands.liquefac[1]defines the maximum amount of perfectly plastic shear strain developed at zero effective confinement during each loading phase. smaller values should be assigned to denser sands.liquefac[2]defines the maximum amount of biased perfectly plastic shear strain
accumulated at each loading phase under biased
shear loading conditions, as
. typically,
takes a value between 0.0 and 3.0. smaller values should be
assigned to denser sands. see the references listed at the end of this chapter for more information.- n_surf: int, optional
Number of yield surfaces, optional (must be less than 40, default is 20). the surfaces are generated based on the hyperbolic relation defined in note 2 below.
- strains: list
Instead of automatic surfaces generation, you can define yield surfaces directly based on desired shear modulus reduction curve. provide a list of shear strains and corresponding shear modulus reduction ratios (ratios)
- ratios: list
Instead of automatic surfaces generation, you can define yield surfaces directly based on desired shear modulus reduction curve. provide a list of shear strains and corresponding shear modulus reduction ratios (ratios)
- e_init: float, optional
Initial void ratio, optional (default is 0.6).
- cs_params: list (default=[0.9, 0.02, 0.7, 101.0]), optional
params=[cs1, cs2, cs3, pa]defining a straight critical-state line ec in e-p’ space. if cs3=0, ec = cs1-cs2 log(p’/pa) else (li and wang, jgge, 124(12)), ec = cs1-cs2(p’/pa)cs3 where pa is atmospheric pressure for normalization (typically 101 kpa in si units, or 14.65 psi in english units). all four constants are optional- c: float, optional
Numerical constant (default value = 0.3 kPa)
- property den¶
- property nu¶
- op_type = 'PressureDependMultiYield'¶
- class o3seespy.command.nd_material.uc_san_diego_soil.PressureDependMultiYield02(osi, nd, rho, g_mod_ref, bulk_mod_ref, phi, peak_strain, p_ref, d, pt_ang, con_rates, dil_rates, liquefac=(1.0, 0.0), n_surf=20.0, strains=None, ratios=None, e_init=0.6, cs_params=None, c=0.1)[source]¶
Bases:
NDMaterialBaseThe PressureDependMultiYield02 NDMaterial Class
PressureDependMultiYield02 material is modified from PressureDependMultiYield material, with:#. additional parameters (
contrac[2]anddilat[2]) to account for
effect,#. a parameter to
account for the influence of previous dilation history on subsequent contraction phase
(contrac[1]), and#. modified logic related to permanent shear strain accumulation (liquefac[0]andliquefac[1]).Initial method for PressureDependMultiYield02
osi: o3seespy.OpenSeesInstance nd: int
Number of dimensions, 2 for plane-strain, and 3 for 3d analysis.
- rho: float
Saturated soil mass density.
- g_mod_ref, float
(
) Reference low-strain shear modulus,
specified at a reference mean effective confining pressure (p_ref).
- bulk_mod_ref: float
(
) Reference bulk modulus,
specified at a reference mean effective confining pressure (p_ref)).- phi: float
(
) friction angle at peak shear strength in degrees, optional (default is 0.0).- peak_strain: float
(
) An octahedral shear strain at
which the maximum shear strength is reached,
specified at a reference mean effective confining
pressure refPress of p’r (see below).- p_ref: float
(
) reference mean effective confining pressure at which
,
, and
are defined, optional (default is 100. kpa).- d: float
(
) a positive constant defining variations of
and
as a function of
instantaneous effective confinement
(default is 0.0)
if
,
is reset to 0.0.- pt_ang: float
(
) phase transformation angle, in degrees.- con_rates: list
- A list of constants defining contraction behaviour [contrac1, contrac2, contrac3].
contrac1: non-negative constant defining the rate of shear-induced volume decrease (contraction) or pore pressure buildup. a larger value corresponds to faster contraction rate. contrac2: A non-negative constant reflecting dilation history on contraction tendency. contrac3: A non-negative constant reflecting Kσ effect.
- dil_rates: list
A list of constants defining contraction behaviour [dilat1, dilat2, dilat3]. dilat1 and dilat2: Non-negative constants defining the rate of shear-induced volume increase (dilation). larger values correspond to stronger dilation rate. dilat3: A non-negative constant reflecting Kσ effect.
- liquefac: list
Parameters controlling the mechanism of liquefaction-induced perfectly plastic shear strain accumulation, i.e., cyclic mobility. [liquefac1, liquefac2]. NOTE: Different from PressureDependMultiYield. liquefac1: Damage parameter to define accumulated permanent shear strain as a function of dilation history. liquefac2: Damage parameter to define biased accumulation of permanent shear strain as a function of load reversal history.
- n_surf: int, optional
Number of yield surfaces, optional (must be less than 40, default is 20). the surfaces are generated based on the hyperbolic relation defined in note 2 below.
- strains: list
Instead of automatic surfaces generation, you can define yield surfaces directly based on desired shear modulus reduction curve. provide a list of shear strains and corresponding shear modulus reduction ratios (ratios)
- ratios: list
Instead of automatic surfaces generation, you can define yield surfaces directly based on desired shear modulus reduction curve. provide a list of shear strains and corresponding shear modulus reduction ratios (ratios)
- e_init: float, optional
Initial void ratio, optional (default is 0.6).
- cs_params: list (default=[0.9, 0.02, 0.7, 101.0]), optional
params=[cs1, cs2, cs3, pa]defining a straight critical-state line ec in e-p’ space. if cs3=0, ec = cs1-cs2 log(p’/pa) else (li and wang, jgge, 124(12)), ec = cs1-cs2(p’/pa)cs3 where pa is atmospheric pressure for normalization (typically 101 kpa in si units, or 14.65 psi in english units). all four constants are optional- c: float, optional
Numerical constant (default value = 0.1 kPa)
- property den¶
- property nu¶
- op_type = 'PressureDependMultiYield02'¶
- class o3seespy.command.nd_material.uc_san_diego_soil.PressureDependMultiYield03(osi, nd, rho, ref_shear_modul, ref_bulk_modul, friction_ang, peak_shear_stra, ref_press, press_depend_coe, pt_ang, ca, cb, cc, cd, ce, da, db, dc, no_yield_surf=20.0, yield_surf: Optional[float] = None, liquefac1=1, liquefac2=0.0, pa=101, s0=1.73)[source]¶
Bases:
NDMaterialBaseThe PressureDependMultiYield03 NDMaterial Class
The reference for PressureDependMultiYield03 material: Khosravifar, A., Elgamal, A., Lu, J., and Li, J. [2018]. “A 3D model for earthquake-induced liquefaction triggering and post-liquefaction response.” Soil Dynamics and Earthquake Engineering, 110, 43-52)PressureDependMultiYield03 is modified from PressureDependMultiYield02 material to comply with the established guidelines on the dependence of liquefaction triggering to the number of loading cycles, effective overburden stress (Kσ), and static shear stress (Kα).The explanations of parametersSee notes
Initial method for PressureDependMultiYield03
- Parameters
osi (o3seespy.OpenSeesInstance) –
nd (None) –
rho (None) –
ref_shear_modul (None) –
ref_bulk_modul (None) –
friction_ang (None) –
peak_shear_stra (None) –
ref_press (None) –
press_depend_coe (None) –
pt_ang (None) –
ca (None) –
cb (None) –
cc (None) –
cd (None) –
ce (None) –
da (None) –
db (None) –
dc (None) –
no_yield_surf (None, optional) –
yield_surf (None (default=True), optional) –
liquefac1 (None, optional) –
liquefac2 (None, optional) –
pa (None, optional) –
s0 (None, optional) –
- property den¶
- op_type = 'PressureDependMultiYield03'¶
- class o3seespy.command.nd_material.uc_san_diego_soil.PressureIndependMultiYield(osi, nd, rho, g_mod_ref, bulk_mod_ref, cohesion, peak_strain, phi=0.0, p_ref=100.0, d=0.0, n_surf=20, strains=None, ratios=None)[source]¶
Bases:
NDMaterialBasePressureIndependMultiYield material
- matTag: int
integer tag identifying material
- nd: float
Number of dimensions, 2 for plane-strain, and 3 for 3D analysis.
- rho: float
Saturated soil mass density.
- g_mod_ref, float
(
) Reference low-strain shear modulus,
specified at a reference mean effective confining pressure (p_ref).- bulk_mod_ref: float
(
) Reference bulk modulus,
specified at a reference mean effective confining pressure (p_ref)).- cohesion: float
(
) Apparent cohesion at zero effective confinement.- peak_strain: float
(
) An octahedral shear strain at
which the maximum shear strength is reached,
specified at a reference mean effective confining
pressure refPress of p’r (see below).- phi: float
(
) Friction angle at peak shear
strength in degrees, optional (default is 0.0).- p_ref: float
- (
) Reference mean effective confining pressure at which
,
, and
are defined, optional (default is 100. kPa).
- (
- d: float
- (
) A positive constant defining variations - of
and
as a function of instantaneous effective confinement
(default is 0.0)

If
,
is reset to 0.0.
- of
- (
- n_surf: float, optional
Number of yield surfaces, optional (must be less than 40, default is 20). The surfaces are generated based on the hyperbolic relation.
- strains: list
Instead of automatic surfaces generation, you can define yield surfaces directly based on desired shear modulus reduction curve. provide a list of shear strains and corresponding shear modulus reduction ratios (ratios)
- ratios: list
Instead of automatic surfaces generation, you can define yield surfaces directly based on desired shear modulus reduction curve. provide a list of shear strains and corresponding shear modulus reduction ratios (ratios)
- property den¶
- property nu¶
- op_type = 'PressureIndependMultiYield'¶
UC San Diego UD soil¶
- class o3seespy.command.nd_material.uc_san_diego_ud_soil.FluidSolidPorous(osi, nd, soil_mat, combined_bulk_modul, pa=101.0)[source]¶
Bases:
NDMaterialBaseThe FluidSolidPorous NDMaterial Class
FluidSolidPorous material couples the responses of two phases: fluid and solid. The fluid phase response is only volumetric and linear elastic. The solid phase can be any NDMaterial. This material is developed to simulate the response of saturated porous media under fully undrained condition.
Initial method for FluidSolidPorous
- Parameters
osi (o3seespy.OpenSeesInstance) –
nd (float) – Number of dimensions, 2 for plane-strain, and 3 for 3d analysis.
soil_mat (obj) – The material number for the solid phase material (previously defined).
combined_bulk_modul (float) – Combined undrained bulk modulus
relating changes in pore pressure and volumetric strain, may be
approximated by:
where
is the bulk modulus of fluid phase (2.2x106 kpa (or
3.191x105 psi) for water), and
the initial porosity.pa (float, optional) – Optional atmospheric pressure for normalization (typically 101 kpa in si units, or 14.65 psi in english units)
- op_type = 'FluidSolidPorous'¶
Wrapper¶
- class o3seespy.command.nd_material.wrapper.InitStrainNDMaterial(osi, other, init_strain, n_dim)[source]¶
Bases:
NDMaterialBaseThe InitStrainNDMaterial NDMaterial Class
This command is used to construct an Initial Strain material object. The stress-strain behaviour for this material is defined by another material. Initial Strain Material enables definition of initial strains for the material under consideration. The stress that corresponds to the initial strain will be calculated from the other material.
Initial method for InitStrainNDMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – Object of the other material
init_strain (float) – Initial strain
n_dim (float) – Number of dimensions
- op_type = 'InitStrainNDMaterial'¶
- class o3seespy.command.nd_material.wrapper.InitStressNDMaterial(osi, other, init_stress, n_dim)[source]¶
Bases:
NDMaterialBaseThe InitStressNDMaterial NDMaterial Class
This command is used to construct an Initial Stress material object.The stress-strain behaviour for this material is defined by another material.Initial Stress Material enables definition of initial stress for the material under consideration.The strain that corresponds to the initial stress will be calculated from the other material.
Initial method for InitStressNDMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – Object of the other material
init_stress (float) – Initial stress
n_dim (int) – Number of dimensions (e.g. if plane strain ndim=2)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mat = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0) >>> o3.nd_material.InitStressNDMaterial(osi, other=mat, init_stress=1.0, n_dim=2)
- op_type = 'InitStressNDMaterial'¶
- class o3seespy.command.nd_material.wrapper.InitialStateAnalysisWrapper(osi, n_d_mat, n_dim)[source]¶
Bases:
NDMaterialBaseThe InitialStateAnalysisWrapper NDMaterial Class
The InitialStateAnalysisWrapper nDMaterial allows for the use of the InitialStateAnalysis command for setting initial conditions. The InitialStateAnalysisWrapper can be used with any nDMaterial. This material wrapper allows for the development of an initial stress field while maintaining the original geometry of the problem. An example analysis is provided below to demonstrate the use of this material wrapper object.
Initial method for InitialStateAnalysisWrapper
- Parameters
osi (o3seespy.OpenSeesInstance) –
n_d_mat (obj) – The object of the associated ndmaterial object
n_dim (int) – Number of dimensions (2 for 2d, 3 for 3d)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mat = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0) >>> o3.nd_material.InitialStateAnalysisWrapper(osi, n_d_mat=mat, n_dim=1)
- op_type = 'InitialStateAnalysisWrapper'¶