IBAMR  IBAMR version 0.19.
Public Member Functions | Static Public Member Functions | List of all members
IBTK::VCSCViscousOpPointRelaxationFACOperator Class Reference

Class VCSCViscousOpPointRelaxationFACOperator is a specialization of SCPoissonPointRelaxationFACOperator for solving vector elliptic equation of the form \( \mbox{$L u$} = C u + \nabla \cdot \mu (\nabla u + (\nabla u)^T) = f \) using a globally second-order accurate side-centered finite-difference discretization, with support for Robin and periodic boundary conditions. More...

#include <ibtk/VCSCViscousOpPointRelaxationFACOperator.h>

Inheritance diagram for IBTK::VCSCViscousOpPointRelaxationFACOperator:
Inheritance graph
[legend]

Public Member Functions

 VCSCViscousOpPointRelaxationFACOperator (std::string object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, std::string default_options_prefix)
 Constructor. More...
 
 ~VCSCViscousOpPointRelaxationFACOperator ()
 Destructor. More...
 
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. More...
 
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...
 
const std::string & getName () const
 Return the object name. More...
 
virtual bool getIsInitialized () const
 Return whether the operator is initialized. More...
 
virtual void setFACPreconditioner (SAMRAI::tbox::ConstPointer< FACPreconditioner > preconditioner)
 Method to allow the FACPreconditioner object to register itself with the concrete FACPreconditionerStrategy. More...
 
virtual void setHomogeneousBc (bool homogeneous_bc)
 Set whether the solver should use homogeneous boundary conditions. More...
 
virtual bool getHomogeneousBc () const
 Return whether the solver is using homogeneous boundary conditions. More...
 
virtual void setSolutionTime (double solution_time)
 Set the time at which the solution is to be evaluated. More...
 
virtual double getSolutionTime () const
 Get the time at which the solution is being evaluated. More...
 
virtual void setTimeInterval (double current_time, double new_time)
 Set the current time interval. More...
 
virtual std::pair< double, doublegetTimeInterval () const
 Get the current time interval. More...
 
virtual double getDt () const
 Get the current time step size. More...
 
virtual void allocateScratchData ()
 Allocate scratch data. More...
 
virtual void deallocateScratchData ()
 Deallocate scratch data. More...
 
Functions for configuring the solver.
void setResetLevels (int coarsest_ln, int finest_ln)
 Specify the levels that need to be reset the next time the operator is re-initialized. More...
 
void setCoarseSolverMaxIterations (int coarse_solver_max_iterations)
 Set the maximum number of iterations for the coarse level solve. More...
 
void setCoarseSolverAbsoluteTolerance (double coarse_solver_abs_residual_tol)
 Set the absolute residual tolerance for convergence for coarse level solve. More...
 
void setCoarseSolverRelativeTolerance (double coarse_solver_rel_residual_tol)
 Set the relative residual tolerance for convergence for coarse level solve. More...
 
void setProlongationMethod (const std::string &prolongation_method)
 Set the name of the prolongation method. More...
 
void setRestrictionMethod (const std::string &restriction_method)
 Set the name of the restriction method. More...
 
Functions for configuring the solver.
void setResetLevels (int coarsest_ln, int finest_ln)
 Specify the levels that need to be reset the next time the operator is re-initialized. More...
 
void setCoarseSolverMaxIterations (int coarse_solver_max_iterations)
 Set the maximum number of iterations for the coarse level solve. More...
 
void setCoarseSolverAbsoluteTolerance (double coarse_solver_abs_residual_tol)
 Set the absolute residual tolerance for convergence for coarse level solve. More...
 
void setCoarseSolverRelativeTolerance (double coarse_solver_rel_residual_tol)
 Set the relative residual tolerance for convergence for coarse level solve. More...
 
void setProlongationMethod (const std::string &prolongation_method)
 Set the name of the prolongation method. More...
 
void setRestrictionMethod (const std::string &restriction_method)
 Set the name of the restriction method. More...
 
Functions for configuring the solver.
void setResetLevels (int coarsest_ln, int finest_ln)
 Specify the levels that need to be reset the next time the operator is re-initialized. More...
 
void setCoarseSolverMaxIterations (int coarse_solver_max_iterations)
 Set the maximum number of iterations for the coarse level solve. More...
 
void setCoarseSolverAbsoluteTolerance (double coarse_solver_abs_residual_tol)
 Set the absolute residual tolerance for convergence for coarse level solve. More...
 
void setCoarseSolverRelativeTolerance (double coarse_solver_rel_residual_tol)
 Set the relative residual tolerance for convergence for coarse level solve. More...
 
void setProlongationMethod (const std::string &prolongation_method)
 Set the name of the prolongation method. More...
 
void setRestrictionMethod (const std::string &restriction_method)
 Set the name of the restriction method. More...
 
Functions for configuring the solver.
void setSmootherType (const std::string &smoother_type) override
 Specify the smoother type. More...
 
void setCoarseSolverType (const std::string &coarse_solver_type) override
 Specify the coarse level solver. More...
 
Functions for configuring the solver.
void setResetLevels (int coarsest_ln, int finest_ln)
 Specify the levels that need to be reset the next time the operator is re-initialized. More...
 
void setCoarseSolverMaxIterations (int coarse_solver_max_iterations)
 Set the maximum number of iterations for the coarse level solve. More...
 
void setCoarseSolverAbsoluteTolerance (double coarse_solver_abs_residual_tol)
 Set the absolute residual tolerance for convergence for coarse level solve. More...
 
void setCoarseSolverRelativeTolerance (double coarse_solver_rel_residual_tol)
 Set the relative residual tolerance for convergence for coarse level solve. More...
 
void setProlongationMethod (const std::string &prolongation_method)
 Set the name of the prolongation method. More...
 
