Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

BaseHeatSolver Class Reference

#include <BaseHeatSolver.H>

Inheritance diagram for BaseHeatSolver:

Inheritance graph
[legend]
List of all members.

Detailed Description

Pure virtual base class to encapsulate heat equation solution.

The baseHeatSolver class is a virtual base class for implementing different approaches to solving the heat equation using BaseHelmholtzOp derived operators (note that we use BaseHelmholtzOp as a base class rather than LevelOp),


Public Member Functions

 BaseHeatSolver ()
 default constructor

virtual ~BaseHeatSolver ()
 destructor

 BaseHeatSolver (const DisjointBoxLayout &a_levelGrids, const DisjointBoxLayout *a_crseGrids, const ProblemDomain &a_domain, Real a_dxLevel, int a_nRefCrse, const BaseHelmholtzOp *a_helmop, int a_ncomp=1)
 complete constuctor

virtual void define (const DisjointBoxLayout &a_levelGrids, const DisjointBoxLayout *a_crseGrids, const ProblemDomain &a_domain, Real a_dxLevel, int a_nRefCrse, const BaseHelmholtzOp *a_helmop, int ncomp=1)=0
 define statement

virtual void updateSoln (LevelData< FArrayBox > &a_phiNew, LevelData< FArrayBox > &a_phiOld, LevelFluxRegister *a_fineFluxRegPtr, LevelFluxRegister *a_crseFluxRegPtr, const LevelData< FArrayBox > *a_crsePhiOldPtr, Real crseOldTime, const LevelData< FArrayBox > *a_crsePhiNewPtr, Real crseNewTime, LevelData< FArrayBox > &a_src, Real oldTime, Real dt)=0
 do solve

virtual void computeDiffusion (LevelData< FArrayBox > &a_DiffusiveTerm, LevelData< FArrayBox > &a_phiOld, LevelFluxRegister *a_fineFluxRegPtr, LevelFluxRegister *a_crseFluxRegPtr, const LevelData< FArrayBox > *a_crsePhiOldPtr, Real crseOldTime, const LevelData< FArrayBox > *a_crsePhiNewPtr, Real crseNewTime, LevelData< FArrayBox > &a_src, Real oldTime, Real dt)=0
 computes time-centered diffusive term for explicit updating

virtual BaseHeatSolvernew_heatSolver () const=0
 "virtual constructor"

virtual void setSolverTolerance (Real a_solverTol)=0
 set solver tolerance

virtual Real solverTolerance () const=0
 accessor


Constructor & Destructor Documentation

BaseHeatSolver::BaseHeatSolver  )  [inline]
 

default constructor

virtual BaseHeatSolver::~BaseHeatSolver  )  [inline, virtual]
 

destructor

BaseHeatSolver::BaseHeatSolver const DisjointBoxLayout a_levelGrids,
const DisjointBoxLayout a_crseGrids,
const ProblemDomain a_domain,
Real  a_dxLevel,
int  a_nRefCrse,
const BaseHelmholtzOp a_helmop,
int  a_ncomp = 1
[inline]
 

complete constuctor

Note that the BaseHelmholtzOp passed in must already have the diffusion coefficient (nu) set.


Member Function Documentation

virtual void BaseHeatSolver::define const DisjointBoxLayout a_levelGrids,
const DisjointBoxLayout a_crseGrids,
const ProblemDomain a_domain,
Real  a_dxLevel,
int  a_nRefCrse,
const BaseHelmholtzOp a_helmop,
int  ncomp = 1
[pure virtual]
 

define statement

Note that the BaseHelmholtzOp passed in must already have the diffusion coefficient (nu) set.

Implemented in BackwardEulerSolver, CrankNicolsonSolver, and TGASolver.

virtual void BaseHeatSolver::updateSoln LevelData< FArrayBox > &  a_phiNew,
LevelData< FArrayBox > &  a_phiOld,
LevelFluxRegister a_fineFluxRegPtr,
LevelFluxRegister a_crseFluxRegPtr,
const LevelData< FArrayBox > *  a_crsePhiOldPtr,
Real  crseOldTime,
const LevelData< FArrayBox > *  a_crsePhiNewPtr,
Real  crseNewTime,
LevelData< FArrayBox > &  a_src,
Real  oldTime,
Real  dt
[pure virtual]
 

do solve

update phi according to d(phi)/dt = L(phi) + src

Implemented in BackwardEulerSolver, CrankNicolsonSolver, and TGASolver.

virtual void BaseHeatSolver::computeDiffusion LevelData< FArrayBox > &  a_DiffusiveTerm,
LevelData< FArrayBox > &  a_phiOld,
LevelFluxRegister a_fineFluxRegPtr,
LevelFluxRegister a_crseFluxRegPtr,
const LevelData< FArrayBox > *  a_crsePhiOldPtr,
Real  crseOldTime,
const LevelData< FArrayBox > *  a_crsePhiNewPtr,
Real  crseNewTime,
LevelData< FArrayBox > &  a_src,
Real  oldTime,
Real  dt
[pure virtual]
 

computes time-centered diffusive term for explicit updating

compute time-centered L(phi) for use in subsequent update operations

Implemented in BackwardEulerSolver, CrankNicolsonSolver, and TGASolver.

virtual BaseHeatSolver* BaseHeatSolver::new_heatSolver  )  const [pure virtual]
 

"virtual constructor"

Implemented in BackwardEulerSolver, CrankNicolsonSolver, and TGASolver.

virtual void BaseHeatSolver::setSolverTolerance Real  a_solverTol  )  [pure virtual]
 

set solver tolerance

Implemented in BackwardEulerSolver, CrankNicolsonSolver, and TGASolver.

virtual Real BaseHeatSolver::solverTolerance  )  const [pure virtual]
 

accessor

Implemented in BackwardEulerSolver, CrankNicolsonSolver, and TGASolver.


The documentation for this class was generated from the following file:
Generated on Fri May 4 13:31:34 2007 for Chombo by doxygen 1.3.6