Euler-Bernoulli Beam Model#

class sgio.model.EulerBernoulliBeamModel(*, dim: int = 1, label: str = 'bm1', model_name: str = 'Euler-Bernoulli beam model', name: str = '', id: int | None = None, xg2: float | None = None, xg3: float | None = None, area: Annotated[float | None, Ge(ge=0)] = None, mass: List[List[float]] | None = None, mass_mc: List[List[float]] | None = None, xm2: float | None = None, xm3: float | None = None, mu: Annotated[float | None, Ge(ge=0)] = None, i11: Annotated[float | None, Ge(ge=0)] = None, i22: Annotated[float | None, Ge(ge=0)] = None, i33: Annotated[float | None, Ge(ge=0)] = None, phi_pia: float = 0, rg: Annotated[float | None, Ge(ge=0)] = None, stff: List[List[float]] | None = None, cmpl: List[List[float]] | None = None, xt2: float | None = None, xt3: float | None = None, ea: Annotated[float | None, Ge(ge=0)] = None, gj: Annotated[float | None, Ge(ge=0)] = None, ei22: Annotated[float | None, Ge(ge=0)] = None, ei33: Annotated[float | None, Ge(ge=0)] = None, phi_pba: float = 0)#

Euler-Bernoulli Beam Model

get(name)#

Get beam properties using specific names.

Parameters:

name (str or list of str) – Name(s) of the property that will be returned.

Returns:

Value(s) of the specified beam property.

Return type:

float or list of float

Notes

Table 2 Inertial properties#

Name

Description

msij (i, j = 1 to 6)

Entry (i, j) of the 6x6 mass matrix at the origin

mu

Mass per unit length

mmoi1 | mmoi2 | mmoi3

Mass moment of inertia about x1/x2/x3 axis

Table 3 Stiffness properties#

Name

Description

stfij (i, j = 1 to 6)

Entry (i, j) of the 4x4 classical stiffness matrix

cmpij (i, j = 1 to 6)

Entry (i, j) of the 4x4 classical compliance matrix

ea

Axial stiffness of the model

gj

Torsional stiffness of the model

ei22 | eiyy

Bending stiffness around x2 (flapwise) of the model

ei33 | eizz

Bending stiffness around x3 (chordwise or lead-lag) of the model

Table 4 Center offsets#

Name

Description

mcy | mc2

y (or x2) component of the mass center

mcz | mc3

z (or x3) component of the mass center

tcy | tc2

y (or x2) component of the tension center

tcz | tc3

z (or x3) component of the tension center

getAll()#

Get all beam properties.

Returns:

A Dictionary of all beam properties.

Return type:

dict

Notes

Names are

  • mu, mmoi1, mmoi2, mmoi3

  • ea, ga22, ga33, gj, ei22, ei33

  • mc2, mc3, tc2, tc3

  • stfij, cmpij

classmethod validate_4x4_matrix(v)#

Validate that stiffness/compliance matrices are 4x4

classmethod validate_6x6_matrix(v)#

Validate that mass matrices are 6x6

property gyr1: float | None#

Mass-weighted radius of gyration (same as rg)

property gyr2: float | None#

Radius of gyration about x2 axis

property gyr3: float | None#

Radius of gyration about x3 axis

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].