pub struct BeamSolver { /* private fields */ }Expand description
Beam solver — joint equilibrium via Newton-Raphson in R^{4(N-1)}
Implementations§
Source§impl BeamSolver
impl BeamSolver
pub fn new(tolerance: f64) -> Self
Sourcepub fn solve(&self, beam: &MultiSegmentBeam) -> Result<JointEquilibrium, String>
pub fn solve(&self, beam: &MultiSegmentBeam) -> Result<JointEquilibrium, String>
Solve joint equilibrium for a multi-segment beam
Algorithm:
- Initialize joint state guesses (zero internal forces)
- For each segment, integrate Euler elastica via shooting
- Collect residuals at each joint: R_j = state_left - state_right
- Newton-Raphson step in R^{4(N-1)}
- Iterate until ||R||₂ < tolerance or max iterations
This is O(N) in segment count — each iteration is one forward pass.
Trait Implementations§
Source§impl Clone for BeamSolver
impl Clone for BeamSolver
Source§fn clone(&self) -> BeamSolver
fn clone(&self) -> BeamSolver
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BeamSolver
impl RefUnwindSafe for BeamSolver
impl Send for BeamSolver
impl Sync for BeamSolver
impl Unpin for BeamSolver
impl UnsafeUnpin for BeamSolver
impl UnwindSafe for BeamSolver
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
Mutably borrows from an owned value. Read more