pub struct ElasticBeamColumn3 {
pub node_i: Node3Id,
pub node_j: Node3Id,
pub e: f64,
pub g: f64,
pub a: f64,
pub j: f64,
pub iy: f64,
pub iz: f64,
pub transform: GeomTransf3,
pub density: f64,
}Expand description
ElasticBeamColumn’s spatial counterpart: a 2-node, prismatic,
linear-elastic 3D Euler-Bernoulli beam-column (E, G, A, J, Iy, Iz),
closed-form, GeomTransf3::Linear3 only — see this struct’s
module-level context for why 3D P-Delta isn’t implemented yet: it needs
force/tangent recovery already consistent in the linear case first.
Local DOF order per node [u, v, w, rx, ry, rz] (axial, then bending
about local z causing local-y displacement v/rz, then bending about
local y causing local-z displacement w/ry, torsion rx) — matches
SpatialDof’s [Ux, Uy, Uz, Rx, Ry, Rz] order exactly, so no per-node
DOF reordering is needed between local and global, only transform’s
rotation. Verified against Xara/OpenSees’s ElasticBeam3d (basic-
stiffness terms, local DOF order).
Fields§
§node_i: Node3Id§node_j: Node3Id§e: f64§g: f64§a: f64§j: f64Torsion constant (St. Venant), not a polar moment of inertia for non-circular sections.
iy: f64Second moment of area about local y — governs bending that
displaces local z (w/ry).
iz: f64Second moment of area about local z — governs bending that
displaces local y (v/rz), the plane a 2D ElasticBeamColumn
implicitly bends in.
transform: GeomTransf3§density: f64Mass per unit volume; zero means massless.
Implementations§
Trait Implementations§
Source§impl Clone for ElasticBeamColumn3
impl Clone for ElasticBeamColumn3
Source§fn clone(&self) -> ElasticBeamColumn3
fn clone(&self) -> ElasticBeamColumn3
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ElasticBeamColumn3
impl RefUnwindSafe for ElasticBeamColumn3
impl Send for ElasticBeamColumn3
impl Sync for ElasticBeamColumn3
impl Unpin for ElasticBeamColumn3
impl UnsafeUnpin for ElasticBeamColumn3
impl UnwindSafe for ElasticBeamColumn3
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.