pub trait SolverFor<M, F, J> {
type Tangent;
const SPARSE: bool;
}Expand description
A solver that can minimize a model, and the tangent it works from.
The family of the model, being carried by the energy and force types, keeps the implementations for one solver from overlapping.
Required Associated Constants§
Required Associated Types§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§impl<B, const D: usize> SolverFor<Model<B, D>, Quantity<Energy>, TensorVector<TensorRank1<D, Current, Force>>> for NewtonRaphsonwhere
B: HyperelasticElements<D>,
impl<B, const D: usize> SolverFor<Model<B, D>, Quantity<Energy>, TensorVector<TensorRank1<D, Current, Force>>> for NewtonRaphsonwhere
B: HyperelasticElements<D>,
Source§impl<B, const D: usize> SolverFor<Model<B, D>, Quantity<PowerTemperature>, TensorVector<Quantity<Power>>> for NewtonRaphsonwhere
B: ThermalConductionElements,
impl<B, const D: usize> SolverFor<Model<B, D>, Quantity<PowerTemperature>, TensorVector<Quantity<Power>>> for NewtonRaphsonwhere
B: ThermalConductionElements,
const SPARSE: bool = true
type Tangent = TensorVector<QuantitySparseVec<PowerPerTemperature>>
Source§impl<B, const D: usize> SolverFor<Model<B, D>, TensorVector<Quantity<Power>>, TensorVector<QuantitySparseVec<PowerPerTemperature>>> for NewtonRaphsonwhere
B: ThermalConductionElements,
impl<B, const D: usize> SolverFor<Model<B, D>, TensorVector<Quantity<Power>>, TensorVector<QuantitySparseVec<PowerPerTemperature>>> for NewtonRaphsonwhere
B: ThermalConductionElements,
const SPARSE: bool = true
type Tangent = TensorVector<QuantitySparseVec<PowerPerTemperature>>
Source§impl<B, const D: usize> SolverFor<Model<B, D>, TensorVector<TensorRank1<D, Current, Force>>, TensorVector<TensorRank2SparseVec<D, Current, Current, ForcePerLength>>> for NewtonRaphsonwhere
B: ElasticElements<D>,
impl<B, const D: usize> SolverFor<Model<B, D>, TensorVector<TensorRank1<D, Current, Force>>, TensorVector<TensorRank2SparseVec<D, Current, Current, ForcePerLength>>> for NewtonRaphsonwhere
B: ElasticElements<D>,
const SPARSE: bool = true
type Tangent = TensorVector<TensorRank2SparseVec<D, Current, Current, ForcePerLength>>
Source§impl<B> SolverFor<Model<B, 3>, Quantity<Energy>, TensorVector<TensorRank1<3, Current, Force>>> for NewtonRaphson<Feti>where
B: DecomposableElements,
Available on crate feature fem only.
impl<B> SolverFor<Model<B, 3>, Quantity<Energy>, TensorVector<TensorRank1<3, Current, Force>>> for NewtonRaphson<Feti>where
B: DecomposableElements,
Available on crate feature
fem only.Source§impl<B> SolverFor<Model<B, 3>, TensorVector<TensorRank1<3, Current, Force>>, TensorVector<TensorRank2SparseVec<3, Current, Current, ForcePerLength>>> for NewtonRaphson<Feti>where
B: DecomposableElements,
Available on crate feature fem only.
impl<B> SolverFor<Model<B, 3>, TensorVector<TensorRank1<3, Current, Force>>, TensorVector<TensorRank2SparseVec<3, Current, Current, ForcePerLength>>> for NewtonRaphson<Feti>where
B: DecomposableElements,
Available on crate feature
fem only.