LaplaceOperator (std::string object_name , bool homogeneous_bc =false )
Constructor.
~LaplaceOperator ()=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 const SAMRAI::solv::PoissonSpecifications & getPoissonSpecifications () const
Get 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.
virtual void setPhysicalBcCoefs (const std::vector < SAMRAI::solv::RobinBcCoefStrategy < NDIM > * > &bc_coefs )
Set the SAMRAI::solv::RobinBcCoefStrategy objects used to specify physical boundary conditions.
virtual const std::vector < SAMRAI::solv::RobinBcCoefStrategy < NDIM > * > & getPhysicalBcCoefs () const
Get the SAMRAI::solv::RobinBcCoefStrategy object(s) used to specify physical boundary conditions.
LinearOperator (std::string object_name , bool homogeneous_bc =false )
Constructor.
~LinearOperator ()
Empty destructor.
void modifyRhsForBcs (SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &y ) override
Modify y to account for boundary conditions.
GeneralOperator (std::string object_name , bool homogeneous_bc =false )
Constructor.
virtual ~GeneralOperator ()
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 operator should use homogeneous boundary conditions.
virtual bool getHomogeneousBc () const
Return whether the operator 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 operator.
virtual SAMRAI::tbox::Pointer < HierarchyMathOps > getHierarchyMathOps () const
Get the HierarchyMathOps object used by the operator.
virtual void apply (SAMRAI::solv::SAMRAIVectorReal < NDIM, double > &x, SAMRAI::solv::SAMRAIVectorReal < NDIM, double > &y)=0
Compute .
virtual void applyAdd (SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &x , SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &y , SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &z )
Compute .
virtual void initializeOperatorState (const SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &in, const SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &out)
Compute hierarchy dependent data required for computing y=F[x] and z=F[x]+y.
virtual void deallocateOperatorState ()
Remove all hierarchy dependent data allocated by initializeOperatorState() .
virtual void imposeSolBcs (SAMRAI::solv::SAMRAIVectorReal < NDIM , double > &u )
Impose boudary conditions in the solution vector.
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.
Class LaplaceOperator is an abstract base class for a Laplace-type operators.