pub struct ParametricMOLSystem3D<S: SparseScalar> { /* private fields */ }Expand description
Parametric 3D Method of Lines system. See
crate::ParametricMOLSystem2D for the parameter layout, linearity
argument, and BC handling notes — they apply identically here.
Implementations§
Source§impl<S: SparseScalar> ParametricMOLSystem3D<S>
impl<S: SparseScalar> ParametricMOLSystem3D<S>
Sourcepub fn heat(
grid: Grid3D<S>,
alpha_nominal: S,
bc: &BoundaryConditions3D<S>,
) -> Self
pub fn heat( grid: Grid3D<S>, alpha_nominal: S, bc: &BoundaryConditions3D<S>, ) -> Self
Build a parametric heat equation u_t = α∇²u.
Sourcepub fn heat_with_reaction<R>(
grid: Grid3D<S>,
alpha_nominal: S,
bc: &BoundaryConditions3D<S>,
nominal_reaction_params: Vec<S>,
reaction: R,
) -> Self
pub fn heat_with_reaction<R>( grid: Grid3D<S>, alpha_nominal: S, bc: &BoundaryConditions3D<S>, nominal_reaction_params: Vec<S>, reaction: R, ) -> Self
Build a parametric heat equation with a parametric reaction term.
pub fn grid(&self) -> &Grid3D<S>
pub fn n_interior(&self) -> usize
Trait Implementations§
Source§impl<S: SparseScalar> ParametricOdeSystem<S> for ParametricMOLSystem3D<S>
impl<S: SparseScalar> ParametricOdeSystem<S> for ParametricMOLSystem3D<S>
Source§fn params(&self) -> &[S]
fn params(&self) -> &[S]
Nominal parameter vector. Length must equal
Self::n_params.Source§fn jacobian_y(&self, t: S, y: &[S], jac: &mut [S])
fn jacobian_y(&self, t: S, y: &[S], jac: &mut [S])
Fill the state Jacobian
J_y[i,j] = ∂f_i/∂y_j in row-major order
(jac[i*N + j], length N²). Read moreSource§fn jacobian_p(&self, t: S, y: &[S], jp: &mut [S])
fn jacobian_p(&self, t: S, y: &[S], jp: &mut [S])
Fill the parameter Jacobian
J_p[i,k] = ∂f_i/∂p_k in column-major
order (jp[k*N + i], length N · N_s). Read moreSource§fn has_analytical_jacobian_y(&self) -> bool
fn has_analytical_jacobian_y(&self) -> bool
Returns
true iff Self::jacobian_y has been overridden with an
analytical implementation. Default: false. Read moreSource§fn has_analytical_jacobian_p(&self) -> bool
fn has_analytical_jacobian_p(&self) -> bool
Returns
true iff Self::jacobian_p has been overridden with an
analytical implementation. Default: false. See
Self::has_analytical_jacobian_y for the rationale, contract,
and debug-build consistency check.Auto Trait Implementations§
impl<S> Freeze for ParametricMOLSystem3D<S>
impl<S> !RefUnwindSafe for ParametricMOLSystem3D<S>
impl<S> Send for ParametricMOLSystem3D<S>
impl<S> Sync for ParametricMOLSystem3D<S>
impl<S> Unpin for ParametricMOLSystem3D<S>where
S: Unpin,
impl<S> UnsafeUnpin for ParametricMOLSystem3D<S>
impl<S> !UnwindSafe for ParametricMOLSystem3D<S>
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<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>
Converts
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>
Converts
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