/**Remember to add stride, the default value now is 1. May 06, 2002*/ package AMRTools; import BoxTools.BoxLayout; import BoxTools.BoxLayoutData; import BoxTools.LayoutIterator; import BoxTools.BoxedArray; import BoxTools.DataIndex; import BoxTools.Copier; import BoxTools.Util; /** * A QuadCFInterp object is used to interpolate the values on the fine ghost cells * at the coarse-fine interface. The accuracy is O(h^3) so that for example we can obtain at least * an O(h) approximation to the Laplacian. Both the data from the fine level and the coarse level * are used. Hence, this class is defined on two levels of BoxLayout. The coarse-fine * boundary is calculated once then cached. This algorithm works on BoxLayoutData<\code> * whose components are BoxedArray<\code>s. * Please refer to the Chombo design document for the details of this algorithm. *

Usage: a QuadCFInterp object must be declared local. * @see BoxTools.BoxLayout, BoxTools.BoxLayoutData, BoxTools.LayoutIterator, BoxTools.BoxedArray * and BoxTools.DataIndex. * @see Chombo Specification * @version 1.1 * Modified on Jul 09, 2004. change of syntax of foreach, see BoxTools/foreachLoopTest.ti. * @author Tong Wen, LBNL * @since 1.0 */ template public class QuadCFInterp{ private static final int SPACE_DIM=BoxTools.Util.SPACE_DIM; private static final RectDomain NULL_BOX=BoxTools.Util.NULL_BOX; private final static int highBoundary=1; private final static int lowBoundary=0; private BoxLayout local single m_layoutf, m_layoutc; private LayoutIterator local m_Iteratorf; //private double single m_dx; private GridSpacing local m_DX; private int single m_refRatio; //private int single m_nComp; public RectDomain single m_domf; private RectDomain single m_domc; //RectDomain [] local [] local m_boundaryf,m_boundaryc; //Domain local [] local [] local m_boundaryf,m_boundaryc;//changed on 11/25/03 CFBoundary [] local [] local m_boundaryf,m_boundaryc;//changed on 09/15/04 //template BoxLayoutData