pub enum AnalysisError {
FailedToConverge {
step: usize,
},
SingularSystem,
InvalidConstraint,
InvalidModeCount {
requested: usize,
free_dofs: usize,
},
InvalidOption {
field: &'static str,
},
UnsupportedLoadSeries,
ZeroLoadSensitivity,
InitialStateNotInEquilibrium {
measure: f64,
},
MissingSeedDirection,
CutbacksExhausted {
step: usize,
attempts: usize,
radius: f64,
last_failure: ArcFailure,
},
ContinuationComplete,
InvalidModel(ModelError),
}Expand description
Real error enum, not sentinel integers. Carries the context an
OpenSees-style -1..-5 return code would otherwise leave to
out-of-band documentation.
Variants§
FailedToConverge
SingularSystem
InvalidConstraint
An Integrator::DisplacementControl’s controlled DOF is fixed (not
part of the free-DOF system), so there’s no equation to control.
InvalidModeCount
modal_analysis was asked for more modes than the model has free
DOFs (or zero modes) — there’s no such Krylov subspace to build.
InvalidOption
A configuration value is out of range, nonfinite, or not supported
in combination with the rest of the analysis. field names the
option in its wire-format spelling (e.g. "integrator.minRadius").
UnsupportedLoadSeries
Arc-length continuation found an unfrozen LoadSeries::Path pattern
(its slope isn’t valid across a load reversal or breakpoint).
ZeroLoadSensitivity
Arc-length continuation’s combined reference-load sensitivity is zero on every free equation: there is no load to continue.
InitialStateNotInEquilibrium
Arc-length continuation must start from equilibrium. measure is the
force-test measure at entry (||r|| for NormUnbalance, the largest
scaled component for Combined).
MissingSeedDirection
The first arc-length tangent is singular and no seed direction was
configured to orient it.
CutbacksExhausted
Every arc-length attempt for this step failed and the radius can’t
be reduced further (or the retry budget is spent). last_failure
says why the final attempt failed.
ContinuationComplete
An arc-length stop criterion was already met; the phase is over and further steps are refused without changing any state.
InvalidModel(ModelError)
The model failed Domain::validate (for example a nodal load on a
DOF no element stiffens).
Trait Implementations§
Source§impl Clone for AnalysisError
impl Clone for AnalysisError
Source§fn clone(&self) -> AnalysisError
fn clone(&self) -> AnalysisError
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 AnalysisError
Source§impl Debug for AnalysisError
impl Debug for AnalysisError
Source§impl PartialEq for AnalysisError
impl PartialEq for AnalysisError
impl StructuralPartialEq for AnalysisError
Auto Trait Implementations§
impl Freeze for AnalysisError
impl RefUnwindSafe for AnalysisError
impl Send for AnalysisError
impl Sync for AnalysisError
impl Unpin for AnalysisError
impl UnsafeUnpin for AnalysisError
impl UnwindSafe for AnalysisError
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.