void setRestrictionMethod (const std::string &restriction_method)
 Set the name of the restriction method. More...
 
Functions for configuring the solver.
void setSmootherType (const std::string &smoother_type) override
 Specify the smoother type. More...
 
void setCoarseSolverType (const std::string &coarse_solver_type) override
 Specify the coarse level solver. More...
 
Functions for configuring the solver.
void setResetLevels (int coarsest_ln, int finest_ln)
 Specify the levels that need to be reset the next time the operator is re-initialized. More...
 
void setCoarseSolverMaxIterations (int coarse_solver_max_iterations)
 Set the maximum number of iterations for the coarse level solve. More...
 
void setCoarseSolverAbsoluteTolerance (double coarse_solver_abs_residual_tol)
 Set the absolute residual tolerance for convergence for coarse level solve. More...
 
void setCoarseSolverRelativeTolerance (double coarse_solver_rel_residual_tol)
 Set the relative residual tolerance for convergence for coarse level solve. More...
 
void setProlongationMethod (const std::string &prolongation_method)
 Set the name of the prolongation method. More...
 
void setRestrictionMethod (const std::string &restriction_method)
 Set the name of the restriction method. More...
 
Partial implementation of FACPreconditionerStrategy interface.
void setToZero (SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &vec, int level_num) override
 Zero the supplied vector. More...
 
void prolongError (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &src, SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &dst, int dst_ln) override
 Prolong the error quantity to the specified level from the next coarser level. More...
 
void prolongErrorAndCorrect (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &src, SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &dst, int dst_ln) override
 Prolong the error quantity to the specified level from the next coarser level and apply the correction to the fine-level error. More...
 
void initializeOperatorState (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &solution, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &rhs) override
 Compute hierarchy-dependent data. More...
 
void deallocateOperatorState () override
 Remove all hierarchy-dependent data. More...
 

Static Public Member Functions

static SAMRAI::tbox::Pointer< PoissonSolverallocate_solver (const std::string &object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, const std::string &default_options_prefix)
 Static function to construct a PoissonFACPreconditioner with a VCSCViscousOpPointRelaxationFACOperator FAC strategy. More...
 

Protected Attributes

Hierarchy-dependent objects.
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_solution
 
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_rhs
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > d_hierarchy
 
int d_coarsest_ln = IBTK::invalid_level_number
 
int d_finest_ln = IBTK::invalid_level_number
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyDataOpsReal< NDIM, double > > > d_level_data_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > d_level_bdry_fill_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > > d_level_math_ops
 
bool d_in_initialize_operator_state = false
 
int d_coarsest_reset_ln = IBTK::invalid_level_number
 
int d_finest_reset_ln = IBTK::invalid_level_number
 
Solver configuration variables.
std::string d_smoother_type = "DEFAULT"
 
std::string d_prolongation_method = "DEFAULT"
 
std::string d_restriction_method = "DEFAULT"
 
std::string d_coarse_solver_type = "DEFAULT"
 
std::string d_coarse_solver_default_options_prefix
 
double d_coarse_solver_rel_residual_tol = 1.0e-5
 
double d_coarse_solver_abs_residual_tol = 1.0e-50
 
int d_coarse_solver_max_iterations = 10
 
Internal context and scratch data.
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
int d_scratch_idx = IBTK::invalid_index
 
Hierarchy-dependent objects.
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_solution
 
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_rhs
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > d_hierarchy
 
int d_coarsest_ln = IBTK::invalid_level_number
 
int d_finest_ln = IBTK::invalid_level_number
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyDataOpsReal< NDIM, double > > > d_level_data_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > d_level_bdry_fill_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > > d_level_math_ops
 
bool d_in_initialize_operator_state = false
 
int d_coarsest_reset_ln = IBTK::invalid_level_number
 
int d_finest_reset_ln = IBTK::invalid_level_number
 
Solver configuration variables.
std::string d_smoother_type = "DEFAULT"
 
std::string d_prolongation_method = "DEFAULT"
 
std::string d_restriction_method = "DEFAULT"
 
std::string d_coarse_solver_type = "DEFAULT"
 
std::string d_coarse_solver_default_options_prefix
 
double d_coarse_solver_rel_residual_tol = 1.0e-5
 
double d_coarse_solver_abs_residual_tol = 1.0e-50
 
int d_coarse_solver_max_iterations = 10
 
Internal context and scratch data.
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
int d_scratch_idx = IBTK::invalid_index
 
Hierarchy-dependent objects.
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_solution
 
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_rhs
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > d_hierarchy
 
int d_coarsest_ln = IBTK::invalid_level_number
 
int d_finest_ln = IBTK::invalid_level_number
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyDataOpsReal< NDIM, double > > > d_level_data_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > d_level_bdry_fill_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > > d_level_math_ops
 
bool d_in_initialize_operator_state = false
 
int d_coarsest_reset_ln = IBTK::invalid_level_number
 
int d_finest_reset_ln = IBTK::invalid_level_number
 
Solver configuration variables.
std::string d_smoother_type = "DEFAULT"
 
std::string d_prolongation_method = "DEFAULT"
 
std::string d_restriction_method = "DEFAULT"
 
std::string d_coarse_solver_type = "DEFAULT"
 
std::string d_coarse_solver_default_options_prefix
 
double d_coarse_solver_rel_residual_tol = 1.0e-5
 
double d_coarse_solver_abs_residual_tol = 1.0e-50
 
int d_coarse_solver_max_iterations = 10
 
Internal context and scratch data.
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
int d_scratch_idx = IBTK::invalid_index
 
Hierarchy-dependent objects.
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_solution
 
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_rhs
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > d_hierarchy
 
int d_coarsest_ln = IBTK::invalid_level_number
 
