class AMRLevelMG
class which manages data and operations on a level for AMRSolver
Inheritance:
AMRLevelMG
public members:
-
AMRLevelMG()
-
~AMRLevelMG()
-
-
AMRLevelMG(const AMRSolver * const a_parent, int a_level, const LevelOp * const a_opin, int ncomp=1)
-
-
void define(const AMRSolver * const a_parent, int a_level, const LevelOp * const a_opin, int ncomp=1)
-
-
void setnumSmoothUp(int a_numSmoothUp)
-
-
void setnumSmoothDown(int a_numSmoothDown)
-
-
void applyAMROperator( Vector <LevelData< FArrayBox > *>& a_phiLevel, LevelData< FArrayBox > & Lofphi)
-
-
void applyAMROperatorHphys( Vector <LevelData< FArrayBox > *>& a_phiLevel, LevelData< FArrayBox >& LofPhi)
-
-
void computeAMRResidual( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
-
void computeAMRResidualHphys( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
-
void computeAMRResidual(LevelData< FArrayBox >& a_resid, Vector <LevelData< FArrayBox >* >& a_phiLevel, const Vector <LevelData< FArrayBox >* >& a_rhsLevel)
-
-
void upSweep( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
-
void downSweep( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
-
Vector <Real> computeResidualNorm(int normType) const
-
bool isDefined() const
-
Documentation
AMRLevelMG manages the operations on a level for AMRSolver.
AMRSolver contains a vector of AMRLevelMG's (one for each level).
This class should be considered internal to AMRSolver and should
not be considered part of the Chombo API.
- AMRLevelMG (const AMRSolver * const a_parent, int a_level, const LevelOp * const a_opin, int ncomp=1)
-
Define AMRLevelMG from the inputs.
- void define (const AMRSolver * const a_parent, int a_level, const LevelOp * const a_opin, int ncomp=1)
-
Define AMRLevelMG from the inputs.
The AMRLevelMG will only work for the
input AMRSolver. A LevelMG is created.
- void setnumSmoothUp (int a_numSmoothUp)
- Set number of multigrid smoothings on way up V-cycle;
Default == 4.
- void setnumSmoothDown (int a_numSmoothDown)
- Set number of multigrid smoothings on way down V-cycle;
Default == 4.
- void applyAMROperator ( Vector <LevelData< FArrayBox > *>& a_phiLevel, LevelData< FArrayBox > & Lofphi)
-
Complete, 3-level operator. Applies operator with
inhomogeneous coarse-fine boundary conditions (and
inhomogeneous domain boundary conditions. Refluxing
is used to compute the operator at coarse-fine boundaries.
- void applyAMROperatorHphys ( Vector <LevelData< FArrayBox > *>& a_phiLevel, LevelData< FArrayBox >& LofPhi)
- Complete, 3-level operator with homogeneous physical
boundary conditions. Applies operator with inhomogeneous
physical boundary conditions. Refluxing is used to compute
the operator at coarse-fine boundaries.
- void computeAMRResidual ( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
Compute complete, 3-level residual
and put it into local data m_resid
- void computeAMRResidualHphys ( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
Compute complete, 3-level residual with homogeneous physical
BCs and inhomogeneous C/F BCs and put it into local data m_resid
- void computeAMRResidual (LevelData< FArrayBox >& a_resid, Vector <LevelData< FArrayBox >* >& a_phiLevel, const Vector <LevelData< FArrayBox >* >& a_rhsLevel)
-
Compute complete, 3-level residual
and return it in the argument LevelData<FArrayBox>
- void upSweep ( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
Sweep up multigrid v-cycle. Computes residual
on
- void downSweep ( Vector <LevelData< FArrayBox > *>& a_phiLevel, const Vector <LevelData< FArrayBox > *>& a_rhsLevel)
-
Sweep down v-cycle
- Vector <Real> computeResidualNorm (int normType) const
-
compute and return norm of internal data m_resid.
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.