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.