int d_finest_ln = IBTK::invalid_level_number
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyDataOpsReal< NDIM, double > > > d_level_data_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > d_level_bdry_fill_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > > d_level_math_ops
 
bool d_in_initialize_operator_state = false
 
int d_coarsest_reset_ln = IBTK::invalid_level_number
 
int d_finest_reset_ln = IBTK::invalid_level_number
 
Solver configuration variables.
std::string d_smoother_type = "DEFAULT"
 
std::string d_prolongation_method = "DEFAULT"
 
std::string d_restriction_method = "DEFAULT"
 
std::string d_coarse_solver_type = "DEFAULT"
 
std::string d_coarse_solver_default_options_prefix
 
double d_coarse_solver_rel_residual_tol = 1.0e-5
 
double d_coarse_solver_abs_residual_tol = 1.0e-50
 
int d_coarse_solver_max_iterations = 10
 
Internal context and scratch data.
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
int d_scratch_idx = IBTK::invalid_index
 
Hierarchy-dependent objects.
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_solution
 
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_rhs
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > d_hierarchy
 
int d_coarsest_ln = IBTK::invalid_level_number
 
int d_finest_ln = IBTK::invalid_level_number
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyDataOpsReal< NDIM, double > > > d_level_data_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > d_level_bdry_fill_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > > d_level_math_ops
 
bool d_in_initialize_operator_state = false
 
int d_coarsest_reset_ln = IBTK::invalid_level_number
 
int d_finest_reset_ln = IBTK::invalid_level_number
 
Solver configuration variables.
std::string d_smoother_type = "DEFAULT"
 
std::string d_prolongation_method = "DEFAULT"
 
std::string d_restriction_method = "DEFAULT"
 
std::string d_coarse_solver_type = "DEFAULT"
 
std::string d_coarse_solver_default_options_prefix
 
double d_coarse_solver_rel_residual_tol = 1.0e-5
 
double d_coarse_solver_abs_residual_tol = 1.0e-50
 
int d_coarse_solver_max_iterations = 10
 
Internal context and scratch data.
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
int d_scratch_idx = IBTK::invalid_index
 
Hierarchy-dependent objects.
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_solution
 
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > d_rhs
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > d_hierarchy
 
int d_coarsest_ln = IBTK::invalid_level_number
 
int d_finest_ln = IBTK::invalid_level_number
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyDataOpsReal< NDIM, double > > > d_level_data_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > d_level_bdry_fill_ops
 
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > > d_level_math_ops
 
bool d_in_initialize_operator_state = false
 
int d_coarsest_reset_ln = IBTK::invalid_level_number
 
int d_finest_reset_ln = IBTK::invalid_level_number
 
Solver configuration variables.
std::string d_smoother_type = "DEFAULT"
 
std::string d_prolongation_method = "DEFAULT"
 
std::string d_restriction_method = "DEFAULT"
 
std::string d_coarse_solver_type = "DEFAULT"
 
std::string d_coarse_solver_default_options_prefix
 
double d_coarse_solver_rel_residual_tol = 1.0e-5
 
double d_coarse_solver_abs_residual_tol = 1.0e-50
 
int d_coarse_solver_max_iterations = 10
 
Internal context and scratch data.
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
int d_scratch_idx = IBTK::invalid_index
 

Logging functions.

virtual void printClassData (std::ostream &stream)
 Print class data to stream. More...
 
virtual SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > getLevelSAMRAIVectorReal (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &vec, int level_num) const
 Return a SAMRAIVectorReal object that corresponds to the given object but restricted to a single level of the patch hierarchy. More...
 
SAMRAI::tbox::ConstPointer< IBTK::FACPreconditionerd_preconditioner
 
const std::string d_object_name
 
bool d_is_initialized = false
 
bool d_homogeneous_bc
 
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()
 

Methods for executing, caching, and resetting communication

schedules.

void xeqScheduleProlongation (int dst_idx, int src_idx, int dst_ln)
 Execute a refinement schedule for prolonging data. More...
 
void xeqScheduleRestriction (int dst_idx, int src_idx, int dst_ln)
 Execute schedule for restricting solution or residual to the specified level. More...
 
void xeqScheduleGhostFillNoCoarse (int dst_idx, int dst_ln)
 Execute schedule for filling ghosts on the specified level. More...
 
void xeqScheduleDataSynch (int dst_idx, int dst_ln)
 Execute schedule for synchronizing data on the specified level. More...
 
SAMRAI::solv::PoissonSpecifications d_poisson_spec
 
std::unique_ptr< SAMRAI::solv::RobinBcCoefStrategy< NDIM > > d_default_bc_coef
 
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > d_bc_coefs
 
SAMRAI::hier::IntVector< NDIM > d_gcw
 

Various refine and coarsen objects.

SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineOperator< NDIM > > d_prolongation_refine_operator
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::RefinePatchStrategy< NDIM > > d_prolongation_refine_patch_strategy
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > d_prolongation_refine_algorithm
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineSchedule< NDIM > > > d_prolongation_refine_schedules
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::CoarsenOperator< NDIM > > d_restriction_coarsen_operator
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::CoarsenAlgorithm< NDIM > > d_restriction_coarsen_algorithm
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::CoarsenSchedule< NDIM > > > d_restriction_coarsen_schedules
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > d_ghostfill_nocoarse_refine_algorithm
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineSchedule< NDIM > > > d_ghostfill_nocoarse_refine_schedules
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > d_synch_refine_algorithm
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineSchedule< NDIM > > > d_synch_refine_schedules
 
SAMRAI::tbox::Pointer< RobinPhysBdryPatchStrategyd_bc_op
 
SAMRAI::tbox::Pointer< CoarseFineBoundaryRefinePatchStrategyd_cf_bdry_op
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::VariableFillPattern< NDIM > > d_op_stencil_fill_pattern
 
