package AMRElliptic; import BoxTools.BoxLayout; import BoxTools.BoxLayoutData; import BoxTools.BoxedArray; import BoxTools.Util; import BoxTools.LayoutIterator; import BoxTools.DataIndex; import AMRTools.LevelFluxRegister; import AMRTools.QuadCFInterp; import java.lang.Math; import ti.lang.Reduce; /** * AMRSolver provides a multi-level algorithm for elliptic problems. It should * be implemented as a template class. The current implementation is the instance where the * basic data type is double. A AMRSolver object is constructed based on a set * of LevelOps, which defines the structure of the problem. Intermediate data * structures and operators are reused to save resources. * The details of the multigrid algorithms are available in Chombo Design Document. *

Usage: a LevelOp object must be declared local. * @see BoxLayout,BoxLayoutData,BoxedArray,LayoutIterator,QuadCFInterp,CoarseAverage,ConstantFineInterp. * @see Chombo Specification * @version 1.1 * Modified on Jul 09, 2004. change of syntax of foreach, see BoxTools/foreachLoopTest.ti. * on Aug 26, 2004. the operator BoxLayoutData.<<= constant covers ghost cells. * @author Tong Wen, LBNL * @since 1.0 */ public class AMRSolver{ private static final int SPACE_DIM =Util.SPACE_DIM; public int single numAMRVCycle=0; LevelOp local single [] local m_LevelOps; template BoxLayoutData