class LevelSolver
Solves elliptic equations on a level
Inheritance:
LevelSolver
public members:
-
-
LevelSolver()
-
virtual ~LevelSolver()
-
-
LevelSolver(const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const Box& a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp = 1)
-
-
LevelSolver(const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const ProblemDomain & a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp)
-
-
virtual void define(const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const Box& a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp=1)
- Full define function.
-
virtual void define(const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const ProblemDomain & a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp = 1)
- Full define function.
bool isDefined() const
-
void clearMemory()
-
void setDefaultValues()
-
-
void levelSolveH(LevelData< FArrayBox >& phi, const LevelData< FArrayBox >& rhs, bool initializePhiToZero=true)
-
-
void levelSolve(LevelData< FArrayBox >& phi, const LevelData< FArrayBox >* phic, const LevelData< FArrayBox >& rhs, bool initializePhiToZero=true)
-
void setTolerance(Real a_tolerance)
- set solution tolerance
void setVerbose(bool a_verbose)
-
void setMaxIter(int a_maxIter)
- set max number multigrid vcycles to use in solution
Documentation
LevelSolver Solves elliptic equations on a level
using multigrid.
- LevelSolver ()
-
Default constructor leaves LevelSolver undefined.
- LevelSolver (const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const Box& a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp = 1)
-
Full constructor. Calls full define function.
Inputs:
a_grids: Grid on which solution will be computed.
a_baseGrids: pointer to next coarser grids.
Should be == NULL if there is no coarser level.
a_domain: domain of solution level
a_dxLevel: grid spacing at solution level
a_nRefCrse: refinement ratio between two levels.
Not used if there is no finer level
a_opin: operator L used in solution of Lphi=rho
- LevelSolver (const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const ProblemDomain & a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp)
-
Full constructor. Calls full define function.
Inputs:
a_grids: Grid on which solution will be computed.
a_baseGrids: pointer to next coarser grids.
Should be == NULL if there is no coarser level.
a_domain: domain of solution level
a_dxLevel: grid spacing at solution level
a_nRefCrse: refinement ratio between two levels.
Not used if there is no finer level
a_opin: operator L used in solution of Lphi=rho
- virtual void define (const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const Box& a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp=1)
-
Full define function.
Inputs:
a_grids: Grid on which solution will be computed.
a_baseGrids: pointer to next coarser grids.
Should be == NULL if there is no coarser level.
a_domain: domain of solution level
a_dxLevel: grid spacing at solution level
a_nRefCrse: refinement ratio between two levels.
Not used if there is no finer level
a_opin: operator L used in solution of Lphi=rho
- virtual void define (const DisjointBoxLayout & a_grids, const DisjointBoxLayout * a_baseGrids, const ProblemDomain & a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp * const a_opin, int a_ncomp = 1)
-
Full define function.
Inputs:
a_grids: Grid on which solution will be computed.
a_baseGrids: pointer to next coarser grids.
Should be == NULL if there is no coarser level.
a_domain: domain of solution level
a_dxLevel: grid spacing at solution level
a_nRefCrse: refinement ratio between two levels.
Not used if there is no finer level
a_opin: operator L used in solution of Lphi=rho
- void levelSolveH (LevelData< FArrayBox >& phi, const LevelData< FArrayBox >& rhs, bool initializePhiToZero=true)
-
do a level solve on this level using multigrid
uses homogeneous bcs at coarse/fine interfaces
Inputs:
phi: initial guess at solution.
rhs: right-hand side.
Outputs:
phi: solution.
- void levelSolve (LevelData< FArrayBox >& phi, const LevelData< FArrayBox >* phic, const LevelData< FArrayBox >& rhs, bool initializePhiToZero=true)
-
do a level solve on this level using multigrid
uses inhomogeneous bcs at interfaces
Inputs:
phi: initial guess at solution.
phic: solution at next coarser level. should be == NULL
if there is no coarser level.
rhs: right-hand side.
Outputs:
phi: solution.
this class has no child classes.
alphabetic index hierarchy of classes
Chombo
Copyright Notice
This software is copyright (C) by the Lawrence Berkeley
National Laboratory. Permission is granted to reproduce
this software for non-commercial purposes provided that
this notice is left intact.
It is acknowledged that the U.S. Government has rights to
this software under Contract DE-AC03-765F00098 between
the U.S. Department of Energy and the University of
California.
This software is provided as a professional and academic
contribution for joint exchange. Thus it is experimental,
is provided ``as is'', with no warranties of any kind
whatsoever, no support, no promise of updates, or printed
documentation. By using this software, you acknowledge
that the Lawrence Berkeley National Laboratory and
Regents of the University of California shall have no
liability with respect to the infringement of other
copyrights by any part of this software.