SAMRAI::tbox::Pointer< SAMRAI::xfer::VariableFillPattern< NDIM > > d_synch_fill_pattern
 

Implementation of FACPreconditionerStrategy interface.

std::string d_data_refine_type = "NONE"
 
bool d_use_cf_interpolation = true
 
std::string d_data_coarsen_type = "CUBIC_COARSEN"
 
std::string d_bdry_extrap_type = "LINEAR"
 
bool d_use_consistent_type_2_bdry = false
 
bool solveCoarsestLevel (SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &error, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &residual, int coarsest_ln) override
 Solve the residual equation Ae=r on the coarsest level of the patch hierarchy. More...
 
void deallocateOperatorStateSpecialized (int coarsest_reset_ln, int finest_reset_ln) override
 Remove implementation-specific hierarchy-dependent data. More...
 
SAMRAI::tbox::Pointer< PoissonSolverd_coarse_solver
 
SAMRAI::tbox::Pointer< SAMRAI::tbox::Databased_coarse_solver_db
 
std::vector< std::vector< std::array< SAMRAI::hier::BoxList< NDIM >, NDIM > > > d_patch_bc_box_overlap
 
std::vector< std::vector< std::array< std::map< int, SAMRAI::hier::Box< NDIM > >, NDIM > > > d_patch_neighbor_overlap
 
SAMRAI::tbox::Pointer< StaggeredPhysicalBoundaryHelperd_bc_helper
 
int d_mask_idx
 

Implementation of FACPreconditionerStrategy interface.

IBTK::VCInterpType d_D_interp_type
 
SAMRAI::tbox::Array< doubled_A_scale
 
void smoothError (SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &error, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &residual, int level_num, int num_sweeps, bool performing_pre_sweeps, bool performing_post_sweeps) override
 Perform a given number of relaxations on the error. More...
 
void computeResidual (SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &residual, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &solution, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &rhs, int coarsest_level_num, int finest_level_num) override
 Compute composite grid residual on the specified range of levels. More...
 
void restrictResidual (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &src, SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &dst, int dst_ln) override
 Restrict the residual quantity to the specified level from the next finer level. More...
 
void setDPatchDataInterpolationType (IBTK::VCInterpType D_interp_type)
 Set the interpolation type to be used in computing the variable coefficient viscous Laplacian. More...
 
void setOperatorScaling (SAMRAI::tbox::Array< double > A_scale)
 Set the scaling of the viscous operator and right-hand side. More...
 
SAMRAI::tbox::Pointer< PoissonSolvergetCoarseSolver ()
 Get the coarse level solver. More...
 
void initializeOperatorStateSpecialized (const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &solution, const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &rhs, int coarsest_reset_ln, int finest_reset_ln) override
 Compute implementation-specific hierarchy-dependent data. More...
 
 VCSCViscousOpPointRelaxationFACOperator ()=delete
 Default constructor. More...
 
 VCSCViscousOpPointRelaxationFACOperator (const VCSCViscousOpPointRelaxationFACOperator &from)=delete
 Copy constructor. More...
 
VCSCViscousOpPointRelaxationFACOperatoroperator= (const VCSCViscousOpPointRelaxationFACOperator &that)=delete
 Assignment operator. More...
 

Detailed Description

This class provides operators that are used by class FACPreconditioner to solve the vector elliptic equation of the form

\[ C u + \nabla \cdot \mu (\nabla u + (\nabla u)^T) = f \]

using a side-centered, globally second-order accurate finite-difference discretization, where

Robin boundary conditions may be specified at physical boundaries; see class SAMRAI::solv::RobinBcCoefStrategy.

Sample parameters for initialization from database (and their default values):

smoother_type = "PATCH_GAUSS_SEIDEL"         // see setSmootherType()
prolongation_method = "CONSTANT_REFINE"      // see setProlongationMethod()
restriction_method = "CONSERVATIVE_COARSEN"  // see setRestrictionMethod()
coarse_solver_type = "HYPRE_LEVEL_SOLVER"    // see setCoarseSolverType()
coarse_solver_rel_residual_tol = 1.0e-5      // see setCoarseSolverRelativeTolerance()
coarse_solver_abs_residual_tol = 1.0e-50     // see setCoarseSolverAbsoluteTolerance()
coarse_solver_max_iterations = 1             // see setCoarseSolverMaxIterations()
coarse_solver_db = { ... }                   // SAMRAI::tbox::Database for initializing coarse
level solver

Constructor & Destructor Documentation

◆ VCSCViscousOpPointRelaxationFACOperator() [1/3]

IBTK::VCSCViscousOpPointRelaxationFACOperator::VCSCViscousOpPointRelaxationFACOperator ( std::string  object_name,
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database input_db,
std::string  default_options_prefix 
)

◆ ~VCSCViscousOpPointRelaxationFACOperator()

IBTK::VCSCViscousOpPointRelaxationFACOperator::~VCSCViscousOpPointRelaxationFACOperator ( )

◆ VCSCViscousOpPointRelaxationFACOperator() [2/3]

IBTK::VCSCViscousOpPointRelaxationFACOperator::VCSCViscousOpPointRelaxationFACOperator ( )
privatedelete
Note
This constructor is not implemented and should not be used.

◆ VCSCViscousOpPointRelaxationFACOperator() [3/3]

