pub struct DeviceFvmOperator<B: AcceleratorBackend> { /* private fields */ }Expand description
Complete, persistent finite-volume numerical operator.
Implementations§
Source§impl<B: AcceleratorBackend> DeviceFvmOperator<B>
impl<B: AcceleratorBackend> DeviceFvmOperator<B>
Sourcepub fn plan(&self) -> &DeviceFvmPlan<B>
pub fn plan(&self) -> &DeviceFvmPlan<B>
Immutable packed plan owned by this operator.
Sourcepub fn metadata(&self) -> &FiniteVolumeMetadata
pub fn metadata(&self) -> &FiniteVolumeMetadata
Immutable finite-volume metadata captured at compilation.
Sourcepub fn schemes(&self) -> &FvmSchemeSettings
pub fn schemes(&self) -> &FvmSchemeSettings
Immutable numerical settings captured at compilation.
Sourcepub fn compile(
backend: &B,
inputs: &FvmInputs,
metadata: FiniteVolumeMetadata,
labels: Option<&LabelSet>,
boundary_policy: &FvBoundaryPolicy,
schemes: FvmSchemeSettings,
epochs: PlanEpochs,
) -> Result<Self, AcceleratorError>
pub fn compile( backend: &B, inputs: &FvmInputs, metadata: FiniteVolumeMetadata, labels: Option<&LabelSet>, boundary_policy: &FvBoundaryPolicy, schemes: FvmSchemeSettings, epochs: PlanEpochs, ) -> Result<Self, AcceleratorError>
Compile a complete numerical operator without uploading solution state.
Sourcepub fn refresh_boundary_conditions(
&mut self,
backend: &B,
boundary_policy: &FvBoundaryPolicy,
) -> Result<(), AcceleratorError>
pub fn refresh_boundary_conditions( &mut self, backend: &B, boundary_policy: &FvBoundaryPolicy, ) -> Result<(), AcceleratorError>
Refresh boundary coefficients while preserving topology and geometry.
Sourcepub fn validate_state<T: FvmScalar>(
&self,
state: &DeviceFvmState<T, B>,
current_epochs: PlanEpochs,
) -> Result<(), AcceleratorError>
pub fn validate_state<T: FvmScalar>( &self, state: &DeviceFvmState<T, B>, current_epochs: PlanEpochs, ) -> Result<(), AcceleratorError>
Validate epochs and component-major state lengths.
Source§impl DeviceFvmOperator<CpuBackend>
impl DeviceFvmOperator<CpuBackend>
Sourcepub fn evaluate_residual<T: FvmScalar>(
&self,
state: &mut DeviceFvmState<T, CpuBackend>,
current_epochs: PlanEpochs,
) -> Result<(), AcceleratorError>
pub fn evaluate_residual<T: FvmScalar>( &self, state: &mut DeviceFvmState<T, CpuBackend>, current_epochs: PlanEpochs, ) -> Result<(), AcceleratorError>
Evaluate all configured FVM terms into the resident residual buffer.
Auto Trait Implementations§
impl<B> Freeze for DeviceFvmOperator<B>where
<B as AcceleratorBackend>::Buffer<u32>: Freeze,
<B as AcceleratorBackend>::Buffer<f64>: Freeze,
<B as AcceleratorBackend>::Buffer<i8>: Freeze,
<B as AcceleratorBackend>::Buffer<u8>: Freeze,
impl<B> RefUnwindSafe for DeviceFvmOperator<B>where
<B as AcceleratorBackend>::Buffer<u32>: RefUnwindSafe,
<B as AcceleratorBackend>::Buffer<f64>: RefUnwindSafe,
<B as AcceleratorBackend>::Buffer<i8>: RefUnwindSafe,
<B as AcceleratorBackend>::Buffer<u8>: RefUnwindSafe,
impl<B> Send for DeviceFvmOperator<B>
impl<B> Sync for DeviceFvmOperator<B>
impl<B> Unpin for DeviceFvmOperator<B>where
<B as AcceleratorBackend>::Buffer<u32>: Unpin,
<B as AcceleratorBackend>::Buffer<f64>: Unpin,
<B as AcceleratorBackend>::Buffer<i8>: Unpin,
<B as AcceleratorBackend>::Buffer<u8>: Unpin,
impl<B> UnsafeUnpin for DeviceFvmOperator<B>where
<B as AcceleratorBackend>::Buffer<u32>: UnsafeUnpin,
<B as AcceleratorBackend>::Buffer<f64>: UnsafeUnpin,
<B as AcceleratorBackend>::Buffer<i8>: UnsafeUnpin,
<B as AcceleratorBackend>::Buffer<u8>: UnsafeUnpin,
impl<B> UnwindSafe for DeviceFvmOperator<B>where
<B as AcceleratorBackend>::Buffer<u32>: UnwindSafe,
<B as AcceleratorBackend>::Buffer<f64>: UnwindSafe,
<B as AcceleratorBackend>::Buffer<i8>: UnwindSafe,
<B as AcceleratorBackend>::Buffer<u8>: UnwindSafe,
Blanket Implementations§
Source§impl<T> AccumulatePathExt for T
impl<T> AccumulatePathExt for T
fn accumulate_path<O, I>(path: I) -> Owhere
O: Orientation,
I: IntoIterator<Item = O>,
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