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.