Skip to content

stdBrickElement

stdBrickElement

stdBrickElement(ndof: int, material: Material, b1: float = 0.0, b2: float = 0.0, b3: float = 0.0, lumped: bool = False, **kwargs)

Bases: Element

Standard 8-node hexahedral continuum element for 3D solids.

This element models 3D continuum response with 3 translational DOFs per node. It requires an assigned 3D nDMaterial and connects eight nodes in the order expected by OpenSees stdBrick.

Tcl form

element stdBrick <tag> <n1> ... <n8> <matTag> [<b1> <b2> <b3>] [-lumped]

Note
  • Body forces b1, b2, and b3 are constant in the global coordinate directions and are omitted from the Tcl command when zero.
  • When lumped is True, the exported command includes the -lumped flag for lumped mass matrix formation.

Attributes:

Name Type Description
b1

Constant body force in the global x-direction.

b2

Constant body force in the global y-direction.

b3

Constant body force in the global z-direction.

lumped

Whether to request a lumped mass matrix in OpenSees.

Example
from femora.core.model import Model

model = Model()
mat = model.material.nd.elastic_isotropic(
    user_name="Soil",
    E=5.0e6,
    nu=0.3,
    rho=2000.0,
)
ele = model.element.brick.std(
    ndof=3,
    material=mat,
    b3=-9.81,
    lumped=True,
)
print(ele.tag)

Create a stdBrickElement with validated material and body-force inputs.

Parameters:

Name Type Description Default
ndof int

Number of DOFs per node. Must be 3 for this element.

required
material Material

Managed 3D nDMaterial assigned to the brick.

required
b1 float

Constant body force in the global x-direction.

0.0
b2 float

Constant body force in the global y-direction.

0.0
b3 float

Constant body force in the global z-direction.

0.0
lumped bool

When True, export the -lumped mass-matrix flag.

False
**kwargs

Additional element parameters stored on the base element.

{}

Raises:

Type Description
ValueError

If the material is incompatible, if ndof is not 3, or if any provided parameter is invalid.