Chombo + EB + MF  3.2
MFRemapper.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _MFREMAPPER_H_
12 #define _MFREMAPPER_H_
13 
14 #include "MFCellFAB.H"
15 #include "LevelData.H"
16 #include "ProblemDomain.H"
17 #include "MFIndexSpace.H"
18 #include "NamespaceHeader.H"
19 
20 ///
21 /**
22  This class is used by the time-dependent aspects of MFChombo.
23  This class handles the process of mapping the state data within
24  one LevelData<MFCellFAB> based on one MFIndexSpace, to a whole new
25  LevelData<MFCellFAB> based on a different MFIndexSpace.
26 
27  */
29 {
30 public:
31 
32  MFRemapper();
33 
34  virtual ~MFRemapper();
35 
36  ///
37  /**
38  Remap operation that takes an existing state data the source MFIndexSpace
39  and maps it too the same DisjointBoxLayout but with a new MFIndexSpace.
40 
41  The new MFIndexSpace is usually the result an interface movement operation, followed
42  by some form of LevelSet computation. At the end of this, a new MFIndexSpace is
43  created. The current state data needs to be mapped into a new LevelData<MFCellFAB>
44  based on this new MFIndexSpace. The DisjointBoxLayouts from a_source and a_dest
45  are assumed to be identical. Thus, no coarse-fine AMR operations are performed.
46  */
47  void remap(const MFIndexSpace& a_sourceMF,
48  const LevelData<MFCellFAB>& a_source,
49  const MFIndexSpace& a_destMF,
50  LevelData<MFCellFAB>& a_dest) const;
51 
52  ///
53  /** Regridding version of remapping operation. Same MFIndexSpace, same
54  state data, different grid configurations. This routine is usually called
55  after a MeshRefine operation.
56  */
57  void remap(const MFIndexSpace& a_MF,
58  const ProblemDomain& a_domainCoar,
59  const ProblemDomain& a_domainFine,
60  const LevelData<MFCellFAB>& a_source,
61  const LevelData<MFCellFAB>& a_coarse,
62  const int& nref,
63  const int& nghost,
64  LevelData<MFCellFAB>& a_dest);
65 };
66 
67 #include "NamespaceFooter.H"
68 #endif
Definition: MFIndexSpace.H:17
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Definition: MFRemapper.H:28
void remap(const MFIndexSpace &a_sourceMF, const LevelData< MFCellFAB > &a_source, const MFIndexSpace &a_destMF, LevelData< MFCellFAB > &a_dest) const
virtual ~MFRemapper()