IBTK::VCSCViscousOpPointRelaxationFACOperator::VCSCViscousOpPointRelaxationFACOperator ( const VCSCViscousOpPointRelaxationFACOperator from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ allocate_solver()

static SAMRAI::tbox::Pointer<PoissonSolver> IBTK::VCSCViscousOpPointRelaxationFACOperator::allocate_solver ( const std::string &  object_name,
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database input_db,
const std::string &  default_options_prefix 
)
inlinestatic

◆ smoothError()

void IBTK::VCSCViscousOpPointRelaxationFACOperator::smoothError ( SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  error,
const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  residual,
int  level_num,
int  num_sweeps,
bool  performing_pre_sweeps,
bool  performing_post_sweeps 
)
overridevirtual
Parameters
errorerror vector
residualresidual vector
level_numlevel number
num_sweepsnumber of sweeps to perform
performing_pre_sweepsboolean value that is true when pre-smoothing sweeps are being performed
performing_post_sweepsboolean value that is true when post-smoothing sweeps are being performed

Reimplemented from IBTK::SCPoissonPointRelaxationFACOperator.

◆ computeResidual()

void IBTK::VCSCViscousOpPointRelaxationFACOperator::computeResidual ( SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  residual,
const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  solution,
const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  rhs,
int  coarsest_level_num,
int  finest_level_num 
)
overridevirtual
Parameters
residualresidual vector
solutionsolution vector
rhssource (right hand side) vector
coarsest_level_numcoarsest level number
finest_level_numfinest level number

Reimplemented from IBTK::SCPoissonPointRelaxationFACOperator.

◆ restrictResidual()

void IBTK::VCSCViscousOpPointRelaxationFACOperator::restrictResidual ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  src,
SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  dst,
int  dst_ln 
)
overridevirtual
Parameters
srcsource residual
dstdestination residual
dst_lndestination level number

Reimplemented from IBTK::PoissonFACPreconditionerStrategy.

◆ setDPatchDataInterpolationType()

void IBTK::VCSCViscousOpPointRelaxationFACOperator::setDPatchDataInterpolationType ( IBTK::VCInterpType  D_interp_type)

◆ setOperatorScaling()

void IBTK::VCSCViscousOpPointRelaxationFACOperator::setOperatorScaling ( SAMRAI::tbox::Array< double A_scale)

◆ getCoarseSolver()

SAMRAI::tbox::Pointer<PoissonSolver> IBTK::VCSCViscousOpPointRelaxationFACOperator::getCoarseSolver ( )

◆ initializeOperatorStateSpecialized()

void IBTK::VCSCViscousOpPointRelaxationFACOperator::initializeOperatorStateSpecialized ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  solution,
const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  rhs,
int  coarsest_reset_ln,
int  finest_reset_ln 
)
overrideprotectedvirtual

◆ operator=()

VCSCViscousOpPointRelaxationFACOperator& IBTK::VCSCViscousOpPointRelaxationFACOperator::operator= ( const VCSCViscousOpPointRelaxationFACOperator that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

◆ setSmootherType()

void IBTK::SCPoissonPointRelaxationFACOperator::setSmootherType ( const std::string &  smoother_type)
overridevirtualinherited

Select from:

  • "PATCH_GAUSS_SEIDEL"
  • "PROCESSOR_GAUSS_SEIDEL"
  • "RED_BLACK_GAUSS_SEIDEL"

Implements IBTK::PoissonFACPreconditionerStrategy.

◆ setCoarseSolverType()

void IBTK::SCPoissonPointRelaxationFACOperator::setCoarseSolverType ( const std::string &  coarse_solver_type)
overridevirtualinherited

◆ solveCoarsestLevel()

bool IBTK::SCPoissonPointRelaxationFACOperator::solveCoarsestLevel ( SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  error,
const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  residual,
int  coarsest_ln 
)
overridevirtualinherited
Parameters
errorerror vector
residualresidual vector
coarsest_lncoarsest level number

Implements IBTK::FACPreconditionerStrategy.

◆ deallocateOperatorStateSpecialized()

void IBTK::SCPoissonPointRelaxationFACOperator::deallocateOperatorStateSpecialized ( int  coarsest_reset_ln,
int  finest_reset_ln 
)
overrideprotectedvirtualinherited

◆ setPoissonSpecifications()

virtual void IBTK::PoissonFACPreconditionerStrategy::setPoissonSpecifications ( const SAMRAI::solv::PoissonSpecifications poisson_spec)
virtualinherited

◆ setPhysicalBcCoef()

virtual void IBTK::PoissonFACPreconditionerStrategy::setPhysicalBcCoef ( SAMRAI::solv::RobinBcCoefStrategy< NDIM > *  bc_coef)
virtualinherited
Note
bc_coef may be nullptr. In this case, default boundary conditions (as supplied to the class constructor) are employed.
Parameters
bc_coefPointer to an object that can set the Robin boundary condition coefficients

◆ setPhysicalBcCoefs()

virtual void IBTK::PoissonFACPreconditionerStrategy::setPhysicalBcCoefs ( const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &  bc_coefs)
virtualinherited
Note
Any of the elements of bc_coefs may be nullptr. In this case, default boundary conditions (as supplied to the class constructor) are employed for that data depth.
Parameters
bc_coefsVector of pointers to objects that can set the Robin boundary condition coefficients

◆ setResetLevels()

void IBTK::PoissonFACPreconditionerStrategy::setResetLevels ( int  coarsest_ln,
int  finest_ln 
)
inherited

When the operator is initialized, then only the specified range of levels are reset in the operator state the next time that the operator is initialized. If the operator is not initialized, this method has no effect.

To ensure the range of levels that is reset includes all levels in the patch hierarchy, use coarsest_ln = finest_ln = -1.

Note
This function is used to save some unnecessary computations when the hierarchy is regridded. The range of levels specified must include all levels which need to be reset by SAMRAI::mesh::StandardTagAndInitStrategy::resetHierarchyConfiguration(). Any data residing outside of this range of levels will not be reset. This is not what you want to have happen if, for instance, the Poisson specifications changes.

◆ setCoarseSolverMaxIterations()

void IBTK::PoissonFACPreconditionerStrategy::setCoarseSolverMaxIterations ( int  coarse_solver_max_iterations)
inherited

If the coarse level solver uses a maximum number of iterations parameter, the specified value is used. If the coarse level solver does not use such a stopping parameter, implementations are free to ignore this value.

◆ setCoarseSolverAbsoluteTolerance()

void IBTK::PoissonFACPreconditionerStrategy::setCoarseSolverAbsoluteTolerance ( double  coarse_solver_abs_residual_tol)
inherited

If the coarse level solver uses a absolute convergence tolerance parameter, the specified value is used. If the coarse level solver does not use such a stopping parameter, implementations are free to ignore this value.

◆ setCoarseSolverRelativeTolerance()

void IBTK::PoissonFACPreconditionerStrategy::setCoarseSolverRelativeTolerance ( double  coarse_solver_rel_residual_tol)
inherited

If the coarse level solver uses a relative convergence tolerance parameter, the specified value is used. If the coarse level solver does not use such a stopping parameter, implementations are free to ignore this value.

◆ setProlongationMethod()

void IBTK::PoissonFACPreconditionerStrategy::setProlongationMethod ( const std::string &  prolongation_method)
inherited

◆ setRestrictionMethod()

void IBTK::PoissonFACPreconditionerStrategy::setRestrictionMethod ( const std::string &  restriction_method)
inherited

◆ setToZero()

void IBTK::PoissonFACPreconditionerStrategy::setToZero ( SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  vec,
int  level_num 
)
overridevirtualinherited

◆ prolongError()

void IBTK::PoissonFACPreconditionerStrategy::prolongError ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  src,
SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  dst,
int  dst_ln 
)
overridevirtualinherited
Parameters
srcsource error vector
dstdestination error vector
dst_lndestination level number of data transfer

