pub struct DistributedSolverConfig {
pub pz: usize,
pub pr: usize,
pub halo: usize,
pub omega: f64,
pub max_outer_iters: usize,
pub tol: f64,
pub inner_sweeps: usize,
}Expand description
Configuration for the distributed GS solver.
Fields§
§pz: usizeProcess-grid dimensions (pz × pr). Product must be ≤ Rayon thread count for full parallel utilisation.
pr: usize§halo: usizeHalo width (number of overlap rows/columns per face). 1 is sufficient for the 5-point GS stencil.
omega: f64SOR relaxation parameter ω ∈ (1, 2). Typically 1.8.
max_outer_iters: usizeMaximum number of Schwarz (outer) iterations.
tol: f64Convergence tolerance on global L2 residual.
inner_sweeps: usizeNumber of local SOR sweeps per Schwarz iteration.
Trait Implementations§
Source§impl Clone for DistributedSolverConfig
impl Clone for DistributedSolverConfig
Source§fn clone(&self) -> DistributedSolverConfig
fn clone(&self) -> DistributedSolverConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DistributedSolverConfig
impl Debug for DistributedSolverConfig
Auto Trait Implementations§
impl Freeze for DistributedSolverConfig
impl RefUnwindSafe for DistributedSolverConfig
impl Send for DistributedSolverConfig
impl Sync for DistributedSolverConfig
impl Unpin for DistributedSolverConfig
impl UnwindSafe for DistributedSolverConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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