o3seespy.uniaxial_material¶
base_material¶
Concrete¶
- class o3seespy.command.uniaxial_material.concrete.Concrete01(osi, fpc, epsc0, fpcu, eps_u)[source]¶
Bases:
UniaxialMaterialBaseThe Concrete01 UniaxialMaterial Class
This command is used to construct a uniaxial Kent-Scott-Park concrete material object with degraded linear unloading/reloading stiffness according to the work of Karsan-Jirsa and no tensile strength. (REF: Fedeas).
Initial method for Concrete01
- Parameters
osi (o3seespy.OpenSeesInstance) –
fpc (float) – Concrete compressive strength at 28 days (compression is negative)
epsc0 (float) – Concrete strain at maximum strength
fpcu (float) – Concrete crushing strength
eps_u (float) – Concrete strain at crushing strength
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Concrete01(osi, fpc=1.0, epsc0=1.0, fpcu=1.0, eps_u=1.0)
- op_type = 'Concrete01'¶
- class o3seespy.command.uniaxial_material.concrete.Concrete01WithSITC(osi, fpc, epsc0, fpcu, eps_u, end_strain_sitc=0.01)[source]¶
Bases:
UniaxialMaterialBaseThe Concrete01WithSITC UniaxialMaterial Class
This command is used to construct a modified uniaxial Kent-Scott-Park concrete material object with degraded linear unloading/reloading stiffness according to the work of Karsan-Jirsa and no tensile strength. The modification is to model the effect of Stuff In The Cracks (SITC).
Initial method for Concrete01WithSITC
- Parameters
osi (o3seespy.OpenSeesInstance) –
fpc (float) – Concrete compressive strength at 28 days (compression is negative)
epsc0 (float) – Concrete strain at maximum strength
fpcu (float) – Concrete crushing strength
eps_u (float) – Concrete strain at crushing strength
end_strain_sitc (float, optional) – Optional, default = 0.03
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Concrete01WithSITC(osi, fpc=1.0, epsc0=1.0, fpcu=1.0, eps_u=1.0, end_strain_sitc=0.01)
- op_type = 'Concrete01WithSITC'¶
- class o3seespy.command.uniaxial_material.concrete.Concrete02(osi, fpc, epsc0, fpcu, eps_u, lamb, ft, ets)[source]¶
Bases:
UniaxialMaterialBaseThe Concrete02 UniaxialMaterial Class
This command is used to construct a uniaxial Kent-Scott-Park concrete material object with degraded linear unloading/reloading stiffness according to the work of Karsan-Jirsa and no tensile strength. (REF: Fedeas).
Initial method for Concrete02
- Parameters
osi (o3seespy.OpenSeesInstance) –
fpc (float) – Concrete compressive strength at 28 days (compression is negative)
epsc0 (float) – Concrete strain at maximum strength
fpcu (float) – Concrete crushing strength
eps_u (float) – Concrete strain at crushing strength
lamb (float) – Ratio between unloading slope at $epscu and initial slope
ft (float) – Tensile strength
ets (float) – Tension softening stiffness (absolute value) (slope of the linear tension softening branch)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Concrete02(osi, fpc=1.0, epsc0=1.0, fpcu=1.0, eps_u=1.0, lamb=1.0, ft=1.0, ets=1.0)
- op_type = 'Concrete02'¶
- class o3seespy.command.uniaxial_material.concrete.Concrete04(osi, fc, epsc, epscu, ec, fct, et, beta=None)[source]¶
Bases:
UniaxialMaterialBaseThe Concrete04 UniaxialMaterial Class
This command is used to construct a uniaxial Popovics concrete material object with degraded linear unloading/reloading stiffness according to the work of Karsan-Jirsa and tensile strength with exponential decay.
Initial method for Concrete04
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Floating point values defining concrete compressive strength at 28 days (compression is negative)
epsc (float) – Floating point values defining concrete strain at maximum strength
epscu (float) – Floating point values defining concrete strain at crushing strength
ec (float) – Floating point values defining initial stiffness
fct (float) – Floating point value defining the maximum tensile strength of concrete
et (float) – Floating point value defining ultimate tensile strain of concrete
beta (float) – Floating point value defining the exponential curve parameter to define the residual stress (as a factor of ft) at etu
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Concrete04(osi, fc=1.0, epsc=1.0, epscu=1.0, ec=1.0, fct=1.0, et=1.0, beta=1.0)
- op_type = 'Concrete04'¶
- class o3seespy.command.uniaxial_material.concrete.Concrete06(osi, fc, e0, n, k, alpha1, fcr, ecr, b, alpha2)[source]¶
Bases:
UniaxialMaterialBaseThe Concrete06 UniaxialMaterial Class
This command is used to construct a uniaxial concrete material object with tensile strength, nonlinear tension stiffening and compressive behavior based on Thorenfeldt curve.
Initial method for Concrete06
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength (compression is negative)
e0 (float) – Strain at compressive strength
n (float) – Compressive shape factor
k (float) – Post-peak compressive shape factor
alpha1 (float) –
parameter for compressive plastic strain definitionfcr (float) – Tensile strength
ecr (float) – Tensile strain at peak stress (fcr)
b (float) – Exponent of the tension stiffening curve
alpha2 (float) –
parameter for tensile plastic strain definition
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Concrete06(osi, fc=1.0, e0=1.0, n=1.0, k=1.0, alpha1=1.0, fcr=1.0, ecr=1.0, b=1.0, alpha2=1.0)
- op_type = 'Concrete06'¶
- class o3seespy.command.uniaxial_material.concrete.Concrete07(osi, fc, epsc, ec, ft, et, xp, xn, r)[source]¶
Bases:
UniaxialMaterialBaseThe Concrete07 UniaxialMaterial Class
Concrete07 is an implementation of Chang & Mander’s 1994 concrete model with simplified unloading and reloading curves. Additionally the tension envelope shift with respect to the origin proposed by Chang and Mander has been removed. The model requires eight input parameters to define the monotonic envelope of confined and unconfined concrete in the following form:
Initial method for Concrete07
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength (compression is negative)
epsc (float) – Concrete strain at maximum compressive strength
ec (float) – Initial elastic modulus of the concrete
ft (float) – Tensile strength of concrete (tension is positive)
et (float) – Tensile strain at max tensile strength of concrete
xp (float) – Non-dimensional term that defines the strain at which the straight line descent begins in tension
xn (float) – Non-dimensional term that defines the strain at which the straight line descent begins in compression
r (float) – Parameter that controls the nonlinear descending branch
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Concrete07(osi, fc=1.0, epsc=1.0, ec=1.0, ft=1.0, et=1.0, xp=1.0, xn=1.0, r=1.0)
- op_type = 'Concrete07'¶
- class o3seespy.command.uniaxial_material.concrete.ConcreteCM(osi, fpcc, epcc, ec, rc, xcrn, ft, et, rt, xcrp, gap_close: Optional[float] = None)[source]¶
Bases:
UniaxialMaterialBaseThe ConcreteCM UniaxialMaterial Class
This command is used to construct a uniaxialMaterial ConcreteCM (Kolozvari et al., 2015), which is a uniaxial hysteretic constitutive model for concrete developed by Chang and Mander (1994).
Initial method for ConcreteCM
- Parameters
osi (o3seespy.OpenSeesInstance) –
fpcc (float) – Compressive strength (
)epcc (float) – Strain at compressive strength (
)ec (float) – Initial tangent modulus (
)rc (float) – Shape parameter in tsai’s equation defined for compression (
)xcrn (float) – Non-dimensional critical strain on compression envelope (
, where the envelope curve
starts following a straight line)ft (float) – Tensile strength (
)et (float) – Strain at tensile strength (
)rt (float) – Shape parameter in tsai’s equation defined for tension (
)xcrp (float) – Non-dimensional critical strain on tension envelope (
, where the envelope curve
starts following a straight line - large value [e.g., 10000] recommended when tension stiffening is considered)mon (int) – optional, monotonic stress-strain relationship only: mon=1 (invoked in FSAM only), mon=0 (no impact since monotonic)
gap_close (float, optional) – Optional, gapclose = 0, less gradual gap closure (default); gapclose = 1, more gradual gap closure
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> 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)
- op_type = 'ConcreteCM'¶
- class o3seespy.command.uniaxial_material.concrete.ConcreteD(osi, fc, epsc, ft, epst, ec, alphac, alphat, cesp=0.25, etap=1.15)[source]¶
Bases:
UniaxialMaterialBaseThe ConcreteD UniaxialMaterial Class
This command is used to construct a concrete material based on the Chinese design code.
Initial method for ConcreteD
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength
epsc (float) – Concrete strain at corresponding to compressive strength
ft (float) – Concrete tensile strength
epst (float) – Concrete strain at corresponding to tensile strength
ec (float) – Concrete initial elastic modulus
alphac (float) – Compressive descending parameter
alphat (float) – Tensile descending parameter
cesp (float, optional) – Plastic parameter, recommended values: 0.2~0.3
etap (float, optional) – Plastic parameter, recommended values: 1.0~1.3
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ConcreteD(osi, fc=1.0, epsc=1.0, ft=1.0, epst=1.0, ec=1.0, alphac=1.0, alphat=1.0, cesp=0.25, etap=1.15)
- op_type = 'ConcreteD'¶
- class o3seespy.command.uniaxial_material.concrete.ConfinedConcrete01(osi, sec_type, fpc, ec, epscu_type, epscu_val, nu, l1, l2, l3, phis, big_s, fyh, es0, ha_ratio, mu, phi_lon, internal_args: Optional[list] = None, wrap_args: Optional[list] = None, gravel=False, silica=False, tol: Optional[float] = None, max_num_iter: Optional[int] = None, epscu_limit: Optional[float] = None, st_ratio=None)[source]¶
Bases:
UniaxialMaterialBaseThe ConfinedConcrete01 UniaxialMaterial Class
Initial method for ConfinedConcrete01
- Parameters
osi (o3seespy.OpenSeesInstance) –
sec_type (str) – Object for the transverse reinforcement configuration. see image below.
fpc (float) – Unconfined cylindrical strength of concrete specimen.
ec (float) – Initial elastic modulus of unconfined concrete.
epscu_type (str) – Method to define confined concrete ultimate strain strain to the peak strength of the confined concrete in the range [0, epsculimit] then epsculimit (optional, default: 0.05) will be assumed as ultimate strain.
epscu_val (float) – Value for the definition of the concrete ultimate strain
nu (str) – Or |list| definition for poisson’s ratio. -
['-nu', <value of poisson's ratio>]strain by means of the expression proposed by braga et al. (2006) with the upper bound equal to 0.5 strain by means of the expression proposed by braga et al. (2006) without any upper bound.l1 (float) – Length/diameter of square/circular core section measured respect to the hoop center line.
l2 (float) – Additional dimensions when multiple hoops are being used.
l3 (float) – Additional dimensions when multiple hoops are being used.
phis (float) – Hoop diameter. if section arrangement has multiple hoops it refers to the external hoop.
big_s (float) – Hoop spacing.
fyh (float) – Yielding strength of the hoop steel.
es0 (float) – Elastic modulus of the hoop steel.
ha_ratio (float) – Hardening ratio of the hoop steel.
mu (float) – Ductility factor of the hoop steel.
phi_lon (float) – Diameter of longitudinal bars.
internal_args (list, optional) –
internalargs= [phisi, si, fyhi, es0i, haratioi, mui]optional parameters for defining the internal transverse reinforcement. if they are not specified they will be assumed equal to the external oneswrap_args (list, optional) –
wrapargs=[cover, am, sw, ful, es0w]optional parameters required when section is strengthened with frp wraps.gravel (bool) – Unknown
silica (bool) – Unknown
tol (float, optional) – Unknown
max_num_iter (int, optional) – Unknown
epscu_limit (float, optional) – Unknown
st_ratio (None, optional) –
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ConfinedConcrete01(osi, sec_type='R', fpc=1.0, ec=1.0, epscu_type=1, epscu_val=1.0, nu=1, l1=1.0, l2=1.0, l3=1.0, phis=1.0, big_s=1.0, fyh=1.0, es0=1.0, ha_ratio=1.0, mu=1.0, phi_lon=1.0, gravel=1, tol=1.0, max_num_iter=1, epscu_limit=1.0, st_ratio=1)
- op_type = 'ConfinedConcrete01'¶
- class o3seespy.command.uniaxial_material.concrete.FRPConfinedConcrete(osi, fpc1, fpc2, epsc0, big_d, c, ej, sj, tj, eju, big_s, fyl, fyh, dlong, dtrans, es, nu0, k, use_buck)[source]¶
Bases:
UniaxialMaterialBaseThe FRPConfinedConcrete UniaxialMaterial Class
This command is used to construct a uniaxial Megalooikonomou-Monti-Santini concrete material object with degraded linear unloading/reloading stiffness according to the work of Karsan-Jirsa and no tensile strength.
Initial method for FRPConfinedConcrete
- Parameters
osi (o3seespy.OpenSeesInstance) –
fpc1 (float) – Concrete core compressive strength.
fpc2 (float) – Concrete cover compressive strength.
epsc0 (float) – Strain corresponding to unconfined concrete strength.
big_d (float) – Diameter of the circular section.
c (float) – Dimension of concrete cover (until the outer edge of steel stirrups)
ej (float) – Elastic modulus of the fiber reinforced polymer (frp) jacket.
sj (float) – Clear spacing of the frp strips - zero if frp jacket is continuous.
tj (float) – Total thickness of the frp jacket.
eju (float) – Rupture strain of the frp jacket from tensile coupons.
big_s (float) – Spacing of the steel spiral/stirrups.
fyl (float) – Yielding strength of longitudinal steel bars.
fyh (float) – Yielding strength of the steel spiral/stirrups.
dlong (float) – Diameter of the longitudinal bars of the circular section.
dtrans (float) – Diameter of the steel spiral/stirrups.
es (float) – Elastic modulus of steel.
nu0 (float) – Initial poisson’s coefficient for concrete.
k (float) – Reduction factor for the rupture strain of the frp jacket, recommended values 0.5-0.8.
use_buck (float) –
- Frp jacket failure criterion due to buckling of longitudinal compressive steel bars (0 = not
include it, 1= to include it).
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.FRPConfinedConcrete(osi, fpc1=1.0, fpc2=1.0, epsc0=1.0, big_d=1.0, c=1.0, ej=1.0, sj=1.0, tj=1.0, eju=1.0, big_s=1.0, fyl=1.0, fyh=1.0, dlong=1.0, dtrans=1.0, es=1.0, nu0=1.0, k=1.0, use_buck=1.0)
- op_type = 'FRPConfinedConcrete'¶
- class o3seespy.command.uniaxial_material.concrete.FRPConfinedConcrete02JacketC(osi, fc0, ec, ec0, tfrp, efrp, erup, big_r)[source]¶
Bases:
UniaxialMaterialBaseThe FRPConfinedConcrete02JacketC UniaxialMaterial Class
DEVELOPED AND IMPLEMENTED BY:| Jin-Yu LU, Southeast University, Nanjing, China| Guan LIN (guanlin@polyu.edu.hk),Hong Kong Polytechnic University, Hong Kong, China.
Figure 1 Hysteretic Stress-Strain Relation.. image:: /_static/FRPConfinedConcrete02/Figure1.pngThis command is used to construct a uniaxial hysteretic stress-strain model for fiber-reinforced polymer (FRP)-confined concrete. The envelope compressive stress-strain response is described by a parabolic first portion and a linear second portion with smooth connection between them (Figure 1). The hysteretic rules of compression are based on Lam and Teng’s (2009) model. The cyclic linear tension model of Yassin (1994) for unconfined concrete (as adopted in Concrete02) is used with slight modifications to describe the tensile behavior of FRP-confined concrete (Teng et al. 2015).
Initial method for FRPConfinedConcrete02JacketC
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc0 (float) – Compressive strength of unconfined concrete (compression is negative)
ec (float) – Elastic modulus of unconfined concrete (=4730√(-$fc0(mpa)))
ec0 (float) – Axial strain corresponding to unconfined concrete strength (≈ 0.002)
tfrp (float) – Thickness of an frp jacket
efrp (float) – Tensile elastic modulus of an frp jacket
erup (float) – Hoop rupture strain of an frp jacket
big_r (float) – Radius of circular column section
- op_type = 'FRPConfinedConcrete02'¶
- class o3seespy.command.uniaxial_material.concrete.FRPConfinedConcrete02Ultimate(osi, fc0, ec, ec0, fcu, ecu, ft, ets, unit)[source]¶
Bases:
UniaxialMaterialBaseThe FRPConfinedConcrete02Ultimate UniaxialMaterial Class
DEVELOPED AND IMPLEMENTED BY:| Jin-Yu LU, Southeast University, Nanjing, China| Guan LIN (guanlin@polyu.edu.hk),Hong Kong Polytechnic University, Hong Kong, China.
Figure 1 Hysteretic Stress-Strain Relation.. image:: /_static/FRPConfinedConcrete02/Figure1.pngThis command is used to construct a uniaxial hysteretic stress-strain model for fiber-reinforced polymer (FRP)-confined concrete. The envelope compressive stress-strain response is described by a parabolic first portion and a linear second portion with smooth connection between them (Figure 1). The hysteretic rules of compression are based on Lam and Teng’s (2009) model. The cyclic linear tension model of Yassin (1994) for unconfined concrete (as adopted in Concrete02) is used with slight modifications to describe the tensile behavior of FRP-confined concrete (Teng et al. 2015).
Initial method for FRPConfinedConcrete02Ultimate
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc0 (float) – Compressive strength of unconfined concrete (compression is negative)
ec (float) – Elastic modulus of unconfined concrete (=4730√(-$fc0(mpa)))
ec0 (float) – Axial strain corresponding to unconfined concrete strength (≈ 0.002)
fcu (float) – Ultimate stress of frp-confined concrete ($fcu ≥ $fc0)
ecu (float) – Ultimate strain of frp-confined concrete
ft (float) – Tensile strength of unconfined concrete (=0.632√(-$fc0(mpa)))
ets (float) – Stiffness of tensile softening (≈ 0.05 ec)
unit (float) – Unit indicator, unit = 1 for si metric units; unit = 0 for us customary units
- op_type = 'FRPConfinedConcrete02'¶
- class o3seespy.command.uniaxial_material.concrete.TDConcrete(osi, fc, fct, ec, beta, t_d, epsshu, psish, tcr, phiu, psicr1, psicr2, tcast)[source]¶
Bases:
UniaxialMaterialBaseThe TDConcrete UniaxialMaterial Class
This command is used to construct a uniaxial time-dependent concrete material object with linear behavior in compression, nonlinear behavior in tension (REF: Tamai et al., 1988) and creep and shrinkage according to ACI 209R-92.
Initial method for TDConcrete
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength (compression is negative)
fct (float) – Concrete tensile strength (tension is positive)
ec (float) – Concrete modulus of elasticity
beta (float) – Tension softening parameter (tension softening exponent)
t_d (float) – Analysis time at initiation of drying (in days)
epsshu (float) – Ultimate shrinkage strain as per aci 209r-92 (shrinkage is negative)
psish (float) – Fitting parameter of the shrinkage time evolution function as per aci 209r-92
tcr (float) – Creep model age (in days)
phiu (float) – Ultimate creep coefficient as per aci 209r-92
psicr1 (float) – Fitting parameter of the creep time evolution function as per aci 209r-92
psicr2 (float) – Fitting parameter of the creep time evolution function as per aci 209r-92
tcast (float) – Analysis time corresponding to concrete casting (in days; minimum value 2.0)
- op_type = 'TDConcrete'¶
- class o3seespy.command.uniaxial_material.concrete.TDConcreteEXP(osi, fc, fct, ec, beta, t_d, epsshu, psish, tcr, epscru, sig_cr, psicr1, psicr2, tcast)[source]¶
Bases:
UniaxialMaterialBaseThe TDConcreteEXP UniaxialMaterial Class
This command is used to construct a uniaxial time-dependent concrete material object with linear behavior in compression, nonlinear behavior in tension (REF: Tamai et al., 1988) and creep and shrinkage according to ACI 209R-92.
Initial method for TDConcreteEXP
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength (compression is negative)
fct (float) – Concrete tensile strength (tension is positive)
ec (float) – Concrete modulus of elasticity
beta (float) – Tension softening parameter (tension softening exponent)
t_d (float) – Analysis time at initiation of drying (in days)
epsshu (float) – Ultimate shrinkage strain as per aci 209r-92 (shrinkage is negative)
psish (float) – Fitting parameter of the shrinkage time evolution function as per aci 209r-92
tcr (float) – Creep model age (in days)
epscru (float) – Ultimate creep strain (e.g., taken from experimental measurements)
sig_cr (float) – Concrete compressive stress (input as negative) associated with $epscru (e.g., experimentally applied)
psicr1 (float) – Fitting parameter of the creep time evolution function as per aci 209r-92
psicr2 (float) – Fitting parameter of the creep time evolution function as per aci 209r-92
tcast (float) – Analysis time corresponding to concrete casting (in days; minimum value 2.0)
- op_type = 'TDConcreteEXP'¶
- class o3seespy.command.uniaxial_material.concrete.TDConcreteMC10(osi, fc, fct, ec, ecm, beta, t_d, epsba, epsbb, epsda, epsdb, phiba, phibb, phida, phidb, tcast, cem)[source]¶
Bases:
UniaxialMaterialBaseThe TDConcreteMC10 UniaxialMaterial Class
This command is used to construct a uniaxial time-dependent concrete material object with linear behavior in compression, nonlinear behavior in tension (REF: Tamai et al., 1988) and creep and shrinkage according to fib Model Code 2010.
Initial method for TDConcreteMC10
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength (compression is negative)
fct (float) – Concrete tensile strength (tension is positive)
ec (float) – Concrete modulus of elasticity at loading age
ecm (float) – Concrete modulus of elasticity at 28 days
beta (float) – Tension softening parameter (tension softening exponent)
t_d (float) – Analysis time at initiation of drying (in days)
epsba (float) – Ultimate basic shrinkage strain (input as negative) as per fib model code 2010
epsbb (float) – Fitting parameter of the basic shrinkage time evolution function as per fib model code 2010
epsda (float) – Product of ultimate drying shrinkage strain and relative humidity function as per fib model code 2010
epsdb (float) – Fitting parameter of the basic shrinkage time evolution function as per fib model code 2010
phiba (float) – Parameter for the effect of compressive strength on basic creep as per fib model code 2010
phibb (float) – Fitting parameter of the basic creep time evolution function as per fib model code 2010
phida (float) – Product of the effect of compressive strength and relative humidity on drying creep as per fib model code 2010
phidb (float) – Fitting parameter of the drying creep time evolution function as per fib model code 2010
tcast (float) – Analysis time corresponding to concrete casting (in days; minimum value 2.0)
cem (float) – Coefficient dependent on the type of cement as per fib model code 2010
- op_type = 'TDConcreteMC10'¶
- class o3seespy.command.uniaxial_material.concrete.TDConcreteMC10NL(osi, fc, fcu, epscu, fct, ec, ecm, beta, t_d, epsba, epsbb, epsda, epsdb, phiba, phibb, phida, phidb, tcast, cem)[source]¶
Bases:
UniaxialMaterialBaseThe TDConcreteMC10NL UniaxialMaterial Class
This command is used to construct a uniaxial time-dependent concrete material object with non-linear behavior in compression (REF: Concrete02), nonlinear behavior in tension (REF: Tamai et al., 1988) and creep and shrinkage according to fib Model Code 2010.
Initial method for TDConcreteMC10NL
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Concrete compressive strength (compression is negative)
fcu (float) – Concrete crushing strength (compression is negative)
epscu (float) – Concrete strain at crushing strength (input as negative)
fct (float) – Concrete tensile strength (tension is positive)
ec (float) – Concrete modulus of elasticity at loading age
ecm (float) – Concrete modulus of elasticity at 28 days
beta (float) – Tension softening parameter (tension softening exponent)
t_d (float) – Analysis time at initiation of drying (in days)
epsba (float) – Ultimate basic shrinkage strain (input as negative) as per fib model code 2010
epsbb (float) – Fitting parameter of the basic shrinkage time evolution function as per fib model code 2010
epsda (float) – Product of ultimate drying shrinkage strain and relative humidity function as per fib model code 2010
epsdb (float) – Fitting parameter of the basic shrinkage time evolution function as per fib model code 2010
phiba (float) – Parameter for the effect of compressive strength on basic creep as per fib model code 2010
phibb (float) – Fitting parameter of the basic creep time evolution function as per fib model code 2010
phida (float) – Product of the effect of compressive strength and relative humidity on drying creep as per fib model code 2010
phidb (float) – Fitting parameter of the drying creep time evolution function as per fib model code 2010
tcast (float) – Analysis time corresponding to concrete casting (in days; minimum value 2.0)
cem (float) – Coefficient dependent on the type of cement as per fib model code 2010
- op_type = 'TDConcreteMC10NL'¶
Other¶
- class o3seespy.command.uniaxial_material.other.AxialSp(osi, sce, fty, fcy, bte, bty, bcy, fcr)[source]¶
Bases:
UniaxialMaterialBaseThe AxialSp UniaxialMaterial Class
This command is used to construct a uniaxial AxialSp material object. This material model produces axial stress-strain curve of elastomeric bearings.
Initial method for AxialSp
- Parameters
osi (o3seespy.OpenSeesInstance) –
sce (float) – Compressive modulus
fty (float) – Yield stress under tension (
fty) and compression (fcy) (see note 1)fcy (float) – Yield stress under tension (
fty) and compression (fcy) (see note 1)bte (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty) and compressive yielding (bcy) (see note 1)bty (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty) and compressive yielding (bcy) (see note 1)bcy (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty) and compressive yielding (bcy) (see note 1)fcr (float) – Target point stress (see note 1)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.AxialSp(osi, sce=1.0, fty=1.0, fcy=1.0, bte=1.0, bty=1.0, bcy=1.0, fcr=1.0)
- op_type = 'AxialSp'¶
- class o3seespy.command.uniaxial_material.other.AxialSpHD(osi, sce, fty, fcy, bte, bty, bth, bcy, fcr, ath)[source]¶
Bases:
UniaxialMaterialBaseThe AxialSpHD UniaxialMaterial Class
This command is used to construct a uniaxial AxialSpHD material object. This material model produces axial stress-strain curve of elastomeric bearings including hardening behavior.
Initial method for AxialSpHD
- Parameters
osi (o3seespy.OpenSeesInstance) –
sce (float) – Compressive modulus
fty (float) – Yield stress under tension (
fty) and compression (fcy) (see note 1)fcy (float) – Yield stress under tension (
fty) and compression (fcy) (see note 1)bte (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty), tensile hardening (bth) and compressive yielding (bcy) (see note 1)bty (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty), tensile hardening (bth) and compressive yielding (bcy) (see note 1)bth (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty), tensile hardening (bth) and compressive yielding (bcy) (see note 1)bcy (float) – Reduction rate for tensile elastic range (
bte), tensile yielding (bty), tensile hardening (bth) and compressive yielding (bcy) (see note 1)fcr (float) – Target point stress (see note 1)
ath (float) – Hardening strain ratio to yield strain
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.AxialSpHD(osi, sce=1.0, fty=1.0, fcy=1.0, bte=1.0, bty=1.0, bth=1.0, bcy=1.0, fcr=1.0, ath=1.0)
- op_type = 'AxialSpHD'¶
- class o3seespy.command.uniaxial_material.other.BWBN(osi, alpha, ko, n, gamma, beta, ao, q, zetas, p, shi, delta_shi, lamb, tol, max_iter)[source]¶
Bases:
UniaxialMaterialBaseThe BWBN UniaxialMaterial Class
This command is used to construct a uniaxial Bouc-Wen pinching hysteretic material object. This material model is an extension of the original Bouc-Wen model that includes pinching (Baber and Noori (1986) and Foliente (1995)).
Initial method for BWBN
- Parameters
osi (o3seespy.OpenSeesInstance) –
alpha (float) – Ratio of post-yield stiffness to the initial elastic stiffenss (0< alpha <1)
ko (float) – Initial elastic stiffness
n (float) – Parameter that controls transition from linear to nonlinear range (as n increases the transition becomes sharper; n is usually grater or equal to 1)
gamma (float) – Parameters that control shape of hysteresis loop; depending on the values of gamma and beta softening, hardening or quasi-linearity can be simulated (look at the boucwen material)
beta (float) – Parameters that control shape of hysteresis loop; depending on the values of gamma and beta softening, hardening or quasi-linearity can be simulated (look at the boucwen material)
ao (float) – Parameter that controls tangent stiffness
q (float) – Parameters that control pinching
zetas (float) – Parameters that control pinching
p (float) – Parameters that control pinching
shi (float) – Parameters that control pinching
delta_shi (float) – Parameters that control pinching
lamb (float) – Parameters that control pinching
tol (float) – Tolerance
max_iter (float) – Maximum iterations
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.BWBN(osi, alpha=1.0, ko=1.0, n=1.0, gamma=1.0, beta=1.0, ao=1.0, q=1.0, zetas=1.0, p=1.0, shi=1.0, delta_shi=1.0, lamb=1.0, tol=1.0, max_iter=1.0)
- op_type = 'BWBN'¶
- class o3seespy.command.uniaxial_material.other.BarSlip(osi, fc, fy, es, fu, eh, db, ld, nb, depth, height, bs_flag, otype, anc_lratio=1.0, damage='Damage', unit='psi')[source]¶
Bases:
UniaxialMaterialBaseThe BarSlip UniaxialMaterial Class
This command is used to construct a uniaxial material that simulates the bar force versus slip response of a reinforcing bar anchored in a beam-column joint. The model exhibits degradation under cyclic loading. Cyclic degradation of strength and stiffness occurs in three ways: unloading stiffness degradation, reloading stiffness degradation, strength degradation.
Initial method for BarSlip
- Parameters
osi (o3seespy.OpenSeesInstance) –
fc (float) – Positive floating point value defining the compressive strength of the concrete in which the reinforcing bar is anchored
fy (float) – Positive floating point value defining the yield strength of the reinforcing steel
es (float) – Floating point value defining the modulus of elasticity of the reinforcing steel
fu (float) – Positive floating point value defining the ultimate strength of the reinforcing steel
eh (float) – Floating point value defining the hardening modulus of the reinforcing steel
db (float) – Point value defining the diameter of reinforcing steel
ld (float) – Floating point value defining the development length of the reinforcing steel
nb (int) – An integer defining the number of anchored bars
depth (float) – Floating point value defining the dimension of the member (beam or column) perpendicular to the dimension of the plane of the paper
height (float) – Floating point value defining the height of the flexural member, perpendicular to direction in which the reinforcing steel is placed, but in the plane of the paper
bs_flag (str) – String indicating relative bond strength for the anchored reinforcing bar (options:
'strong'or'weak')otype (str) – String indicating where the reinforcing bar is placed. (options:
'beamtop','beambot'or'column')anc_lratio (float, optional) – Floating point value defining the ratio of anchorage length used for the reinforcing bar to the dimension of the joint in the direction of the reinforcing bar (optional, default: 1.0)
damage (str, optional) – String indicating type of damage:whether there is full damage in the material or no damage (optional, options:
'damage','nodamage'; default:'damage')unit (str, optional) – String indicating the type of unit system used (optional, options:
'psi','mpa','pa','psf','ksi','ksf') (default:'psi'/'mpa')
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.BarSlip(osi, fc=1.0, fy=1.0, es=1.0, fu=1.0, eh=1.0, db=1.0, ld=1.0, nb=1, depth=1.0, height=1.0, anc_lratio=1.0, bs_flag="Strong", otype="beamtop", damage='Damage', unit='psi')
- op_type = 'BarSlip'¶
- class o3seespy.command.uniaxial_material.other.Bilin(osi, k0, as_plus, as_neg, my_plus, my_neg, lamda_s, lamda_c, lamda_a, lamda_k, c_s, c_c, c_a, c_k, theta_p_plus, theta_p_neg, theta_pc_plus, theta_pc_neg, res_pos, res_neg, theta_u_plus, theta_u_neg, d_plus, d_neg, n_factor=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe Bilin UniaxialMaterial Class
This command is used to construct a bilin material. The bilin material simulates the modified Ibarra-Krawinkler deterioration model with bilinear hysteretic response. Note that the hysteretic response of this material has been calibrated with respect to more than 350 experimental data of steel beam-to-column connections and multivariate regression formulas are provided to estimate the deterioration parameters of the model for different connection types. These relationships were developed by Lignos and Krawinkler (2009, 2011) and have been adopted by PEER/ATC (2010). The input parameters for this component model can be computed interactively from this link. Use the module Component Model.
Initial method for Bilin
- Parameters
osi (o3seespy.OpenSeesInstance) –
k0 (float) – Elastic stiffness
as_plus (float) – Strain hardening ratio for positive loading direction
as_neg (float) – Strain hardening ratio for negative loading direction
my_plus (float) – Effective yield strength for positive loading direction
my_neg (float) – Effective yield strength for negative loading direction (negative value)
lamda_s (float) – Cyclic deterioration parameter for strength deterioration [e_t=lamda_s*m_y; set lamda_s = 0 to disable this mode of deterioration]
lamda_c (float) – Cyclic deterioration parameter for post-capping strength deterioration [e_t=lamda_c*m_y; set lamda_c = 0 to disable this mode of deterioration]
lamda_a (float) – Cyclic deterioration parameter for acceleration reloading stiffness deterioration (is not a deterioration mode for a component with bilinear hysteretic response) [input value is required, but not used; set lamda_a = 0].
lamda_k (float) – Cyclic deterioration parameter for unloading stiffness deterioration [e_t=lamda_k*m_y; set lamda_k = 0 to disable this mode of deterioration]
c_s (float) – Rate of strength deterioration. the default value is 1.0.
c_c (float) – Rate of post-capping strength deterioration. the default value is 1.0.
c_a (float) – Rate of accelerated reloading deterioration. the default value is 1.0.
c_k (float) – Rate of unloading stiffness deterioration. the default value is 1.0.
theta_p_plus (float) – Pre-capping rotation for positive loading direction (often noted as plastic rotation capacity)
theta_p_neg (float) – Pre-capping rotation for negative loading direction (often noted as plastic rotation capacity) (positive value)
theta_pc_plus (float) – Post-capping rotation for positive loading direction
theta_pc_neg (float) – Post-capping rotation for negative loading direction (positive value)
res_pos (float) – Residual strength ratio for positive loading direction
res_neg (float) – Residual strength ratio for negative loading direction (positive value)
theta_u_plus (float) – Ultimate rotation capacity for positive loading direction
theta_u_neg (float) – Ultimate rotation capacity for negative loading direction (positive value)
d_plus (float) – Rate of cyclic deterioration in the positive loading direction (this parameter is used to create assymetric hysteretic behavior for the case of a composite beam). for symmetric hysteretic response use 1.0.
d_neg (float) – Rate of cyclic deterioration in the negative loading direction (this parameter is used to create assymetric hysteretic behavior for the case of a composite beam). for symmetric hysteretic response use 1.0.
n_factor (float, optional) – Elastic stiffness amplification factor, mainly for use with concentrated plastic hinge elements (optional, default = 0).
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Bilin(osi, k0=1.0, as_plus=1.0, as_neg=1.0, my_plus=1.0, my_neg=1.0, lamda_s=1.0, lamda_c=1.0, lamda_a=1.0, lamda_k=1.0, c_s=1.0, c_c=1.0, c_a=1.0, c_k=1.0, theta_p_plus=1.0, theta_p_neg=1.0, theta_pc_plus=1.0, theta_pc_neg=1.0, res_pos=1.0, res_neg=1.0, theta_u_plus=1.0, theta_u_neg=1.0, d_plus=1.0, d_neg=1.0, n_factor=0.0)
- op_type = 'Bilin'¶
- class o3seespy.command.uniaxial_material.other.BilinearOilDamper(osi, k_el, cd, fr=1.0, p=1.0, l_gap=0.0, nm=1, rel_tol=1e-06, abs_tol=1e-10, max_half=15)[source]¶
Bases:
UniaxialMaterialBaseThe BilinearOilDamper UniaxialMaterial Class
This command is used to construct a BilinearOilDamper material, which simulates the hysteretic response of bilinear oil dampers with relief valve. Two adaptive iterative algorithms have been implemented and validated to solve numerically the constitutive equations within a bilinear oil damper with a high-precision accuracy.
Initial method for BilinearOilDamper
- Parameters
osi (o3seespy.OpenSeesInstance) –
k_el (float) – Elastic stiffness of linear spring to model the axial flexibility of a viscous damper (e.g. combined stiffness of the supporting brace and internal damper portion)
cd (float) – Damping coefficient
fr (float, optional) – Damper relief load (default=1.0, damper property)
p (float, optional) – Post-relief viscous damping coefficient ratio (default=1.0, linear oil damper)
l_gap (float, optional) – Gap length to simulate the gap length due to the pin tolerance
nm (int, optional) – Employed adaptive numerical algorithm (default value nm = 1; *
1= dormand-prince54, *2= 6th order adams-bashforth-moulton, *3= modified rosenbrock triple)rel_tol (float, optional) – Tolerance for absolute relative error control of the adaptive iterative algorithm (default value 10^-6)
abs_tol (float, optional) – Tolerance for absolute error control of adaptive iterative algorithm (default value 10^-10)
max_half (int, optional) – Maximum number of sub-step iterations within an integration step (default value 15)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.BilinearOilDamper(osi, k_el=1.0, cd=1.0, fr=1.0, p=1.0, l_gap=0.0, nm=1, rel_tol=1e-6, abs_tol=1e-10, max_half=15)
- op_type = 'BilinearOilDamper'¶
- class o3seespy.command.uniaxial_material.other.BondSP01(osi, fy, sy, fu, su, b, big_r)[source]¶
Bases:
UniaxialMaterialBaseThe BondSP01 UniaxialMaterial Class
This command is used to construct a uniaxial material object for capturing strain penetration effects at the column-to-footing, column-to-bridge bent caps, and wall-to-footing intersections. In these cases, the bond slip associated with strain penetration typically occurs along a portion of the anchorage length. This model can also be applied to the beam end regions, where the strain penetration may include slippage of the bar along the entire anchorage length, but the model parameters should be chosen appropriately.This model is for fully anchored steel reinforcement bars that experience bond slip along a portion of the anchorage length due to strain penetration effects, which are usually the case for column and wall longitudinal bars anchored into footings or bridge joints
Initial method for BondSP01
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield strength of the reinforcement steel
sy (float) – Rebar slip at member interface under yield stress. (see notes below)
fu (float) – Ultimate strength of the reinforcement steel
su (float) – Rebar slip at the loaded end at the bar fracture strength
b (float) – Initial hardening ratio in the monotonic slip vs. bar stress response (0.3~0.5)
big_r (float) – Pinching factor for the cyclic slip vs. bar response (0.5~1.0)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.BondSP01(osi, fy=1.0, sy=1.0, fu=1.0, su=1.0, b=1.0, big_r=1.0)
- op_type = 'Bond_SP01'¶
- class o3seespy.command.uniaxial_material.other.BoucWen(osi, alpha, ko, n, gamma, beta, ao, delta_a, delta_nu, delta_eta)[source]¶
Bases:
UniaxialMaterialBaseThe BoucWen UniaxialMaterial Class
This command is used to construct a uniaxial Bouc-Wen smooth hysteretic material object. This material model is an extension of the original Bouc-Wen model that includes stiffness and strength degradation (Baber and Noori (1985)).
Initial method for BoucWen
- Parameters
osi (o3seespy.OpenSeesInstance) –
alpha (float) – Ratio of post-yield stiffness to the initial elastic stiffenss (0< alpha <1)
ko (float) – Initial elastic stiffness
n (float) – Parameter that controls transition from linear to nonlinear range (as n increases the transition becomes sharper; n is usually grater or equal to 1)
gamma (float) – Parameters that control shape of hysteresis loop; depending on the values of gamma and beta softening, hardening or quasi-linearity can be simulated (look at the notes)
beta (float) – Parameters that control shape of hysteresis loop; depending on the values of gamma and beta softening, hardening or quasi-linearity can be simulated (look at the notes)
ao (float) – Parameters that control tangent stiffness
delta_a (float) – Parameters that control tangent stiffness
delta_nu (float) – Parameters that control material degradation
delta_eta (float) – Parameters that control material degradation
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.BoucWen(osi, alpha=1.0, ko=1.0, n=1.0, gamma=1.0, beta=1.0, ao=1.0, delta_a=1.0, delta_nu=1.0, delta_eta=1.0)
- op_type = 'BoucWen'¶
- class o3seespy.command.uniaxial_material.other.CFSSSWP(osi, height, width, fuf, fyf, tf, af, fus, fys, ts, np, ds, vs, sc, dt, opening_area, opening_length)[source]¶
Bases:
UniaxialMaterialBaseThe CFSSSWP UniaxialMaterial Class
This command is used to construct a uniaxialMaterial model that simulates the hysteresis response (Shear strength-lateral Displacement) of a Steel-Sheathed Cold-Formed Steel Shear Wall Panel (CFS-SWP). The hysteresis model has smooth curves and takes into account the strength and stiffness degradation, as well as pinching effect.This uniaxialMaterial gives results in Newton and Meter units, for strength and displacement, respectively.
Initial method for CFSSSWP
- Parameters
osi (o3seespy.OpenSeesInstance) –
height (float) – Swp’s height (mm)
width (float) – Swp’s width (mm)
fuf (float) – Tensile strength of framing members (mpa)
fyf (float) – Yield strength of framing members (mpa)
tf (float) – Framing thickness (mm)
af (float) – Framing cross section area (mm2)
fus (float) – Tensile strength of steel sheet sheathing (mpa)
fys (float) – Yield strength of steel sheet sheathing (mpa)
ts (float) – Sheathing thickness (mm)
np (float) – Sheathing number (one or two sides sheathed)
ds (float) – Screws diameter (mm)
vs (float) – Screws shear strength (n)
sc (float) – Screw spacing on the swp perimeter (mm)
dt (float) – Anchor bolt’s diameter (mm)
opening_area (float) – Total area of openings (mm2)
opening_length (float) – Cumulative length of openings (mm)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.CFSSSWP(osi, height=1.0, width=1.0, fuf=1.0, fyf=1.0, tf=1.0, af=1.0, fus=1.0, fys=1.0, ts=1.0, np=1.0, ds=1.0, vs=1.0, sc=1.0, dt=1.0, opening_area=1.0, opening_length=1.0)
- op_type = 'CFSSSWP'¶
- class o3seespy.command.uniaxial_material.other.CFSWSWP(osi, height, width, fut, tf, ife, ifi, ts, np, ds, vs, sc, nc, otype, opening_area, opening_length)[source]¶
Bases:
UniaxialMaterialBaseThe CFSWSWP UniaxialMaterial Class
This command is used to construct a uniaxialMaterial model that simulates the hysteresis response (Shear strength-Lateral displacement) of a wood-sheathed cold-formed steel shear wall panel (CFS-SWP). The hysteresis model has smooth curves and takes into account the strength and stiffness degradation, as well as pinching effect.This uniaxialMaterial gives results in Newton and Meter units, for strength and displacement, respectively.
Initial method for CFSWSWP
- Parameters
osi (o3seespy.OpenSeesInstance) –
height (float) – Swp’s height (mm)
width (float) – Swp’s width (mm)
fut (float) – Tensile strength of framing members (mpa)
tf (float) – Framing thickness (mm)
ife (float) – Moment of inertia of the double end-stud (mm4)
ifi (float) – Moment of inertia of the intermediate stud (mm4)
ts (float) – Sheathing thickness (mm)
np (float) – Sheathing number (one or two sides sheathed)
ds (float) – Screws diameter (mm)
vs (float) – Screws shear strength (n)
sc (float) – Screw spacing on the swp perimeter (mm)
nc (float) – Total number of screws located on the swp perimeter
otype (int) – Integer identifier used to define wood sheathing type (dfp=1, osb=2, csp=3)
opening_area (float) – Total area of openings (mm2)
opening_length (float) – Cumulative length of openings (mm)
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.CFSWSWP(osi, height=1.0, width=1.0, fut=1.0, tf=1.0, ife=1.0, ifi=1.0, ts=1.0, np=1.0, ds=1.0, vs=1.0, sc=1.0, nc=1.0, otype=1, opening_area=1.0, opening_length=1.0)
- op_type = 'CFSWSWP'¶
- class o3seespy.command.uniaxial_material.other.Cast(osi, n, bo, h, fy, e_mod, big_l, b, ro, c_r1, c_r2, a1: Optional[float] = None, a2=1.0, a3: Optional[float] = None, a4=1.0)[source]¶
Bases:
UniaxialMaterialBaseThe Cast UniaxialMaterial Class
This command is used to construct a parallel material object made up of an arbitrary number of previously-constructed UniaxialMaterial objects.
Initial method for Cast
- Parameters
osi (o3seespy.OpenSeesInstance) –
n (int) – Number of yield fingers of the csf-brace
bo (float) – Width of an individual yielding finger at its base of the csf-brace
h (float) – Thickness of an individual yielding finger
fy (float) – Yield strength of the steel material of the yielding finger
e_mod (float) – Modulus of elasticity of the steel material of the yielding finger
big_l (float) – Height of an individual yielding finger
b (float) – Strain hardening ratio
ro (float) – Parameter that controls the bauschinger effect. recommended values for $ro=between 10 to 30
c_r1 (float) – Parameter that controls the bauschinger effect. recommended value cr1=0.925
c_r2 (float) – Parameter that controls the bauschinger effect. recommended value cr2=0.150
a1 (float (default=True), optional) – Isotropic hardening parameter, increase of compression yield envelope as proportion of yield strength after a plastic deformation of a2*(pp/kp)
a2 (float, optional) – Isotropic hardening parameter (see explanation under a1). (optional default = 1.0)
a3 (float (default=True), optional) – Isotropic hardening parameter, increase of tension yield envelope as proportion of yield strength after a plastic deformation of a4*(pp/kp)
a4 (float, optional) – Isotropic hardening parameter (see explanation under a3). (optional default = 1.0)
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Cast(osi, n=1, bo=1.0, h=1.0, fy=1.0, e_mod=1.0, big_l=1.0, b=1.0, ro=1.0, c_r1=1.0, c_r2=1.0, a1=None, a2=1.0, a3=None, a4=1.0)
- op_type = 'Cast'¶
- class o3seespy.command.uniaxial_material.other.ECC01(osi, sigt0, epst0, sigt1, epst1, epst2, sigc0, epsc0, epsc1, alpha_t1, alpha_t2, alpha_c, alpha_cu, beta_t, beta_c)[source]¶
Bases:
UniaxialMaterialBaseThe ECC01 UniaxialMaterial Class
This command is used to construct a uniaxial Engineered Cementitious Composites (ECC)material object based on the ECC material model of Han, et al. (see references). Reloading in tension and compression is linear.
Initial method for ECC01
- Parameters
osi (o3seespy.OpenSeesInstance) –
sigt0 (float) – Tensile cracking stress
epst0 (float) – Strain at tensile cracking stress
sigt1 (float) – Peak tensile stress
epst1 (float) – Strain at peak tensile stress
epst2 (float) – Ultimate tensile strain
sigc0 (float) – Compressive strength (see notes)
epsc0 (float) – Strain at compressive strength (see notes)
epsc1 (float) – Ultimate compressive strain (see notes)
alpha_t1 (float) – Exponent of the unloading curve in tensile strain hardening region
alpha_t2 (float) – Exponent of the unloading curve in tensile softening region
alpha_c (float) – Exponent of the unloading curve in the compressive softening
alpha_cu (float) – Exponent of the compressive softening curve (use 1 for linear softening)
beta_t (float) – Parameter to determine permanent strain in tension
beta_c (float) – Parameter to determine permanent strain in compression
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ECC01(osi, sigt0=1.0, epst0=1.0, sigt1=1.0, epst1=1.0, epst2=1.0, sigc0=1.0, epsc0=1.0, epsc1=1.0, alpha_t1=1.0, alpha_t2=1.0, alpha_c=1.0, alpha_cu=1.0, beta_t=1.0, beta_c=1.0)
- op_type = 'ECC01'¶
- class o3seespy.command.uniaxial_material.other.ElasticBilin(osi, ep1, ep2, eps_p2, en1: Optional[float] = None, en2: Optional[float] = None, eps_n2: Optional[float] = None)[source]¶
Bases:
UniaxialMaterialBaseThe ElasticBilin UniaxialMaterial Class
This command is used to construct an elastic bilinear uniaxial material object. Unlike all other bilinear materials, the unloading curve follows the loading curve exactly.
Initial method for ElasticBilin
- Parameters
osi (o3seespy.OpenSeesInstance) –
ep1 (float) – Tangent in tension for stains: 0 <= strains <=
epsp2ep2 (float) – Tangent when material in tension with strains >
epsp2eps_p2 (float) – Strain at which material changes tangent in tension.
en1 (float (default=True), optional) – Optional, default =
ep1. tangent in compression for stains: 0 < strains <=epsn2en2 (float (default=True), optional) – Optional, default =
ep2. tangent in compression with strains <epsn2eps_n2 (float (default=True), optional) – Optional, default =
-epsp2. strain at which material changes tangent in compression.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ElasticBilin(osi, ep1=1.0, ep2=1.0, eps_p2=1.0, en1=None, en2=None, eps_n2=None)
- op_type = 'ElasticBilin'¶
- class o3seespy.command.uniaxial_material.other.ElasticMultiLinear(osi, eta=0.0, strain: Optional[list] = None, stress: Optional[list] = None)[source]¶
Bases:
UniaxialMaterialBaseThe ElasticMultiLinear UniaxialMaterial Class
This command is used to construct a multi-linear elastic uniaxial material object. The nonlinear stress-strain relationship is given by a multi-linear curve that is define by a set of points. The behavior is nonlinear but it is elastic. This means that the material loads and unloads along the same curve, and no energy is dissipated. The slope given by the last two specified points on the positive strain axis is extrapolated to infinite positive strain. Similarly, the slope given by the last two specified points on the negative strain axis is extrapolated to infinite negative strain. The number of provided strain points needs to be equal to the number of provided stress points.
Initial method for ElasticMultiLinear
- Parameters
osi (o3seespy.OpenSeesInstance) –
eta (float, optional) – Damping tangent (optional, default=0.0)
strain (list, optional) – List of strain points along stress-strain curve
stress (list, optional) – List of stress points along stress-strain curve
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> strain = [1.0, 1.0] >>> stress = [1.0, 1.0] >>> o3.uniaxial_material.ElasticMultiLinear(osi, eta=0.0, strain=strain, stress=stress)
- op_type = 'ElasticMultiLinear'¶
- class o3seespy.command.uniaxial_material.other.Fatigue(osi, other, e0: Optional[float] = None, m: Optional[float] = None, min: Optional[float] = None, max: Optional[float] = None)[source]¶
Bases:
UniaxialMaterialBaseThe Fatigue UniaxialMaterial Class
The fatigue material uses a modified rainflow cycle counting algorithm to accumulate damage in a material using Miner’s Rule. Element stress/strain relationships become zero when fatigue life is exhausted.
Initial method for Fatigue
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – Unique material object integer object for the material that is being wrapped
e0 (float, optional) – Value of strain at which one cycle will cause failure (default 0.191)
m (float, optional) – Slope of coffin-manson curve in log-log space (default -0.458)
min (float, optional) – Global minimum value for strain or deformation (default -1e16)
max (float, optional) – Global maximum value for strain or deformation (default 1e16)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> other = o3.uniaxial_material.Hardening(osi, e_mod=1.0, sigma_y=1.0, h_iso=1.0, h_kin=1.0, eta=0.0) >>> o3.uniaxial_material.Fatigue(osi, other=other, e0=0.191, m=-0.458, min=-1e16, max=1e16)
- op_type = 'Fatigue'¶
- class o3seespy.command.uniaxial_material.other.Hardening(osi, e_mod, sigma_y, h_iso, h_kin, eta=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe Hardening UniaxialMaterial Class
This command is used to construct a uniaxial material object with combined linear kinematic and isotropic hardening. The model includes optional visco-plasticity using a Perzyna formulation.
Initial method for Hardening
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (float) – Tangent stiffness
sigma_y (float) – Yield stress or force
h_iso (float) – Isotropic hardening modulus
h_kin (float) – Kinematic hardening modulus
eta (float, optional) – Visco-plastic coefficient (optional, default=0.0)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Hardening(osi, e_mod=1.0, sigma_y=1.0, h_iso=1.0, h_kin=1.0, eta=0.0)
- op_type = 'Hardening'¶
- class o3seespy.command.uniaxial_material.other.HyperbolicGapMaterial(osi, kmax, kur, rf, fult, gap)[source]¶
Bases:
UniaxialMaterialBaseThe HyperbolicGapMaterial UniaxialMaterial Class
This command is used to construct a hyperbolic gap material object.
Initial method for HyperbolicGapMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
kmax (float) – Initial stiffness
kur (float) – Unloading/reloading stiffness
rf (float) – Failure ratio
fult (float) – Ultimate (maximum) passive resistance
gap (float) – Initial gap
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.HyperbolicGapMaterial(osi, kmax=1.0, kur=2.0, rf=1.0, fult=2.0, gap=0.0)
- op_type = 'HyperbolicGapMaterial'¶
- class o3seespy.command.uniaxial_material.other.ImpactMaterial(osi, k1, k2, sigy, gap)[source]¶
Bases:
UniaxialMaterialBaseThe ImpactMaterial UniaxialMaterial Class
This command is used to construct an impact material object
Initial method for ImpactMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
k1 (float) – Initial stiffness
k2 (float) – Secondary stiffness
sigy (float) – Yield displacement
gap (float) – Initial gap
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ImpactMaterial(osi, k1=1.0, k2=1.0, sigy=1.0, gap=1.0)
- op_type = 'ImpactMaterial'¶
- class o3seespy.command.uniaxial_material.other.InitStrainMaterial(osi, other, init_strain)[source]¶
Bases:
UniaxialMaterialBaseThe InitStrainMaterial UniaxialMaterial 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 InitStrainMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – Object of the other material
init_strain (float) – Initial strain
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> other = o3.uniaxial_material.ModIMKPinching(osi, k0=1.0, as_plus=1.0, as_neg=1.0, my_plus=1.0, my_neg=1.0, fpr_pos=1.0, fpr_neg=1.0, a_pinch=1.0, lamda_s=1.0, lamda_c=1.0, lamda_a=1.0, lamda_k=1.0, c_s=1.0, c_c=1.0, c_a=1.0, c_k=1.0, theta_p_plus=1.0, theta_p_neg=1.0, theta_pc_plus=1.0, theta_pc_neg=1.0, res_pos=1.0, res_neg=1.0, theta_u_plus=1.0, theta_u_neg=1.0, d_plus=1.0, d_neg=1.0) >>> o3.uniaxial_material.InitStrainMaterial(osi, other=other, init_strain=1.0)
- op_type = 'InitStrainMaterial'¶
- class o3seespy.command.uniaxial_material.other.InitStressMaterial(osi, other, init_stress)[source]¶
Bases:
UniaxialMaterialBaseThe InitStressMaterial UniaxialMaterial 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 InitStressMaterial
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – Object of the other material
init_stress (float) – Initial stress
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> other = o3.uniaxial_material.ModIMKPinching(osi, k0=1.0, as_plus=1.0, as_neg=1.0, my_plus=1.0, my_neg=1.0, >>> fpr_pos=1.0, fpr_neg=1.0, a_pinch=1.0, lamda_s=1.0, lamda_c=1.0, >>> lamda_a=1.0, lamda_k=1.0, c_s=1.0, c_c=1.0, c_a=1.0, c_k=1.0, >>> theta_p_plus=1.0, theta_p_neg=1.0, theta_pc_plus=1.0, >>> theta_pc_neg=1.0, res_pos=1.0, res_neg=1.0, theta_u_plus=1.0, >>> theta_u_neg=1.0, d_plus=1.0, d_neg=1.0) >>> o3.uniaxial_material.InitStressMaterial(osi, other=other, init_stress=-1.0)
- op_type = 'InitStressMaterial'¶
- class o3seespy.command.uniaxial_material.other.LimitState(osi, s1p, e1p, s2p, e2p, s3p, e3p, s1n, e1n, s2n, e2n, s3n, e3n, pinch_x, pinch_y, damage1, damage2, beta, curve, curve_type)[source]¶
Bases:
UniaxialMaterialBaseThe LimitState UniaxialMaterial Class
This command is used to construct a uniaxial hysteretic material object with pinching of force and deformation, damage due to ductility and energy, and degraded unloading stiffness based on ductility. Failure of the material is defined by the associated Limit Curve.
Initial method for LimitState
- Parameters
osi (o3seespy.OpenSeesInstance) –
s1p (float) – Stress and strain (or force & deformation) at first point of the envelope in the positive direction
e1p (float) – Stress and strain (or force & deformation) at first point of the envelope in the positive direction
s2p (float) – Stress and strain (or force & deformation) at second point of the envelope in the positive direction
e2p (float) – Stress and strain (or force & deformation) at second point of the envelope in the positive direction
s3p (float) – Stress and strain (or force & deformation) at third point of the envelope in the positive direction
e3p (float) – Stress and strain (or force & deformation) at third point of the envelope in the positive direction
s1n (float) – Stress and strain (or force & deformation) at first point of the envelope in the negative direction
e1n (float) – Stress and strain (or force & deformation) at first point of the envelope in the negative direction
s2n (float) – Stress and strain (or force & deformation) at second point of the envelope in the negative direction
e2n (float) – Stress and strain (or force & deformation) at second point of the envelope in the negative direction
s3n (float) – Stress and strain (or force & deformation) at third point of the envelope in the negative direction
e3n (float) – Stress and strain (or force & deformation) at third point of the envelope in the negative direction
pinch_x (float) – Pinching factor for strain (or deformation) during reloading
pinch_y (float) – Pinching factor for stress (or force) during reloading
damage1 (float) – Damage due to ductility: d1(m-1)
damage2 (float) – Damage due to energy: d2(ei/eult)
beta (float) – Power used to determine the degraded unloading stiffness based on ductility, m-b (optional, default=0.0)
curve (obj) – An integer object for the limit curve defining the limit surface
curve_type (int) – An integer defining the type of limitcurve (0 = no curve, 1 = axial curve, all other curves can be any other integer)
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> curve = 1 >>> o3.uniaxial_material.LimitState(osi, s1p=1.0, e1p=1.0, s2p=1.0, e2p=1.0, s3p=1.0, e3p=1.0, s1n=1.0, e1n=1.0, s2n=1.0, e2n=1.0, s3n=1.0, e3n=1.0, pinch_x=1.0, pinch_y=1.0, damage1=1.0, damage2=1.0, beta=1.0, curve=curve, curve_type=1)
- op_type = 'LimitState'¶
- class o3seespy.command.uniaxial_material.other.MinMax(osi, other, min_strain: Optional[float] = None, max_strain: Optional[float] = None)[source]¶
Bases:
UniaxialMaterialBaseThe MinMax UniaxialMaterial Class
This command is used to construct a MinMax material object. This stress-strain behaviour for this material is provided by another material. If however the strain ever falls below or above certain threshold values, the other material is assumed to have failed. From that point on, values of 0.0 are returned for the tangent and stress.
Initial method for MinMax
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – Object of the other material
min_strain (float, optional) – Minimum value of strain. optional default = -1.0e16.
max_strain (float, optional) – Max value of strain. optional default = 1.0e16.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> other = o3.uniaxial_material.Hardening(osi, e_mod=1.0, sigma_y=1.0, h_iso=1.0, h_kin=1.0, eta=0.0) >>> o3.uniaxial_material.MinMax(osi, other=other, min_strain=1e-16, max_strain=1e16)
- op_type = 'MinMax'¶
- class o3seespy.command.uniaxial_material.other.ModIMKPeakOriented(osi, k0, as_plus, as_neg, my_plus, my_neg, lamda_s, lamda_c, lamda_a, lamda_k, c_s, c_c, c_a, c_k, theta_p_plus, theta_p_neg, theta_pc_plus, theta_pc_neg, res_pos, res_neg, theta_u_plus, theta_u_neg, d_plus, d_neg)[source]¶
Bases:
UniaxialMaterialBaseThe ModIMKPeakOriented UniaxialMaterial Class
This command is used to construct a ModIMKPeakOriented material. This material simulates the modified Ibarra-Medina-Krawinkler deterioration model with peak-oriented hysteretic response. Note that the hysteretic response of this material has been calibrated with respect to 200 experimental data of RC beams in order to estimate the deterioration parameters of the model. This information was developed by Lignos and Krawinkler (2012). NOTE: before you use this material make sure that you have downloaded the latest OpenSees version. A youtube video presents a summary of this model including the way to be used within openSees youtube link.
Initial method for ModIMKPeakOriented
- Parameters
osi (o3seespy.OpenSeesInstance) –
k0 (float) – Elastic stiffness
as_plus (float) – Strain hardening ratio for positive loading direction
as_neg (float) – Strain hardening ratio for negative loading direction
my_plus (float) – Effective yield strength for positive loading direction
my_neg (float) – Effective yield strength for negative loading direction (negative value)
lamda_s (float) – Cyclic deterioration parameter for strength deterioration [e_t=lamda_s*m_y, see lignos and krawinkler (2011); set lamda_s = 0 to disable this mode of deterioration]
lamda_c (float) – Cyclic deterioration parameter for post-capping strength deterioration [e_t=lamda_c*m_y, see lignos and krawinkler (2011); set lamda_c = 0 to disable this mode of deterioration]
lamda_a (float) – Cyclic deterioration parameter for accelerated reloading stiffness deterioration [e_t=lamda_a*m_y, see lignos and krawinkler (2011); set lamda_a = 0 to disable this mode of deterioration]
lamda_k (float) – Cyclic deterioration parameter for unloading stiffness deterioration [e_t=lamda_k*m_y, see lignos and krawinkler (2011); set lamda_k = 0 to disable this mode of deterioration]
c_s (float) – Rate of strength deterioration. the default value is 1.0.
c_c (float) – Rate of post-capping strength deterioration. the default value is 1.0.
c_a (float) – Rate of accelerated reloading deterioration. the default value is 1.0.
c_k (float) – Rate of unloading stiffness deterioration. the default value is 1.0.
theta_p_plus (float) – Pre-capping rotation for positive loading direction (often noted as plastic rotation capacity)
theta_p_neg (float) – Pre-capping rotation for negative loading direction (often noted as plastic rotation capacity) (must be defined as a positive value)
theta_pc_plus (float) – Post-capping rotation for positive loading direction
theta_pc_neg (float) – Post-capping rotation for negative loading direction (must be defined as a positive value)
res_pos (float) – Residual strength ratio for positive loading direction
res_neg (float) – Residual strength ratio for negative loading direction (must be defined as a positive value)
theta_u_plus (float) – Ultimate rotation capacity for positive loading direction
theta_u_neg (float) – Ultimate rotation capacity for negative loading direction (must be defined as a positive value)
d_plus (float) – Rate of cyclic deterioration in the positive loading direction (this parameter is used to create assymetric hysteretic behavior for the case of a composite beam). for symmetric hysteretic response use 1.0.
d_neg (float) – Rate of cyclic deterioration in the negative loading direction (this parameter is used to create assymetric hysteretic behavior for the case of a composite beam). for symmetric hysteretic response use 1.0.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ModIMKPeakOriented(osi, k0=1.0, as_plus=1.0, as_neg=1.0, my_plus=1.0, my_neg=1.0, lamda_s=1.0, lamda_c=1.0, lamda_a=1.0, lamda_k=1.0, c_s=1.0, c_c=1.0, c_a=1.0, c_k=1.0, theta_p_plus=1.0, theta_p_neg=1.0, theta_pc_plus=1.0, theta_pc_neg=1.0, res_pos=1.0, res_neg=1.0, theta_u_plus=1.0, theta_u_neg=1.0, d_plus=1.0, d_neg=1.0)
- op_type = 'ModIMKPeakOriented'¶
- class o3seespy.command.uniaxial_material.other.ModIMKPinching(osi, k0, as_plus, as_neg, my_plus, my_neg, fpr_pos, fpr_neg, a_pinch, lamda_s, lamda_c, lamda_a, lamda_k, c_s, c_c, c_a, c_k, theta_p_plus, theta_p_neg, theta_pc_plus, theta_pc_neg, res_pos, res_neg, theta_u_plus, theta_u_neg, d_plus, d_neg)[source]¶
Bases:
UniaxialMaterialBaseThe ModIMKPinching UniaxialMaterial Class
This command is used to construct a ModIMKPinching material. This material simulates the modified Ibarra-Medina-Krawinkler deterioration model with pinching hysteretic response. NOTE: before you use this material make sure that you have downloaded the latest OpenSees version. A youtube video presents a summary of this model including the way to be used within openSees youtube link.
Initial method for ModIMKPinching
- Parameters
osi (o3seespy.OpenSeesInstance) –
k0 (float) – Elastic stiffness
as_plus (float) – Strain hardening ratio for positive loading direction
as_neg (float) – Strain hardening ratio for negative loading direction
my_plus (float) – Effective yield strength for positive loading direction
my_neg (float) – Effective yield strength for negative loading direction (must be defined as a negative value)
fpr_pos (float) – Ratio of the force at which reloading begins to force corresponding to the maximum historic deformation demand (positive loading direction)
fpr_neg (float) – Ratio of the force at which reloading begins to force corresponding to the absolute maximum historic deformation demand (negative loading direction)
a_pinch (float) – Ratio of reloading stiffness
lamda_s (float) – Cyclic deterioration parameter for strength deterioration [e_t=lamda_s*m_y, see lignos and krawinkler (2011); set lamda_s = 0 to disable this mode of deterioration]
lamda_c (float) – Cyclic deterioration parameter for post-capping strength deterioration [e_t=lamda_c*m_y, see lignos and krawinkler (2011); set lamda_c = 0 to disable this mode of deterioration]
lamda_a (float) – Cyclic deterioration parameter for accelerated reloading stiffness deterioration [e_t=lamda_a*m_y, see lignos and krawinkler (2011); set lamda_a = 0 to disable this mode of deterioration]
lamda_k (float) – Cyclic deterioration parameter for unloading stiffness deterioration [e_t=lamda_k*m_y, see lignos and krawinkler (2011); set lamda_k = 0 to disable this mode of deterioration]
c_s (float) – Rate of strength deterioration. the default value is 1.0.
c_c (float) – Rate of post-capping strength deterioration. the default value is 1.0.
c_a (float) – Rate of accelerated reloading deterioration. the default value is 1.0.
c_k (float) – Rate of unloading stiffness deterioration. the default value is 1.0.
theta_p_plus (float) – Pre-capping rotation for positive loading direction (often noted as plastic rotation capacity)
theta_p_neg (float) – Pre-capping rotation for negative loading direction (often noted as plastic rotation capacity) (must be defined as a positive value)
theta_pc_plus (float) – Post-capping rotation for positive loading direction
theta_pc_neg (float) – Post-capping rotation for negative loading direction (must be defined as a positive value)
res_pos (float) – Residual strength ratio for positive loading direction
res_neg (float) – Residual strength ratio for negative loading direction (must be defined as a positive value)
theta_u_plus (float) – Ultimate rotation capacity for positive loading direction
theta_u_neg (float) – Ultimate rotation capacity for negative loading direction (must be defined as a positive value)
d_plus (float) – Rate of cyclic deterioration in the positive loading direction (this parameter is used to create assymetric hysteretic behavior for the case of a composite beam). for symmetric hysteretic response use 1.0.
d_neg (float) – Rate of cyclic deterioration in the negative loading direction (this parameter is used to create assymetric hysteretic behavior for the case of a composite beam). for symmetric hysteretic response use 1.0.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ModIMKPinching(osi, k0=1.0, as_plus=1.0, as_neg=1.0, my_plus=1.0, my_neg=1.0, fpr_pos=1.0, fpr_neg=1.0, a_pinch=1.0, lamda_s=1.0, lamda_c=1.0, lamda_a=1.0, lamda_k=1.0, c_s=1.0, c_c=1.0, c_a=1.0, c_k=1.0, theta_p_plus=1.0, theta_p_neg=1.0, theta_pc_plus=1.0, theta_pc_neg=1.0, res_pos=1.0, res_neg=1.0, theta_u_plus=1.0, theta_u_neg=1.0, d_plus=1.0, d_neg=1.0)
- op_type = 'ModIMKPinching'¶
- class o3seespy.command.uniaxial_material.other.MultiLinear(osi, pts)[source]¶
Bases:
UniaxialMaterialBaseThe MultiLinear UniaxialMaterial Class
This command is used to construct a uniaxial multilinear material object.
Initial method for MultiLinear
- Parameters
osi (o3seespy.OpenSeesInstance) –
pts (list) – A list of strain and stress points
pts = [strain1, stress1, strain2, stress2, ..., ]
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> pts = [0.01, 1.0, 0.02, 2.0] >>> o3.uniaxial_material.MultiLinear(osi, pts=pts)
- op_type = 'MultiLinear'¶
- class o3seespy.command.uniaxial_material.other.PathIndependent(osi, other)[source]¶
Bases:
UniaxialMaterialBaseThe PathIndependent UniaxialMaterial Class
This command is to create a PathIndependent material
Initial method for PathIndependent
- Parameters
osi (o3seespy.OpenSeesInstance) –
other (obj) – A pre-defined material
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> other = o3.uniaxial_material.Hardening(osi, e_mod=1.0, sigma_y=1.0, h_iso=1.0, h_kin=1.0, eta=0.0) >>> o3.uniaxial_material.PathIndependent(osi, other=other)
- op_type = 'PathIndependent'¶
- class o3seespy.command.uniaxial_material.other.SAWS(osi, f0, fi, du, s0, r1, r2, r3, r4, alpha, beta)[source]¶
Bases:
UniaxialMaterialBaseThe SAWS UniaxialMaterial Class
This file contains the class definition for SAWSMaterial. SAWSMaterial provides the implementation of a one-dimensional hysteretic model develeped as part of the CUREe Caltech wood frame project.
Initial method for SAWS
- Parameters
osi (o3seespy.OpenSeesInstance) –
f0 (float) – Intercept strength of the shear wall spring element for the asymtotic line to the envelope curve f0 > fi > 0
fi (float) – Intercept strength of the spring element for the pinching branch of the hysteretic curve. (fi > 0).
du (float) – Spring element displacement at ultimate load. (du > 0).
s0 (float) – Initial stiffness of the shear wall spring element (s0 > 0).
r1 (float) – Stiffness ratio of the asymptotic line to the spring element envelope curve. the slope of this line is r1 s0. (0 < r1 < 1.0).
r2 (float) – Stiffness ratio of the descending branch of the spring element envelope curve. the slope of this line is r2 s0. ( r2 < 0).
r3 (float) – Stiffness ratio of the unloading branch off the spring element envelope curve. the slope of this line is r3 s0. ( r3 1).
r4 (float) – Stiffness ratio of the pinching branch for the spring element. the slope of this line is r4 s0. ( r4 > 0).
alpha (float) – Stiffness degradation parameter for the shear wall spring element. (alpha > 0).
beta (float) – Stiffness degradation parameter for the spring element. (beta > 0).
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.SAWS(osi, f0=1.0, fi=1.0, du=1.0, s0=1.0, r1=1.0, r2=1.0, r3=1.0, r4=1.0, alpha=1.0, beta=1.0)
- op_type = 'SAWS'¶
- class o3seespy.command.uniaxial_material.other.SelfCentering(osi, k1, k2, sig_act, beta, eps_slip=0, eps_bear=0, r_bear: Optional[float] = None)[source]¶
Bases:
UniaxialMaterialBaseThe SelfCentering UniaxialMaterial Class
This command is used to construct a uniaxial self-centering (flag-shaped) material object with optional non-recoverable slip behaviour and an optional stiffness increase at high strains (bearing behaviour).
Initial method for SelfCentering
- Parameters
osi (o3seespy.OpenSeesInstance) –
k1 (float) – Initial stiffness
k2 (float) – Post-activation stiffness (0<
k2``< ``k1)sig_act (float) – Forward activation stress/force
beta (float) – Ratio of forward to reverse activation stress/force
eps_slip (float, optional) – Slip strain/deformation (if
epsslip= 0, there will be no slippage)eps_bear (float, optional) – Bearing strain/deformation (if
epsbear= 0, there will be no bearing)r_bear (float (default=True), optional) – Ratio of bearing stiffness to initial stiffness
k1
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.SelfCentering(osi, k1=1.0, k2=1.0, sig_act=1.0, beta=1.0, eps_slip=0, eps_bear=0, r_bear=None)
- op_type = 'SelfCentering'¶
- class o3seespy.command.uniaxial_material.other.Viscous(osi, big_c, alpha)[source]¶
Bases:
UniaxialMaterialBaseThe Viscous UniaxialMaterial Class
This command is used to construct a uniaxial viscous material object. stress =C(strain-rate)^alpha
Initial method for Viscous
- Parameters
osi (o3seespy.OpenSeesInstance) –
big_c (float) – Damping coeficient
alpha (float) – Power factor (=1 means linear damping)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Viscous(osi, big_c=1.0, alpha=1.0)
- op_type = 'Viscous'¶
- class o3seespy.command.uniaxial_material.other.ViscousDamper(osi, k_el, cd, alpha, l_gap=0.0, nm=1, rel_tol=1e-06, abs_tol=1e-10, max_half=15)[source]¶
Bases:
UniaxialMaterialBaseThe ViscousDamper UniaxialMaterial Class
This command is used to construct a ViscousDamper material, which represents the Maxwell Model (linear spring and nonlinear dashpot in series). The ViscousDamper material simulates the hysteretic response of nonlinear viscous dampers. An adaptive iterative algorithm has been implemented and validated to solve numerically the constitutive equations within a nonlinear viscous damper with a high-precision accuracy.
Initial method for ViscousDamper
- Parameters
osi (o3seespy.OpenSeesInstance) –
k_el (float) – Elastic stiffness of linear spring to model the axial flexibility of a viscous damper (e.g. combined stiffness of the supporting brace and internal damper portion)
cd (float) – Damping coefficient
alpha (float) – Velocity exponent
l_gap (float, optional) – Gap length to simulate the gap length due to the pin tolerance
nm (int, optional) – Employed adaptive numerical algorithm (default value nm = 1; *
1= dormand-prince54, *2= 6th order adams-bashforth-moulton, *3= modified rosenbrock triple)rel_tol (float, optional) – Tolerance for absolute relative error control of the adaptive iterative algorithm (default value 10^-6)
abs_tol (float, optional) – Tolerance for absolute error control of adaptive iterative algorithm (default value 10^-10)
max_half (int, optional) – Maximum number of sub-step iterations within an integration step (default value 15)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ViscousDamper(osi, k_el=1.0, cd=1.0, alpha=1.0, l_gap=0.0, nm=1, rel_tol=1e-6, abs_tol=1e-10, max_half=15)
- op_type = 'ViscousDamper'¶
pytz¶
- class o3seespy.command.uniaxial_material.pytz.PyLiq1(osi, soil_type, pult, y50, cd, c, p_res, ele1, ele2, time_series=None)[source]¶
Bases:
UniaxialMaterialBaseThe PyLiq1 UniaxialMaterial Class
Initial method for PyLiq1
- Parameters
osi (o3seespy.OpenSeesInstance) –
soil_type (int) – Soiltype = 1 backbone of p-y curve approximates matlock (1970) soft clay relation. soiltype = 2 backbone of p-y curve approximates api (1993) sand relation.
pult (float) – Ultimate capacity of the p-y material. note that “p” or “pult” are distributed loads [force per length of pile] in common design equations, but are both loads for this uniaxial_material [i.e., distributed load times the tributary length of the pile].
y50 (float) – Displacement at which 50% of pult is mobilized in monotonic loading.
cd (float) – Variable that sets the drag resistance within a fully-mobilized gap as cd*pult.
c (float) – The viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate (velocity). (optional default = 0.0). nonzero c values are used to represent radiation damping effects
p_res (float) – Sets the minimum (or residual) peak resistance that the material retains as the adjacent solid soil elements liquefy
ele1 (float) – Are the eleobject (element numbers) for the two solid elements from which pyliq1 will obtain mean effective stresses and excess pore pressures
ele2 (float) – Are the eleobject (element numbers) for the two solid elements from which pyliq1 will obtain mean effective stresses and excess pore pressures
time_series (obj, optional) – Alternatively, mean effective stress can be supplied by a time series by specifying the text string
'-timeseries'and the object of the seriesseriesobject.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.PyLiq1(osi, soil_type=1, pult=1.0, y50=1.0, cd=1.0, c=1.0, p_res=1.0, ele1=1.0, ele2=1.0)
- op_type = 'PyLiq1'¶
- class o3seespy.command.uniaxial_material.pytz.PySimple1(osi, soil_type, pult, y50, cd, c=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe PySimple1 UniaxialMaterial Class
This command is used to construct a PySimple1 uniaxial material object.
Initial method for PySimple1
- Parameters
osi (o3seespy.OpenSeesInstance) –
soil_type (int) – Soiltype = 1 backbone of p-y curve approximates matlock (1970) soft clay relation. soiltype = 2 backbone of p-y curve approximates api (1993) sand relation.
pult (float) – Ultimate capacity of the p-y material. note that “p” or “pult” are distributed loads [force per length of pile] in common design equations, but are both loads for this uniaxial_material [i.e., distributed load times the tributary length of the pile].
y50 (float) – Displacement at which 50% of pult is mobilized in monotonic loading.
cd (float) – Variable that sets the drag resistance within a fully-mobilized gap as cd*pult.
c (float, optional) – The viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate (velocity). (optional default = 0.0). nonzero c values are used to represent radiation damping effects
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.PySimple1(osi, soil_type=1, pult=1.0, y50=1.0, cd=1.0, c=0.0)
- op_type = 'PySimple1'¶
- class o3seespy.command.uniaxial_material.pytz.QzSimple1(osi, qz_type, qult, z50, suction=0.0, c=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe QzSimple1 UniaxialMaterial Class
This command is used to construct a QzSimple1 uniaxial material object.
Initial method for QzSimple1
- Parameters
osi (o3seespy.OpenSeesInstance) –
qz_type (int) – Qztype = 1 backbone of q-z curve approximates reese and o’neill’s (1987) relation for drilled shafts in clay. qztype = 2 backbone of q-z curve approximates vijayvergiya’s (1977) relation for piles in sand.
qult (float) – Ultimate capacity of the q-z material. see note 1.
z50 (float) – Displacement at which 50% of qult is mobilized in monotonic loading. see note 2.
suction (float, optional) – Uplift resistance is equal to suction*qult. default = 0.0. the value of suction must be 0.0 to 0.1.*
c (float, optional) – The viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate (velocity). default = 0.0. nonzero c values are used to represent radiation damping effects.*
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.QzSimple1(osi, qz_type=1, qult=1.0, z50=1.0, suction=0.0, c=0.0)
- op_type = 'QzSimple1'¶
- class o3seespy.command.uniaxial_material.pytz.TzLiq1(osi, tz_type, tult, z50, c, ele1, ele2, time_series=None)[source]¶
Bases:
UniaxialMaterialBaseThe TzLiq1 UniaxialMaterial Class
Initial method for TzLiq1
- Parameters
osi (o3seespy.OpenSeesInstance) –
tz_type (int) – Tztype = 1 backbone of t-z curve approximates reese and o’neill (1987). tztype = 2 backbone of t-z curve approximates mosher (1984) relation.
tult (float) – Ultimate capacity of the t-z material. see note 1.
z50 (float) – Displacement at which 50% of tult is mobilized in monotonic loading.
c (float) – The viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate (velocity).
ele1 (float) – Are the eleobject (element numbers) for the two solid elements from which pyliq1 will obtain mean effective stresses and excess pore pressures
ele2 (float) – Are the eleobject (element numbers) for the two solid elements from which pyliq1 will obtain mean effective stresses and excess pore pressures
time_series (obj, optional) – Alternatively, mean effective stress can be supplied by a time series by specifying the text string
'-timeseries'and the object of the seriesmseriesobject.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.TzLiq1(osi, tz_type=1, tult=1.0, z50=1.0, c=1.0, ele1=1.0, ele2=1.0)
- op_type = 'TzLiq1'¶
- class o3seespy.command.uniaxial_material.pytz.TzSimple1(osi, soil_type, tult, z50, c=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe TzSimple1 UniaxialMaterial Class
This command is used to construct a TzSimple1 uniaxial material object.
Initial method for TzSimple1
- Parameters
osi (o3seespy.OpenSeesInstance) –
soil_type (int) – Soiltype = 1 backbone of t-z curve approximates reese and o’neill (1987). soiltype = 2 backbone of t-z curve approximates mosher (1984) relation.
tult (float) – Ultimate capacity of the t-z material. see note 1.
z50 (float) – Displacement at which 50% of tult is mobilized in monotonic loading.
c (float, optional) – The viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate (velocity). (optional default = 0.0). see note 2.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.TzSimple1(osi, soil_type=1, tult=1.0, z50=1.0, c=0.0)
- op_type = 'TzSimple1'¶
Standard¶
- class o3seespy.command.uniaxial_material.standard.ENT(osi, e_mod)[source]¶
Bases:
UniaxialMaterialBaseThe ENT UniaxialMaterial Class
This command is used to construct a uniaxial elastic-no tension material object.
Initial method for ENT
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (float) – Tangent
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ENT(osi, e_mod=1.0)
- op_type = 'ENT'¶
- class o3seespy.command.uniaxial_material.standard.Elastic(osi, e_mod, eta=0.0, eneg: Optional[float] = None)[source]¶
Bases:
UniaxialMaterialBaseThe Elastic UniaxialMaterial Class
This command is used to construct an elastic uniaxial material object.
Initial method for Elastic
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (float) – Tangent
eta (float, optional) – Damping tangent (optional, default=0.0)
eneg (float (default=True), optional) – Tangent in compression (optional, default=e)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None)
- op_type = 'Elastic'¶
- class o3seespy.command.uniaxial_material.standard.ElasticPP(osi, e_mod, epsy_p, epsy_n: Optional[float] = None, eps0=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe ElasticPP UniaxialMaterial Class
This command is used to construct an elastic perfectly-plastic uniaxial material object.
Initial method for ElasticPP
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (float) – Tangent
epsy_p (float) – Strain or deformation at which material reaches plastic state in tension
epsy_n (float (default=True), optional) – Strain or deformation at which material reaches plastic state in compression. (optional, default is tension value)
eps0 (float, optional) – Initial strain (optional, default: zero)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ElasticPP(osi, e_mod=1.0, epsy_p=1.0, epsy_n=None, eps0=0.0)
- op_type = 'ElasticPP'¶
- class o3seespy.command.uniaxial_material.standard.ElasticPPGap(osi, e_mod, fy, gap, eta=0.0, damage='noDamage')[source]¶
Bases:
UniaxialMaterialBaseThe ElasticPPGap UniaxialMaterial Class
This command is used to construct an elastic perfectly-plastic gap uniaxial material object.
Initial method for ElasticPPGap
- Parameters
osi (o3seespy.OpenSeesInstance) –
e_mod (float) – Tangent
fy (float) – Stress or force at which material reaches plastic state
gap (float) – Initial gap (strain or deformation)
eta (float, optional) – Hardening ratio (=eh/e), which can be negative
damage (str, optional) – An optional string to specify whether to accumulate damage or not in the material. with the default re-center on load reversal. is provided this recentering will not occur and gap will grow.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ElasticPPGap(osi, e_mod=1.0, fy=1.0, gap=1.0, eta=0.0, damage='noDamage')
- op_type = 'ElasticPPGap'¶
- class o3seespy.command.uniaxial_material.standard.Parallel(osi, mats, factor_args: Optional[list] = None)[source]¶
Bases:
UniaxialMaterialBaseThe Parallel UniaxialMaterial Class
This command is used to construct a parallel material object made up of an arbitrary number of previously-constructed UniaxialMaterial objects.
Initial method for Parallel
- Parameters
osi (o3seespy.OpenSeesInstance) –
mats (list) – Identification objects of materials making up the material model
factor_args (list, optional) – Factors to create a linear combination of the specified materials. factors can be negative to subtract one material from an other. (optional, default = 1.0)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mats = [o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None), >>> o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None)] >>> factor_args = [1.0, 1.0] >>> o3.uniaxial_material.Parallel(osi, mats=mats, factor_args=factor_args)
- op_type = 'Parallel'¶
- class o3seespy.command.uniaxial_material.standard.Series(osi, mats)[source]¶
Bases:
UniaxialMaterialBaseThe Series UniaxialMaterial Class
This command is used to construct a series material object made up of an arbitrary number of previously-constructed UniaxialMaterial objects.
Initial method for Series
- Parameters
osi (o3seespy.OpenSeesInstance) –
mats (list) – Identification objects of materials making up the material model
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> mats = [o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None), >>> o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None)] >>> o3.uniaxial_material.Series(osi, mats=mats)
- op_type = 'Series'¶
Steel¶
- class o3seespy.command.uniaxial_material.steel.DoddRestrepo(osi, fy, fsu, esh, esu, youngs, eshi, fshi, omega_fac=1.0)[source]¶
Bases:
UniaxialMaterialBaseThe DoddRestrepo UniaxialMaterial Class
This command is used to construct a Dodd-Restrepo steel material
Initial method for DoddRestrepo
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield strength
fsu (float) – Ultimate tensile strength (uts)
esh (float) – Tensile strain at initiation of strain hardening
esu (float) – Tensile strain at the uts
youngs (float) – Modulus of elasticity
eshi (float) – Tensile strain for a point on strain hardening curve, recommended range of values for eshi: [ (esu + 5*esh)/6, (esu + 3*esh)/4]
fshi (float) – Tensile stress at point on strain hardening curve corresponding to eshi
omega_fac (float, optional) – Roundedness factor for bauschinger curve in cycle reversals from the strain hardening curve. range: [0.75, 1.15]. largest value tends to near a bilinear bauschinger curve. default = 1.0.
Examples
>>> import o3seespy as o3 >>> # Example is currently not working >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.DoddRestrepo(osi, fy=1.0, fsu=1.0, esh=1.0, esu=1.0, youngs=1.0, eshi=1.0, fshi=1.0, omega_fac=1.0)
- op_type = 'Dodd_Restrepo'¶
- class o3seespy.command.uniaxial_material.steel.Hysteretic(osi, p1, p2, p3=None, n1=None, n2=None, n3=None, pinch_x=1.0, pinch_y=1.0, damage1=0.0, damage2=0.0, beta=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe Hysteretic UniaxialMaterial Class
This command is used to construct a uniaxial bilinear hysteretic material object with pinching of force and deformation, damage due to ductility and energy, and degraded unloading stiffness based on ductility.
Initial method for Hysteretic
- Parameters
osi (o3seespy.OpenSeesInstance) –
p1 (list) –
p1=[s1p, e1p], stress and strain (or force & deformation) at first point of the envelope in the positive directionp2 (list) –
p2=[s2p, e2p], stress and strain (or force & deformation) at second point of the envelope in the positive directionp3 (list (default=True), optional) –
p3=[s3p, e3p], stress and strain (or force & deformation) at third point of the envelope in the positive directionn1 (list) –
n1=[s1n, e1n], stress and strain (or force & deformation) at first point of the envelope in the negative directionn2 (list) –
n2=[s2n, e2n], stress and strain (or force & deformation) at second point of the envelope in the negative directionn3 (list (default=True), optional) –
n3=[s3n, e3n], stress and strain (or force & deformation) at third point of the envelope in the negative directionpinch_x (float) – Pinching factor for strain (or deformation) during reloading
pinch_y (float) – Pinching factor for stress (or force) during reloading
damage1 (float) – Damage due to ductility: d1(mu-1)
damage2 (float) – Damage due to energy: d2(eii/eult)
beta (float, optional) – Power used to determine the degraded unloading stiffness based on ductility, mu-beta (optional, default=0.0)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> p1 = [0.5, 0.5] >>> p2 = [1.0, 1.0] >>> p3 = [0, 1.5] >>> n1 = [-0.5, -0.5] >>> n2 = [-1.0, -1.0] >>> n3 = [0, -1.5] >>> o3.uniaxial_material.Hysteretic(osi, p1=p1, p2=p2, p3=p3, n1=n1, n2=n2, n3=n3, pinch_x=1, pinch_y=0, damage1=0, damage2=0)
- op_type = 'Hysteretic'¶
- class o3seespy.command.uniaxial_material.steel.RambergOsgoodSteel(osi, fy, e0, a, n)[source]¶
Bases:
UniaxialMaterialBaseThe RambergOsgoodSteel UniaxialMaterial Class
This command is used to construct a Ramberg-Osgood steel material object.
Initial method for RambergOsgoodSteel
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield strength
e0 (float) – Initial elastic tangent
a (float) – “yield offset” and the commonly used value for a is 0.002
n (float) – Parameters to control the transition from elastic to plastic branches. and controls the hardening of the material by increasing the “n” hardening ratio will be decreased. commonly used values for n are ~5 or greater.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.RambergOsgoodSteel(osi, fy=1.0, e0=1.0, a=1.0, n=1.0)
- op_type = 'RambergOsgoodSteel'¶
- class o3seespy.command.uniaxial_material.steel.ReinforcingSteel(osi, fy, fu, e_mod, e_mod_sh, eps_sh, eps_ult, buck=None, cm_fatigue=None, mp_curve=None)[source]¶
Bases:
UniaxialMaterialBaseThe ReinforcingSteelDMBuck UniaxialMaterial Class
This command is used to construct a ReinforcingSteel uniaxial material object. This object is intended to be used in a reinforced concrete fiber section as the steel reinforcing material.
Initial method for ReinforcingSteelDMBuck
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield stress in tension
fu (float) – Ultimate stress in tension
e_mod (float) – Initial elastic tangent
e_mod_sh (float) – Tangent at initial strain hardening
eps_sh (float) – Strain corresponding to initial strain hardening
eps_ult (float) – Strain at peak stress
lsr (float) – Slenderness ratio
alpha (float, optional) – Coffin-manson constant a
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ReinforcingSteelDMBuck(osi, fy=1.0, fu=1.0, e_mod=1.0, e_mod_sh=1.0, eps_sh=1.0, eps_ult=1.0, lsr_2=1, alpha=1.0)
- op_type = 'ReinforcingSteel'¶
- class o3seespy.command.uniaxial_material.steel.ReinforcingSteelCMFatigue(osi, fy, fu, es, esh, eps_sh, eps_ult, cf, alpha_2, cd)[source]¶
Bases:
UniaxialMaterialBaseThe ReinforcingSteelCMFatigue UniaxialMaterial Class
This command is used to construct a ReinforcingSteel uniaxial material object. This object is intended to be used in a reinforced concrete fiber section as the steel reinforcing material.
Initial method for ReinforcingSteelCMFatigue
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield stress in tension
fu (float) – Ultimate stress in tension
es (float) – Initial elastic tangent
esh (float) – Tangent at initial strain hardening
eps_sh (float) – Strain corresponding to initial strain hardening
eps_ult (float) – Strain at peak stress
cf (float) – Coffin-manson constant c
alpha_2 (None) –
cd (float) – Cyclic strength reduction constant
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ReinforcingSteelCMFatigue(osi, fy=1.0, fu=1.0, es=1.0, esh=1.0, eps_sh=1.0, eps_ult=1.0, cf=1.0, alpha_2=1, cd=1.0)
- op_type = 'ReinforcingSteel'¶
- class o3seespy.command.uniaxial_material.steel.ReinforcingSteelDMBuck(osi, fy, fu, e_mod, e_mod_sh, eps_sh, eps_ult, lsr, alpha=1.0, cm_fatigue=None, mp_curve=None)[source]¶
Bases:
UniaxialMaterialBaseThe ReinforcingSteelDMBuck UniaxialMaterial Class
This command is used to construct a ReinforcingSteel uniaxial material object. This object is intended to be used in a reinforced concrete fiber section as the steel reinforcing material.
Initial method for ReinforcingSteelDMBuck
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield stress in tension
fu (float) – Ultimate stress in tension
e_mod (float) – Initial elastic tangent
e_mod_sh (float) – Tangent at initial strain hardening
eps_sh (float) – Strain corresponding to initial strain hardening
eps_ult (float) – Strain at peak stress
lsr (float) – Slenderness ratio
alpha (float, optional) – Coffin-manson constant a
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ReinforcingSteelDMBuck(osi, fy=1.0, fu=1.0, e_mod=1.0, e_mod_sh=1.0, eps_sh=1.0, eps_ult=1.0, lsr=1, alpha=1.0)
- op_type = 'ReinforcingSteel'¶
- class o3seespy.command.uniaxial_material.steel.ReinforcingSteelGABuck(osi, fy, fu, es, esh, eps_sh, eps_ult, lsr, beta, r, gamma)[source]¶
Bases:
UniaxialMaterialBaseThe ReinforcingSteelGABuck UniaxialMaterial Class
This command is used to construct a ReinforcingSteel uniaxial material object. This object is intended to be used in a reinforced concrete fiber section as the steel reinforcing material.
Initial method for ReinforcingSteelGABuck
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield stress in tension
fu (float) – Ultimate stress in tension
es (float) – Initial elastic tangent
esh (float) – Tangent at initial strain hardening
eps_sh (float) – Strain corresponding to initial strain hardening
eps_ult (float) – Strain at peak stress
lsr (float) – Slenderness ratio
beta (float) – Amplification factor for the buckled stress strain curve.
r (float) – Buckling reduction factor r can be a real number between [0.0 and 1.0] r=1.0 full reduction (no buckling) r=0.0 no reduction 0.0<r<1.0 linear interpolation between buckled and unbuckled curves
gamma (float) – Buckling constant
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ReinforcingSteelGABuck(osi, fy=1.0, fu=1.0, es=1.0, esh=1.0, eps_sh=1.0, eps_ult=1.0, lsr=1.0, beta=1.0, r=1.0, gamma=1.0)
- op_type = 'ReinforcingSteel'¶
- class o3seespy.command.uniaxial_material.steel.ReinforcingSteelIsoHard(osi, fy, fu, es, esh, eps_sh, eps_ult, a1=4.3, limit=1.0)[source]¶
Bases:
UniaxialMaterialBaseThe ReinforcingSteelIsoHard UniaxialMaterial Class
This command is used to construct a ReinforcingSteel uniaxial material object. This object is intended to be used in a reinforced concrete fiber section as the steel reinforcing material.
Initial method for ReinforcingSteelIsoHard
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield stress in tension
fu (float) – Ultimate stress in tension
es (float) – Initial elastic tangent
esh (float) – Tangent at initial strain hardening
eps_sh (float) – Strain corresponding to initial strain hardening
eps_ult (float) – Strain at peak stress
a1 (float, optional) – Hardening constant (default = 4.3)
limit (float, optional) – Limit for the reduction of the yield plateau. % of original plateau length to remain (0.01 < limit < 1.0 ) limit =1.0, then no reduction takes place (default =0.01)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ReinforcingSteelIsoHard(osi, fy=1.0, fu=1.0, es=1.0, esh=1.0, eps_sh=1.0, eps_ult=1.0, a1=4.3, limit=1.0)
- op_type = 'ReinforcingSteel'¶
- class o3seespy.command.uniaxial_material.steel.ReinforcingSteelMPCurveParams(osi, fy, fu, es, esh, eps_sh, eps_ult, r1=0.333, r2=18.0, r3=4.0)[source]¶
Bases:
UniaxialMaterialBaseThe ReinforcingSteelMPCurveParams UniaxialMaterial Class
This command is used to construct a ReinforcingSteel uniaxial material object. This object is intended to be used in a reinforced concrete fiber section as the steel reinforcing material.
Initial method for ReinforcingSteelMPCurveParams
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield stress in tension
fu (float) – Ultimate stress in tension
es (float) – Initial elastic tangent
esh (float) – Tangent at initial strain hardening
eps_sh (float) – Strain corresponding to initial strain hardening
eps_ult (float) – Strain at peak stress
r1 (float, optional) – (default = 0.333)
r2 (float, optional) – (default = 18)
r3 (float, optional) – (default = 4)
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.ReinforcingSteelMPCurveParams(osi, fy=1.0, fu=1.0, es=1.0, esh=1.0, eps_sh=1.0, eps_ult=1.0, r1=0.333, r2=18.0, r3=4.0)
- op_type = 'ReinforcingSteel'¶
- class o3seespy.command.uniaxial_material.steel.Steel01(osi, fy: float, e0: float, b: float, a1=None, a2=None, a3=None, a4=None)[source]¶
Bases:
UniaxialMaterialBaseThe Steel01 UniaxialMaterial Class
This command is used to construct a uniaxial bilinear steel material object with kinematic hardening and optional isotropic hardening described by a non-linear evolution equation (REF: Fedeas).
Initial method for Steel01
- Parameters
fy (float) – Yield strength
e0 (float) – Initial elastic tangent
b (float) – Strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
a1 (float) – Isotropic hardening parameter, increase of compression yield envelope as proportion of yield strength after a plastic strain of
(optional)a2 (float) – Isotropic hardening parameter
a3 (float) – Isotropic hardening parameter, increase of tension yield envelope as proportion of yield strength after a plastic strain of
. (optional)a4 (float) – Isotropic hardening parameter (see explanation
- op_type = 'Steel01'¶
- class o3seespy.command.uniaxial_material.steel.Steel01Thermal(osi, fy, e0, b, a1, a2, a3, a4)[source]¶
Bases:
UniaxialMaterialBaseThe Steel01Thermal UniaxialMaterial Class
Initial method for Steel01Thermal
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield strength
e0 (float) – Initial elastic tangent
b (float) – Strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
a1 (float) – Isotropic hardening parameter, increase of compression yield envelope as proportion of yield strength after a plastic strain of

a2 (float) – Isotropic hardening parameter
a3 (float) – Isotropic hardening parameter, increase of tension yield envelope as proportion of yield strength after a plastic strain of
.a4 (float) – Isotropic hardening parameter (see explanation
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Steel01Thermal(osi, fy=1.0, e0=1.0, b=1.0, a1=1.0, a2=1.0, a3=1.0, a4=1.0)
- op_type = 'Steel01Thermal'¶
- class o3seespy.command.uniaxial_material.steel.Steel02(osi, fy, e0, b, params, a1: Optional[float] = None, a2=1.0, a3: Optional[float] = None, a4=1.0, sig_init=0.0)[source]¶
Bases:
UniaxialMaterialBaseThe Steel02 UniaxialMaterial Class
This command is used to construct a uniaxial Giuffre-Menegotto-Pinto steel material object with isotropic strain hardening.
Initial method for Steel02
- Parameters
osi (o3seespy.OpenSeesInstance) –
fy (float) – Yield strength
e0 (float) – Initial elastic tangent
b (float) – Strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
params (list) – Parameters to control the transition from elastic to plastic branches.
params=[r0,cr1,cr2]. recommended values: r0=between 10 and 20, cr1=0.925, cr2=0.15a1 (float (default=True), optional) – Isotropic hardening parameter, increase of compression yield envelope as proportion of yield strength after a plastic strain of

a2 (float, optional) – Isotropic hardening parameter
a3 (float (default=True), optional) – Isotropic hardening parameter, increase of tension yield envelope as proportion of yield strength after a plastic strain of
.a4 (float, optional) – Isotropic hardening parameter (see explanation
sig_init (float, optional) – Initial stress value (optional, default: 0.0) the strain is calculated from
epsp=siginit/e:: if (siginit!= 0.0) { double epsinit = siginit/e; eps = trialstrain+epsinit; } else { eps = trialstrain; }
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.Steel02(osi, fy=1.0, e0=1.0, b=1.0, params=[15, 0.925, 0.15])
- op_type = 'Steel02'¶
- class o3seespy.command.uniaxial_material.steel.SteelMPF(osi, fyp, fyn, e0, bp, bn, params, a1=0.0, a2=1.0, a3=0.0, a4=1.0)[source]¶
Bases:
UniaxialMaterialBaseThe SteelMPF UniaxialMaterial Class
This command is used to construct a uniaxialMaterial SteelMPF (Kolozvari et al., 2015), which represents the well-known uniaxial constitutive nonlinear hysteretic material model for steel proposed by Menegotto and Pinto (1973), and extended by Filippou et al. (1983) to include isotropic strain hardening effects.
Initial method for SteelMPF
- Parameters
osi (o3seespy.OpenSeesInstance) –
fyp (float) – Yield strength in tension (positive loading direction)
fyn (float) – Yield strength in compression (negative loading direction)
e0 (float) – Initial tangent modulus
bp (float) – Strain hardening ratio in tension (positive loading direction)
bn (float) – Strain hardening ratio in compression (negative loading direction)
params (list) – Parameters to control the transition from elastic to plastic branches.
params=[r0,cr1,cr2]. recommended values:r0=20,cr1=0.925,cr2=0.15orcr2=0.0015a1 (float, optional) – Isotropic hardening in compression parameter (optional, default = 0.0). shifts compression yield envelope by a proportion of compressive yield strength after a maximum plastic tensile strain of a2(fyp/e0)
a2 (float, optional) – Isotropic hardening in compression parameter (optional, default = 1.0).
a3 (float, optional) – Isotropic hardening in tension parameter (optional, default = 0.0). shifts tension yield envelope by a proportion of tensile yield strength after a maximum plastic compressive strain of a3(fyn/e0).
a4 (float, optional) – Isotropic hardening in tension parameter (optional, default = 1.0). see explanation of a3.
Examples
>>> import o3seespy as o3 >>> osi = o3.OpenSeesInstance(ndm=2) >>> o3.uniaxial_material.SteelMPF(osi, fyp=1.0, fyn=1.0, e0=1.0, bp=1.0, bn=1.0, params=[1.0, 1.0, 1.0], a1=0.0, a2=1.0, a3=0.0, a4=1.0)
- op_type = 'SteelMPF'¶