pub enum DecError {
EmptyMesh,
IndexOutOfBounds {
index: usize,
len: usize,
},
NotWellCentered {
simplex: usize,
volume: f64,
},
SingularLaplacian,
FieldLengthMismatch {
expected: usize,
got: usize,
},
LinearAlgebra(String),
}Expand description
Errors that can occur in discrete exterior calculus operations.
Variants§
EmptyMesh
The mesh has no vertices, edges, or triangles.
IndexOutOfBounds
A simplex index is out of bounds.
NotWellCentered
A mesh is not well-centered (a circumcenter lies outside its simplex). This causes the Hodge star to have negative weights, breaking SPD.
SingularLaplacian
The Laplacian matrix is singular (expected for closed manifolds without boundary conditions; caller should use a pseudoinverse or add a pin constraint).
FieldLengthMismatch
A field has the wrong number of components for this mesh.
LinearAlgebra(String)
Linear algebra error (e.g., Cholesky failed on non-SPD matrix).
Trait Implementations§
Source§impl Error for DecError
impl Error for DecError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for DecError
impl RefUnwindSafe for DecError
impl Send for DecError
impl Sync for DecError
impl Unpin for DecError
impl UnsafeUnpin for DecError
impl UnwindSafe for DecError
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
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.