Implements IBTK::FACPreconditionerStrategy.

◆ prolongErrorAndCorrect()

void IBTK::PoissonFACPreconditionerStrategy::prolongErrorAndCorrect ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  src,
SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  dst,
int  dst_ln 
)
overridevirtualinherited
Parameters
srcsource error vector
dstdestination error vector
dst_lndestination level number of data transfer

Implements IBTK::FACPreconditionerStrategy.

◆ initializeOperatorState()

void IBTK::PoissonFACPreconditionerStrategy::initializeOperatorState ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  solution,
const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  rhs 
)
overridevirtualinherited

Note that although the vector arguments given to other methods in this class may not necessarily be the same as those given to this method, there will be similarities, including:

  • hierarchy configuration (hierarchy pointer and level range)
  • number, type and alignment of vector component data
  • ghost cell width of data in the solution (or solution-like) vector

An unrecoverable error will occur if the rhs vector does not have consistent ghost cell width as that provided in the constructor.

Parameters
solutionsolution vector u
rhsright hand side vector f

Reimplemented from IBTK::FACPreconditionerStrategy.

◆ deallocateOperatorState()

void IBTK::PoissonFACPreconditionerStrategy::deallocateOperatorState ( )
overridevirtualinherited

Remove all hierarchy-dependent data set by initializeOperatorState().

See also
initializeOperatorState

Reimplemented from IBTK::FACPreconditionerStrategy.

◆ xeqScheduleProlongation()

void IBTK::PoissonFACPreconditionerStrategy::xeqScheduleProlongation ( int  dst_idx,
int  src_idx,
int  dst_ln 
)
protectedinherited

◆ xeqScheduleRestriction()

void IBTK::PoissonFACPreconditionerStrategy::xeqScheduleRestriction ( int  dst_idx,
int  src_idx,
int  dst_ln 
)
protectedinherited

◆ xeqScheduleGhostFillNoCoarse()

void IBTK::PoissonFACPreconditionerStrategy::xeqScheduleGhostFillNoCoarse ( int  dst_idx,
int  dst_ln 
)
protectedinherited

◆ xeqScheduleDataSynch()

void IBTK::PoissonFACPreconditionerStrategy::xeqScheduleDataSynch ( int  dst_idx,
int  dst_ln 
)
protectedinherited

◆ getName()

const std::string& IBTK::FACPreconditionerStrategy::getName ( ) const
inherited

◆ getIsInitialized()

virtual bool IBTK::FACPreconditionerStrategy::getIsInitialized ( ) const
virtualinherited

◆ setFACPreconditioner()

virtual void IBTK::FACPreconditionerStrategy::setFACPreconditioner ( SAMRAI::tbox::ConstPointer< FACPreconditioner preconditioner)
virtualinherited

◆ setHomogeneousBc()

virtual void IBTK::FACPreconditionerStrategy::setHomogeneousBc ( bool  homogeneous_bc)
virtualinherited

◆ getHomogeneousBc()

virtual bool IBTK::FACPreconditionerStrategy::getHomogeneousBc ( ) const
virtualinherited

◆ setSolutionTime()

virtual void IBTK::FACPreconditionerStrategy::setSolutionTime ( double  solution_time)
virtualinherited

◆ getSolutionTime()

virtual double IBTK::FACPreconditionerStrategy::getSolutionTime ( ) const
virtualinherited

◆ setTimeInterval()

virtual void IBTK::FACPreconditionerStrategy::setTimeInterval ( double  current_time,
double  new_time 
)
virtualinherited

◆ getTimeInterval()

virtual std::pair<double, double> IBTK::FACPreconditionerStrategy::getTimeInterval ( ) const
virtualinherited

◆ getDt()

virtual double IBTK::FACPreconditionerStrategy::getDt ( ) const
virtualinherited

◆ allocateScratchData()

virtual void IBTK::FACPreconditionerStrategy::allocateScratchData ( )
virtualinherited

◆ deallocateScratchData()

