o3seespy.uniaxial_material

base_material

class o3seespy.command.uniaxial_material.base_material.UniaxialMaterialBase[source]

Bases: OpenSeesObject

build(osi)[source]
op_base_type = 'uniaxialMaterial'
op_type = None
set_parameter(osi, pstr, value, ele, eles)[source]

Concrete

class o3seespy.command.uniaxial_material.concrete.Concrete01(osi, fpc, epsc0, fpcu, eps_u)[source]

Bases: UniaxialMaterialBase

The 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'
set_epsco(value, ele=None, eles=None)[source]
set_epscu(value, ele=None, eles=None)[source]
set_fc(value, ele=None, eles=None)[source]
set_fcu(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.concrete.Concrete01WithSITC(osi, fpc, epsc0, fpcu, eps_u, end_strain_sitc=0.01)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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) – \alpha_1 parameter for compressive plastic strain definition

  • fcr (float) – Tensile strength

  • ecr (float) – Tensile strain at peak stress (fcr)

  • b (float) – Exponent of the tension stiffening curve

  • alpha2 (float) – \alpha_2 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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 (f'_c)

  • epcc (float) – Strain at compressive strength (\epsilon'_c)

  • ec (float) – Initial tangent modulus (e_c)

  • rc (float) – Shape parameter in tsai’s equation defined for compression (r_c)

  • xcrn (float) – Non-dimensional critical strain on compression envelope (\epsilon^{-}_{cr}, where the envelope curve starts following a straight line)

  • ft (float) – Tensile strength (f_t)

  • et (float) – Strain at tensile strength (\epsilon_t)

  • rt (float) – Shape parameter in tsai’s equation defined for tension (r_t)

  • xcrp (float) – Non-dimensional critical strain on tension envelope (\epsilon^{+}_{cr}, 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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 ones

  • wrap_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'
set_epsco(value, ele=None, eles=None)[source]
set_epscu(value, ele=None, eles=None)[source]
set_fc(value, ele=None, eles=None)[source]
set_fcu(value, ele=None, eles=None)[source]
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: UniaxialMaterialBase

The 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'
set_c(value, ele=None, eles=None)[source]
set_d(value, ele=None, eles=None)[source]
set_dlong(value, ele=None, eles=None)[source]
set_dtrans(value, ele=None, eles=None)[source]
set_ej(value, ele=None, eles=None)[source]
set_eju(value, ele=None, eles=None)[source]
set_epsco(value, ele=None, eles=None)[source]
set_es(value, ele=None, eles=None)[source]
set_fc1(value, ele=None, eles=None)[source]
set_fc2(value, ele=None, eles=None)[source]
set_fyh(value, ele=None, eles=None)[source]
set_fyl(value, ele=None, eles=None)[source]
set_k(value, ele=None, eles=None)[source]
set_s(value, ele=None, eles=None)[source]
set_sj(value, ele=None, eles=None)[source]
set_tj(value, ele=None, eles=None)[source]
set_use_buck(value, ele=None, eles=None)[source]
set_vo(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.concrete.FRPConfinedConcrete02JacketC(osi, fc0, ec, ec0, tfrp, efrp, erup, big_r)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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'
set_c(value, ele=None, eles=None)[source]
set_fr(value, ele=None, eles=None)[source]
set_k(value, ele=None, eles=None)[source]
set_l_gap(value, ele=None, eles=None)[source]
set_p(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.other.BondSP01(osi, fy, sy, fu, su, b, big_r)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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'
set_alpha(value, ele=None, eles=None)[source]
set_ao(value, ele=None, eles=None)[source]
set_beta(value, ele=None, eles=None)[source]
set_delta_a(value, ele=None, eles=None)[source]
set_delta_eta(value, ele=None, eles=None)[source]
set_delta_nu(value, ele=None, eles=None)[source]
set_gamma(value, ele=None, eles=None)[source]
set_ko(value, ele=None, eles=None)[source]
set_n(value, ele=None, eles=None)[source]
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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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 <= epsp2

  • ep2 (float) – Tangent when material in tension with strains > epsp2

  • eps_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 <= epsn2

  • en2 (float (default=True), optional) – Optional, default = ep2. tangent in compression with strains < epsn2

  • eps_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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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'
set_e_mod(value, ele=None, eles=None)[source]
set_fy(value, ele=None, eles=None)[source]
set_hiso(value, ele=None, eles=None)[source]
set_hkin(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.other.HyperbolicGapMaterial(osi, kmax, kur, rf, fult, gap)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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'
set_f0(value, ele=None, eles=None)[source]
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: UniaxialMaterialBase

The 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'
set_state_flag(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.other.MinMax(osi, other, min_strain: Optional[float] = None, max_strain: Optional[float] = None)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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'
set_alpha(value, ele=None, eles=None)[source]
set_c(value, ele=None, eles=None)[source]
set_min_vel(value, ele=None, eles=None)[source]
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: UniaxialMaterialBase

The 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'
set_e_mod(value, ele=None, eles=None)[source]
set_eta(value, ele=None, eles=None)[source]

pytz

class o3seespy.command.uniaxial_material.pytz.PyLiq1(osi, soil_type, pult, y50, cd, c, p_res, ele1, ele2, time_series=None)[source]

Bases: UniaxialMaterialBase

The 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 series seriesobject.

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'
set_update_material_stage(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.pytz.PySimple1(osi, soil_type, pult, y50, cd, c=0.0)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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 seriesm seriesobject.

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'
set_update_material_stage(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.pytz.TzSimple1(osi, soil_type, tult, z50, c=0.0)[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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'
set_e_mod(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.standard.Elastic(osi, e_mod, eta=0.0, eneg: Optional[float] = None)[source]

Bases: UniaxialMaterialBase

The 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'
set_e_mod(value, ele=None, eles=None)[source]
set_eneg(value, ele=None, eles=None)[source]
set_epos(value, ele=None, eles=None)[source]
set_eta(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.standard.ElasticPP(osi, e_mod, epsy_p, epsy_n: Optional[float] = None, eps0=0.0)[source]

Bases: UniaxialMaterialBase

The 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'
set_e_mod(value, ele=None, eles=None)[source]
set_ep(value, ele=None, eles=None)[source]
set_fy(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.standard.ElasticPPGap(osi, e_mod, fy, gap, eta=0.0, damage='noDamage')[source]

Bases: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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 direction

  • p2 (list) – p2=[s2p, e2p], stress and strain (or force & deformation) at second point of the envelope in the positive direction

  • p3 (list (default=True), optional) – p3=[s3p, e3p], stress and strain (or force & deformation) at third point of the envelope in the positive direction

  • n1 (list) – n1=[s1n, e1n], stress and strain (or force & deformation) at first point of the envelope in the negative direction

  • n2 (list) – n2=[s2n, e2n], stress and strain (or force & deformation) at second point of the envelope in the negative direction

  • n3 (list (default=True), optional) – n3=[s3n, e3n], 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(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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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: UniaxialMaterialBase

The 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 a_2*(f_y/e_0) (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 a_4*(f_y/e_0). (optional)

  • a4 (float) – Isotropic hardening parameter (see explanation

op_type = 'Steel01'
set_a1(value, ele=None, eles=None)[source]
set_a2(value, ele=None, eles=None)[source]
set_a3(value, ele=None, eles=None)[source]
set_a4(value, ele=None, eles=None)[source]
set_b(value, ele=None, eles=None)[source]
set_e_mod(value, ele=None, eles=None)[source]
set_fy(value, ele=None, eles=None)[source]
class o3seespy.command.uniaxial_material.steel.Steel01Thermal(osi, fy, e0, b, a1, a2, a3, a4)[source]

Bases: UniaxialMaterialBase

The 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 a_2*(f_y/e_0)

  • 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 a_4*(f_y/e_0).

  • 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'
set_a1(value, ele=None, eles=None)[source]
set_a2(value, ele=None, eles=None)[source]
set_a3(value, ele=None, eles=None)[source]
set_a4(value, ele=None, eles=None)[source]
set_b(value, ele=None, eles=None)[source]
set_e_mod(value, ele=None, eles=None)[source]
set_fy(value, ele=None, eles=None)[source]
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: UniaxialMaterialBase

The 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.15

  • a1 (float (default=True), optional) – Isotropic hardening parameter, increase of compression yield envelope as proportion of yield strength after a plastic strain of a_2*(f_y/e_0)

  • 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 a_4*(f_y/e_0).

  • 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'
set_a1(value, ele=None, eles=None)[source]
set_a2(value, ele=None, eles=None)[source]
set_a3(value, ele=None, eles=None)[source]
set_a4(value, ele=None, eles=None)[source]
set_b(value, ele=None, eles=None)[source]
set_e_mod(value, ele=None, eles=None)[source]
set_fy(value, ele=None, eles=None)[source]
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: UniaxialMaterialBase

The 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.15 or cr2=0.0015

  • a1 (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'