pub struct BucklingAnalysis { /* private fields */ }Expand description
Buckling analysis
Implementations§
Source§impl BucklingAnalysis
impl BucklingAnalysis
pub fn new() -> Self
pub fn initialize(&mut self) -> Result<(), EngineeringError>
Sourcepub fn eigenvalue_buckling(&self) -> &EigenvalueBuckling
pub fn eigenvalue_buckling(&self) -> &EigenvalueBuckling
Borrow the eigenvalue-buckling sub-component.
Sourcepub fn eigenvalue_buckling_mut(&mut self) -> &mut EigenvalueBuckling
pub fn eigenvalue_buckling_mut(&mut self) -> &mut EigenvalueBuckling
Mutably borrow the eigenvalue-buckling sub-component.
Sourcepub fn nonlinear_buckling(&self) -> &NonlinearBuckling
pub fn nonlinear_buckling(&self) -> &NonlinearBuckling
Borrow the nonlinear-buckling sub-component.
Sourcepub fn nonlinear_buckling_mut(&mut self) -> &mut NonlinearBuckling
pub fn nonlinear_buckling_mut(&mut self) -> &mut NonlinearBuckling
Mutably borrow the nonlinear-buckling sub-component.
Sourcepub fn analyze_euler(
&mut self,
youngs_modulus: f64,
moment_of_inertia: f64,
length: f64,
effective_length_factor: f64,
num_modes: usize,
) -> Result<EigenvalueBuckling, EngineeringError>
pub fn analyze_euler( &mut self, youngs_modulus: f64, moment_of_inertia: f64, length: f64, effective_length_factor: f64, num_modes: usize, ) -> Result<EigenvalueBuckling, EngineeringError>
Euler elastic critical buckling loads of a prismatic column:
P_cr,n = n²·π²·E·I / (K·L)² for modes n = 1..=num_modes, where K is
the effective-length factor (pinned–pinned = 1.0, fixed–free = 2.0,
fixed–fixed = 0.5, fixed–pinned ≈ 0.699). Genuine closed-form column
stability — not a fabricated value. Fills and returns EigenvalueBuckling:
critical_loads ascending, each BucklingMode carrying the exact
buckling half-wave sin(nπx/L) sampled at 11 equally-spaced stations.
Sourcepub fn analyze_from_model(
&mut self,
model: &EngineeringModel,
num_modes: usize,
) -> Result<EigenvalueBuckling, EngineeringError>
pub fn analyze_from_model( &mut self, model: &EngineeringModel, num_modes: usize, ) -> Result<EigenvalueBuckling, EngineeringError>
Euler critical buckling of the member described by model: uses the first
material’s Young’s modulus, the weak-axis second moment of area of the
rectangular cross-section I = min(b·h³, h·b³)/12 from the first two
geometry dimensions [b, h], the third dimension as the member length L,
and a pinned–pinned effective-length factor K = 1.0. Returns the first
num_modes critical loads. Missing/degenerate inputs → InsufficientData.
Auto Trait Implementations§
impl Freeze for BucklingAnalysis
impl RefUnwindSafe for BucklingAnalysis
impl Send for BucklingAnalysis
impl Sync for BucklingAnalysis
impl Unpin for BucklingAnalysis
impl UnsafeUnpin for BucklingAnalysis
impl UnwindSafe for BucklingAnalysis
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more