IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class PoissonSolver is an abstract base class for Poisson solvers. More...
#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/PoissonSolver.h>
Public Member Functions | |
PoissonSolver ()=default | |
Default constructor. | |
~PoissonSolver ()=default | |
Default destructor. | |
virtual void | setPoissonSpecifications (const SAMRAI::solv::PoissonSpecifications &poisson_spec) |
Set the SAMRAI::solv::PoissonSpecifications object used to specify the coefficients for the scalar-valued or vector-valued Laplace operator. | |
virtual void | setPhysicalBcCoef (SAMRAI::solv::RobinBcCoefStrategy< NDIM > *bc_coef) |
Set the SAMRAI::solv::RobinBcCoefStrategy object used to specify physical boundary conditions. More... | |
virtual void | setPhysicalBcCoefs (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs) |
Set the SAMRAI::solv::RobinBcCoefStrategy objects used to specify physical boundary conditions. More... | |
Public Member Functions inherited from IBTK::GeneralSolver | |
GeneralSolver ()=default | |
Constructor. | |
virtual | ~GeneralSolver ()=default |
Empty virtual destructor. | |
const std::string & | getName () const |
Return the object name. | |
virtual bool | getIsInitialized () const |
Return whether the operator is initialized. | |
virtual void | setHomogeneousBc (bool homogeneous_bc) |
Set whether the solver should use homogeneous boundary conditions. | |
virtual bool | getHomogeneousBc () const |
Return whether the solver is using homogeneous boundary conditions. | |
virtual void | setSolutionTime (double solution_time) |
Set the time at which the solution is to be evaluated. | |
virtual double | getSolutionTime () const |
Get the time at which the solution is being evaluated. | |
virtual void | setTimeInterval (double current_time, double new_time) |
Set the current time interval. | |
virtual std::pair< double, double > | getTimeInterval () const |
Get the current time interval. | |
virtual double | getDt () const |
Get the current time step size. | |
virtual void | setHierarchyMathOps (SAMRAI::tbox::Pointer< HierarchyMathOps > hier_math_ops) |
Set the HierarchyMathOps object used by the solver. | |
virtual SAMRAI::tbox::Pointer< HierarchyMathOps > | getHierarchyMathOps () const |
Get the HierarchyMathOps object used by the solver. | |
virtual bool | solveSystem (SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &x, SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &b)=0 |
Solve the system of equations. More... | |
virtual void | initializeSolverState (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &x, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &b) |
Compute hierarchy dependent data required for solving . More... | |
virtual void | deallocateSolverState () |
Remove all hierarchy dependent data allocated by initializeSolverState(). More... | |
virtual void | setMaxIterations (int max_iterations) |
Set the maximum number of nonlinear iterations to use per solve. | |
virtual int | getMaxIterations () const |
Get the maximum number of nonlinear iterations to use per solve. | |
virtual void | setAbsoluteTolerance (double abs_residual_tol) |
Set the absolute residual tolerance for convergence. | |
virtual double | getAbsoluteTolerance () const |
Get the absolute residual tolerance for convergence. | |
virtual void | setRelativeTolerance (double rel_residual_tol) |
Set the relative residual tolerance for convergence. | |
virtual double | getRelativeTolerance () const |
Get the relative residual tolerance for convergence. | |
virtual int | getNumIterations () const |
Return the iteration count from the most recent solve. | |
virtual double | getResidualNorm () const |
Return the residual norm from the most recent iteration. | |
virtual void | setLoggingEnabled (bool enable_logging=true) |
Enable or disable logging. | |
virtual bool | getLoggingEnabled () const |
Determine whether logging is enabled or disabled. | |
virtual void | printClassData (std::ostream &stream) |
Print class data to stream. | |
Protected Member Functions | |
void | initSpecialized (const std::string &object_name, bool homogeneous_bc) override |
Protected Member Functions inherited from IBTK::GeneralSolver | |
void | init (const std::string &object_name, bool homogeneous_bc) |
Protected Attributes | |
SAMRAI::solv::PoissonSpecifications | d_poisson_spec = SAMRAI::solv::PoissonSpecifications("") |
std::unique_ptr< SAMRAI::solv::RobinBcCoefStrategy< NDIM > > | d_default_bc_coef |
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > | d_bc_coefs |
Protected Attributes inherited from IBTK::GeneralSolver | |
std::string | d_object_name = "unitialized" |
bool | d_is_initialized = false |
bool | d_homogeneous_bc = false |
double | d_solution_time = std::numeric_limits<double>::quiet_NaN() |
double | d_current_time = std::numeric_limits<double>::quiet_NaN() |
double | d_new_time = std::numeric_limits<double>::quiet_NaN() |
double | d_rel_residual_tol = 0.0 |
double | d_abs_residual_tol = 0.0 |
int | d_max_iterations = 100 |
int | d_current_iterations = 0 |
double | d_current_residual_norm = std::numeric_limits<double>::quiet_NaN() |
SAMRAI::tbox::Pointer< HierarchyMathOps > | d_hier_math_ops |
bool | d_hier_math_ops_external = false |
bool | d_enable_logging = false |
Class PoissonSolver is an abstract base class for Poisson solvers.
|
virtual |
Set the SAMRAI::solv::RobinBcCoefStrategy object used to specify physical boundary conditions.
bc_coef | Pointer to an object that can set the Robin boundary condition coefficients |
Reimplemented in IBTK::PoissonFACPreconditioner, and IBTK::KrylovLinearSolverPoissonSolverInterface.
|
virtual |
Set the SAMRAI::solv::RobinBcCoefStrategy objects used to specify physical boundary conditions.
bc_coefs | Vector of pointers to objects that can set the Robin boundary condition coefficients |
Reimplemented in IBTK::PoissonFACPreconditioner, and IBTK::KrylovLinearSolverPoissonSolverInterface.