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
Mass moments per unit length, using polar area inertia about x.
Restore a recovery-only section without a material/solver registry.
Return a dict with all the known ConstitutiveLaw (with a name).
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.
Inverse centroid-preserving map, including heterogeneous dimensions.
Sampling coordinates; varying pipe radii may yield (points, 2, GP).
Map normalized (y,z) toward each bounding face about the centroid.
Reset the constitutive law.
BeamProperties.sample_points([n_points])Normalized section points; default to section-mesh nodes.
Yield physical points, broadcasting varying dimensions along beams.
Physical bounding-box bounds relative to the section centroid.
BeamProperties.section_coordinates(position)Resolve normalized coordinates; scalar positions are ambiguous.
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.
Mass per unit beam length.
Approximate section sampling budget, an integer of at least eight.
Name of the constitutive law.
Configured normalized output coordinates, or None without sampling.
Mass moments of inertia per unit beam length.
Section surface
Torsion constant
Second moment of area with respect to y
Second moment of area with respect to z
Shear shape factor.
Tag set to True once the law is intialized.