virtual void IBTK::FACPreconditionerStrategy::deallocateScratchData ( )
virtualinherited

◆ printClassData()

virtual void IBTK::FACPreconditionerStrategy::printClassData ( std::ostream &  stream)
virtualinherited

◆ getLevelSAMRAIVectorReal()

virtual SAMRAI::tbox::Pointer<SAMRAI::solv::SAMRAIVectorReal<NDIM, double> > IBTK::FACPreconditionerStrategy::getLevelSAMRAIVectorReal ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, double > &  vec,
int  level_num 
) const
protectedvirtualinherited

Member Data Documentation

◆ d_D_interp_type

IBTK::VCInterpType IBTK::VCSCViscousOpPointRelaxationFACOperator::d_D_interp_type
private

◆ d_A_scale

SAMRAI::tbox::Array<double> IBTK::VCSCViscousOpPointRelaxationFACOperator::d_A_scale
private

◆ d_coarse_solver

SAMRAI::tbox::Pointer<PoissonSolver> IBTK::SCPoissonPointRelaxationFACOperator::d_coarse_solver
protectedinherited

◆ d_coarse_solver_db

SAMRAI::tbox::Pointer<SAMRAI::tbox::Database> IBTK::SCPoissonPointRelaxationFACOperator::d_coarse_solver_db
protectedinherited

◆ d_patch_bc_box_overlap

std::vector<std::vector<std::array<SAMRAI::hier::BoxList<NDIM>, NDIM> > > IBTK::SCPoissonPointRelaxationFACOperator::d_patch_bc_box_overlap
protectedinherited

◆ d_patch_neighbor_overlap

std::vector<std::vector<std::array<std::map<int, SAMRAI::hier::Box<NDIM> >, NDIM> > > IBTK::SCPoissonPointRelaxationFACOperator::d_patch_neighbor_overlap
protectedinherited

◆ d_bc_helper

SAMRAI::tbox::Pointer<StaggeredPhysicalBoundaryHelper> IBTK::SCPoissonPointRelaxationFACOperator::d_bc_helper
protectedinherited

◆ d_mask_idx

int IBTK::SCPoissonPointRelaxationFACOperator::d_mask_idx
protectedinherited

◆ d_data_refine_type

std::string IBTK::SCPoissonPointRelaxationFACOperator::d_data_refine_type = "NONE"
privateinherited

◆ d_use_cf_interpolation

bool IBTK::SCPoissonPointRelaxationFACOperator::d_use_cf_interpolation = true
privateinherited

◆ d_data_coarsen_type

std::string IBTK::SCPoissonPointRelaxationFACOperator::d_data_coarsen_type = "CUBIC_COARSEN"
privateinherited

◆ d_bdry_extrap_type

std::string IBTK::SCPoissonPointRelaxationFACOperator::d_bdry_extrap_type = "LINEAR"
privateinherited

◆ d_use_consistent_type_2_bdry

bool IBTK::SCPoissonPointRelaxationFACOperator::d_use_consistent_type_2_bdry = false
privateinherited

◆ d_poisson_spec

SAMRAI::solv::PoissonSpecifications IBTK::PoissonFACPreconditionerStrategy::d_poisson_spec
protectedinherited

◆ d_default_bc_coef

std::unique_ptr<SAMRAI::solv::RobinBcCoefStrategy<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_default_bc_coef
protectedinherited

◆ d_bc_coefs

std::vector<SAMRAI::solv::RobinBcCoefStrategy<NDIM>*> IBTK::PoissonFACPreconditionerStrategy::d_bc_coefs
protectedinherited

◆ d_gcw

SAMRAI::hier::IntVector<NDIM> IBTK::PoissonFACPreconditionerStrategy::d_gcw
protectedinherited

◆ d_solution

SAMRAI::tbox::Pointer<SAMRAI::solv::SAMRAIVectorReal<NDIM, double> > IBTK::PoissonFACPreconditionerStrategy::d_solution
protectedinherited

◆ d_rhs

SAMRAI::tbox::Pointer<SAMRAI::solv::SAMRAIVectorReal<NDIM, double> > IBTK::PoissonFACPreconditionerStrategy::d_rhs
protectedinherited

◆ d_hierarchy

SAMRAI::tbox::Pointer<SAMRAI::hier::PatchHierarchy<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_hierarchy
protectedinherited

◆ d_coarsest_ln

int IBTK::PoissonFACPreconditionerStrategy::d_coarsest_ln = IBTK::invalid_level_number
protectedinherited

◆ d_finest_ln

int IBTK::PoissonFACPreconditionerStrategy::d_finest_ln = IBTK::invalid_level_number
protectedinherited

◆ d_level_data_ops

std::vector<SAMRAI::tbox::Pointer<SAMRAI::math::HierarchyDataOpsReal<NDIM, double> > > IBTK::PoissonFACPreconditionerStrategy::d_level_data_ops
protectedinherited

◆ d_level_bdry_fill_ops

std::vector<SAMRAI::tbox::Pointer<IBTK::HierarchyGhostCellInterpolation> > IBTK::PoissonFACPreconditionerStrategy::d_level_bdry_fill_ops
protectedinherited

◆ d_level_math_ops

std::vector<SAMRAI::tbox::Pointer<IBTK::HierarchyMathOps> > IBTK::PoissonFACPreconditionerStrategy::d_level_math_ops
protectedinherited

◆ d_in_initialize_operator_state

bool IBTK::PoissonFACPreconditionerStrategy::d_in_initialize_operator_state = false
protectedinherited

◆ d_coarsest_reset_ln

int IBTK::PoissonFACPreconditionerStrategy::d_coarsest_reset_ln = IBTK::invalid_level_number
protectedinherited

◆ d_finest_reset_ln

