pub struct BemSolver {
pub solver_method: SolverMethod,
pub assembly_method: AssemblyMethod,
pub max_iterations: usize,
pub tolerance: f64,
pub verbose: bool,
pub beta_scale: f64,
}Expand description
BEM solver configuration
Fields§
§solver_method: SolverMethodLinear solver method
assembly_method: AssemblyMethodMatrix assembly method
max_iterations: usizeMaximum iterations for iterative solvers
tolerance: f64Tolerance for iterative solvers
verbose: boolVerbose output
beta_scale: f64Burton-Miller β scale factor (default: 4.0 for best accuracy at ka ~ 1)
Implementations§
Source§impl BemSolver
impl BemSolver
Sourcepub fn with_solver_method(self, method: SolverMethod) -> Self
pub fn with_solver_method(self, method: SolverMethod) -> Self
Set the linear solver method
Sourcepub fn with_assembly_method(self, method: AssemblyMethod) -> Self
pub fn with_assembly_method(self, method: AssemblyMethod) -> Self
Set the assembly method
Sourcepub fn with_max_iterations(self, max_iter: usize) -> Self
pub fn with_max_iterations(self, max_iter: usize) -> Self
Set maximum iterations for iterative solvers
Sourcepub fn with_tolerance(self, tol: f64) -> Self
pub fn with_tolerance(self, tol: f64) -> Self
Set tolerance for iterative solvers
Sourcepub fn with_verbose(self, verbose: bool) -> Self
pub fn with_verbose(self, verbose: bool) -> Self
Enable verbose output
Sourcepub fn solve(&self, problem: &BemProblem) -> Result<BemSolution, BemError>
pub fn solve(&self, problem: &BemProblem) -> Result<BemSolution, BemError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BemSolver
impl RefUnwindSafe for BemSolver
impl Send for BemSolver
impl Sync for BemSolver
impl Unpin for BemSolver
impl UnwindSafe for BemSolver
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