pub enum BeamIntegration {
Legendre {
points: usize,
},
Lobatto {
points: usize,
},
}Expand description
Numerical integration scheme along a frame element’s length, relating
per-section response (FiberSection) to element-level response — needed
by DispBeamColumn. Closed enum.
Point/weight tables are copied directly from OpenSees’s own
(xara/SRC/quadrature/Frame/{Legendre,Lobatto}BeamIntegration.cpp),
not computed via a general-purpose quadrature crate — domain-specific
numerics like this are copied from the reference implementation, the
same way element/material formulations are, not sourced from a generic
library (unlike heavily-optimized linear algebra, e.g. nalgebra/
faer, where using a library is the right call). Supports 2-6 points,
matching the range DispBeamColumn actually needs in practice — the
C++ source supports up to 10; extend the tables if that’s ever needed.
Variants§
Legendre
Gauss-Legendre: interior points only, n-point rule exact to
degree 2n-1. DispBeamColumn’s usual default.
Lobatto
Gauss-Lobatto: includes both end points, n-point rule exact to
degree 2n-3 — favored for ForceBeamColumn since end-section
behavior matters most for plastic hinges there, but not needed by
DispBeamColumn itself. Included now since both were asked for
together and the table-driven implementation cost is the
same either way.
Implementations§
Trait Implementations§
Source§impl Clone for BeamIntegration
impl Clone for BeamIntegration
Source§fn clone(&self) -> BeamIntegration
fn clone(&self) -> BeamIntegration
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BeamIntegration
Source§impl Debug for BeamIntegration
impl Debug for BeamIntegration
Source§impl PartialEq for BeamIntegration
impl PartialEq for BeamIntegration
impl StructuralPartialEq for BeamIntegration
Auto Trait Implementations§
impl Freeze for BeamIntegration
impl RefUnwindSafe for BeamIntegration
impl Send for BeamIntegration
impl Sync for BeamIntegration
impl Unpin for BeamIntegration
impl UnsafeUnpin for BeamIntegration
impl UnwindSafe for BeamIntegration
Blanket Implementations§
impl<T> Boilerplate for T
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<T> Scalar for T
§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.