fedoo.constitutivelaw.BeamProperties

class BeamProperties(material, A, Jx, Iyy, Izz, k=0, name='', *, section_points=None, section_mesh=None, section_scale=(1.0, 1.0), output_points=None, n_points=32, section_bounds=None)
__init__(material, A, Jx, Iyy, Izz, k=0, name='', *, section_points=None, section_mesh=None, section_scale=(1.0, 1.0), output_points=None, n_points=32, section_bounds=None)

Beam properties constitutive law.

This constitutive law should be associated with the weakform fedoo.weakform.BeamEquilibrium

Parameters:
  • material (ConstitutiveLaw name (str) or ConstitutiveLaw object) – Material Constitutive Law used to get the elastic modulus and shear modulus. The ConstitutiveLaw object should have attributes E and G that gives the young modulus and the shear modulus (as fedoo.constitutivelaw.ElasticIsotrop).

  • A (scalar or arrays of gauss point values) – Beam section area.

  • Jx (scalar or arrays of gauss point values) – Torsion constant.

  • Iyy (scalar or arrays of gauss point values) – Second moment of area with respect to y (beam local coordinate system).

  • Izz (scalar or arrays of gauss point values) – Second moment of area with respect to z (beam local coordinate system).

  • k (scalar or arrays of gauss point values, default: 0) – Shear shape factor. If k=0 (default) the beam use the bernoulli hypothesis.

  • name (str) – name of the WeakForm.

Notes

The current beam formulation supports isotropic linear elastic materials only. Material orientations are ignored; the beam cross-section orientation is defined by the assembly element frame.

Methods

BeamProperties.compute_linear_density()

BeamProperties.compute_rotary_density()

Mass moments per unit length, using polar area inertia about x.

BeamProperties.from_section_description(...)

Restore a recovery-only section without a material/solver registry.

BeamProperties.get_all()

Return a dict with all the known ConstitutiveLaw (with a name).

BeamProperties.get_beam_rigidity()

BeamProperties.get_local_frame(assembly)

Current local basis rows in global coordinates, in Gauss-point order.

BeamProperties.get_strain(assembly[, position])

Recover local kinematic section strain without elastic properties.

BeamProperties.get_stress(assembly[, position])

Recover local stress at normalized points, defaulting to output_points.

BeamProperties.initialize(assembly, pb)

Initialize the constitutive law for the current problem.

BeamProperties.normalize_section_coordinates(...)

Inverse centroid-preserving map, including heterogeneous dimensions.

BeamProperties.normalized_output_points([...])

Sampling coordinates; varying pipe radii may yield (points, 2, GP).

BeamProperties.normalized_section_coordinates(...)

Map normalized (y,z) toward each bounding face about the centroid.

BeamProperties.reset()

Reset the constitutive law.

BeamProperties.sample_points([n_points])

Normalized section points; default to section-mesh nodes.

BeamProperties.scale_section_points(points)

Yield physical points, broadcasting varying dimensions along beams.

BeamProperties.section_bounds()

Physical bounding-box bounds relative to the section centroid.

BeamProperties.section_coordinates(position)

Resolve normalized coordinates; scalar positions are ambiguous.

BeamProperties.section_description()

Portable section schema; arrays retain their beam data association.

BeamProperties.section_mesh([n_points])

Mesh in normalized centroid-relative (y,z) coordinates.

BeamProperties.set_local_frame(local_frame)

Define the material coordinate frame.

BeamProperties.set_start(assembly, pb)

Begin a new time iteration.

BeamProperties.shear_stress(force_y, ...)

Average transverse shear; subclasses may supply section distributions.

BeamProperties.to_start(assembly, pb)

Restart the current time iteration.

BeamProperties.torsion_strain(twist, y, z)

Circular-section torsion kinematics, independent of material stiffness.

BeamProperties.torsion_stress(torque, y, z)

Circular-section torsion, or no torsion for generic sections.

BeamProperties.update(assembly, pb)

Update the constitutive law for the current problem state.

BeamProperties.linear_density

Mass per unit beam length.

BeamProperties.n_points

Approximate section sampling budget, an integer of at least eight.

BeamProperties.name

Name of the constitutive law.

BeamProperties.output_points

Configured normalized output coordinates, or None without sampling.

BeamProperties.recovery

BeamProperties.rotary_density

Mass moments of inertia per unit beam length.

BeamProperties.section_dimensions

BeamProperties.section_registry

BeamProperties.section_type

BeamProperties.A

Section surface

BeamProperties.Jx

Torsion constant

BeamProperties.Iyy

Second moment of area with respect to y

BeamProperties.Izz

Second moment of area with respect to z

BeamProperties.k

Shear shape factor.

BeamProperties.is_initialized

Tag set to True once the law is intialized.