Skip to content

Isolator2SpringSection

Isolator2SpringSection

Isolator2SpringSection(user_name: str = 'Unnamed', *, tol: float, k1: float, Fy: float, k2: float, kv: float, hb: float, Pe: float, Po: float)

Bases: Section

Horizontal isolator section modeled by two springs in series.

This section type represents a specialized model for seismic isolation bearings. It consists of two springs (one elastic, one elastic-plastic) acting in series, and it accounts for the coupling between horizontal and vertical loads, including the reduction in horizontal stiffness due to axial buckling.

Tcl form

section Isolator2spring <tag> <tol> <k1> <Fy> <k2> <kv> <hb> <Pe> <Po>

Note
  • k1, Fy, and k2 define the bilinear horizontal response.
  • kv is the vertical stiffness of the bearing.
  • hb is the total height of the elastomeric or friction bearing.
  • Pe is the Euler buckling load, and Po is the static axial load used to compute the initial P-Delta effect.
  • The algorithm iterates to find the horizontal force that balances the spring series; tol is the convergence tolerance.
Tip
  • Use this section when modeling lead-rubber bearings (LRB) or high- damping rubber bearings where P-Delta effects and buckling are significant concerns.
Example
from femora.core.model import Model
import femora.components.section.special  # noqa: F401

model = Model()
sec = model.section.special.isolator2spring(
    user_name="Isolator_Unit1",
    tol=1e-6,
    k1=10.0,
    Fy=1.0,
    k2=1.5,
    kv=1000.0,
    hb=12.0,
    Pe=500.0,
    Po=50.0,
)
print(sec.tag)

Create an Isolator2SpringSection with validated parameters.

Parameters:

Name Type Description Default
user_name str

User-specified name for the section.

'Unnamed'
tol float

Tolerance.

required
k1 float

Initial horizontal stiffness.

required
Fy float

Yield force.

required
k2 float

Post-yield horizontal stiffness.

required
kv float

Vertical stiffness.

required
hb float

Bearing height.

required
Pe float

Buckling load.

required
Po float

Axial load.

required

Raises:

Type Description
ValueError

If parameters are not numeric, if dimensions/stiffnesses are non-positive, or if loads are negative.