int IBTK::PoissonFACPreconditionerStrategy::d_finest_reset_ln = IBTK::invalid_level_number
protectedinherited

◆ d_smoother_type

std::string IBTK::PoissonFACPreconditionerStrategy::d_smoother_type = "DEFAULT"
protectedinherited

◆ d_prolongation_method

std::string IBTK::PoissonFACPreconditionerStrategy::d_prolongation_method = "DEFAULT"
protectedinherited

◆ d_restriction_method

std::string IBTK::PoissonFACPreconditionerStrategy::d_restriction_method = "DEFAULT"
protectedinherited

◆ d_coarse_solver_type

std::string IBTK::PoissonFACPreconditionerStrategy::d_coarse_solver_type = "DEFAULT"
protectedinherited

◆ d_coarse_solver_default_options_prefix

std::string IBTK::PoissonFACPreconditionerStrategy::d_coarse_solver_default_options_prefix
protectedinherited

◆ d_coarse_solver_rel_residual_tol

double IBTK::PoissonFACPreconditionerStrategy::d_coarse_solver_rel_residual_tol = 1.0e-5
protectedinherited

◆ d_coarse_solver_abs_residual_tol

double IBTK::PoissonFACPreconditionerStrategy::d_coarse_solver_abs_residual_tol = 1.0e-50
protectedinherited

◆ d_coarse_solver_max_iterations

int IBTK::PoissonFACPreconditionerStrategy::d_coarse_solver_max_iterations = 10
protectedinherited

◆ d_context

SAMRAI::tbox::Pointer<SAMRAI::hier::VariableContext> IBTK::PoissonFACPreconditionerStrategy::d_context
protectedinherited

◆ d_scratch_idx

int IBTK::PoissonFACPreconditionerStrategy::d_scratch_idx = IBTK::invalid_index
protectedinherited

◆ d_bc_op

SAMRAI::tbox::Pointer<RobinPhysBdryPatchStrategy> IBTK::PoissonFACPreconditionerStrategy::d_bc_op
protectedinherited

◆ d_cf_bdry_op

SAMRAI::tbox::Pointer<CoarseFineBoundaryRefinePatchStrategy> IBTK::PoissonFACPreconditionerStrategy::d_cf_bdry_op
protectedinherited

◆ d_op_stencil_fill_pattern

SAMRAI::tbox::Pointer<SAMRAI::xfer::VariableFillPattern<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_op_stencil_fill_pattern
protectedinherited

◆ d_synch_fill_pattern

SAMRAI::tbox::Pointer<SAMRAI::xfer::VariableFillPattern<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_synch_fill_pattern
protectedinherited

◆ d_prolongation_refine_operator

SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineOperator<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_prolongation_refine_operator
privateinherited

◆ d_prolongation_refine_patch_strategy

SAMRAI::tbox::Pointer<SAMRAI::xfer::RefinePatchStrategy<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_prolongation_refine_patch_strategy
privateinherited

◆ d_prolongation_refine_algorithm

SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineAlgorithm<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_prolongation_refine_algorithm
privateinherited

◆ d_prolongation_refine_schedules

std::vector<SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineSchedule<NDIM> > > IBTK::PoissonFACPreconditionerStrategy::d_prolongation_refine_schedules
privateinherited

◆ d_restriction_coarsen_operator

SAMRAI::tbox::Pointer<SAMRAI::xfer::CoarsenOperator<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_restriction_coarsen_operator
privateinherited

◆ d_restriction_coarsen_algorithm

SAMRAI::tbox::Pointer<SAMRAI::xfer::CoarsenAlgorithm<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_restriction_coarsen_algorithm
privateinherited

◆ d_restriction_coarsen_schedules

std::vector<SAMRAI::tbox::Pointer<SAMRAI::xfer::CoarsenSchedule<NDIM> > > IBTK::PoissonFACPreconditionerStrategy::d_restriction_coarsen_schedules
privateinherited

◆ d_ghostfill_nocoarse_refine_algorithm

SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineAlgorithm<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_ghostfill_nocoarse_refine_algorithm
privateinherited

◆ d_ghostfill_nocoarse_refine_schedules

std::vector<SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineSchedule<NDIM> > > IBTK::PoissonFACPreconditionerStrategy::d_ghostfill_nocoarse_refine_schedules
privateinherited

◆ d_synch_refine_algorithm

SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineAlgorithm<NDIM> > IBTK::PoissonFACPreconditionerStrategy::d_synch_refine_algorithm
privateinherited

◆ d_synch_refine_schedules

std::vector<SAMRAI::tbox::Pointer<SAMRAI::xfer::RefineSchedule<NDIM> > > IBTK::PoissonFACPreconditionerStrategy::d_synch_refine_schedules
privateinherited

◆ d_preconditioner

SAMRAI::tbox::ConstPointer<IBTK::FACPreconditioner> IBTK::FACPreconditionerStrategy::d_preconditioner
protectedinherited

◆ d_object_name

const std::string IBTK::FACPreconditionerStrategy::d_object_name
protectedinherited

◆ d_is_initialized

bool IBTK::FACPreconditionerStrategy::d_is_initialized = false
protectedinherited

◆ d_homogeneous_bc

bool IBTK::FACPreconditionerStrategy::d_homogeneous_bc
protectedinherited

◆ d_solution_time

double IBTK::FACPreconditionerStrategy::d_solution_time = std::numeric_limits<double>::quiet_NaN()
protectedinherited

◆ d_current_time

double IBTK::FACPreconditionerStrategy::d_current_time = std::numeric_limits<double>::quiet_NaN()
protectedinherited

◆ d_new_time

double IBTK::FACPreconditionerStrategy::d_new_time = std::numeric_limits<double>::quiet_NaN()
protectedinherited

The documentation for this class was generated from the following file: