OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
AmrTrilinearInterpolater.h
Go to the documentation of this file.
1 #ifndef AMR_TRILINEAR_INTERPOLATER_H
2 #define AMR_TRILINEAR_INTERPOLATER_H
3 
4 #include "AmrInterpolater.h"
5 
6 #include <algorithm>
7 #include <iterator>
8 
9 template <class Level>
11 {
12 public:
13  typedef typename Level::go_t go_t;
14  typedef typename Level::lo_t lo_t;
15  typedef typename Level::scalar_t scalar_t;
16  typedef typename Level::umap_t umap_t;
17  typedef typename Level::basefab_t basefab_t;
19 
20 public:
21 
23 
24  void stencil(const AmrIntVect_t& iv,
25  const basefab_t& fab,
26  umap_t& map,
27  const scalar_t& scale,
28  Level* mglevel);
29 
30  void coarse(const AmrIntVect_t& iv,
31  umap_t& map,
32  const scalar_t& scale,
33  lo_t dir, lo_t shift, const basefab_t& rfab,
34  const AmrIntVect_t& riv,
35  Level* mglevel);
36 
37  void fine(const AmrIntVect_t& iv,
38  umap_t& map,
39  const scalar_t& scale,
40  lo_t dir, lo_t shift, const basefab_t& fab,
41  Level* mglevel);
42 };
43 
44 
46 
47 #endif
Level::basefab_t basefab_t
&lt; Abstract base class for all coarse to fine cell interpolaters
void fine(const AmrIntVect_t &iv, umap_t &map, const scalar_t &scale, lo_t dir, lo_t shift, const basefab_t &fab, Level *mglevel)
amrex::IntVect AmrIntVect_t
Definition: AmrDefs.h:28
Level::scalar_t scalar_t
amr::AmrIntVect_t AmrIntVect_t
Level::umap_t umap_t
void stencil(const AmrIntVect_t &iv, const basefab_t &fab, umap_t &map, const scalar_t &scale, Level *mglevel)
void coarse(const AmrIntVect_t &iv, umap_t &map, const scalar_t &scale, lo_t dir, lo_t shift, const basefab_t &rfab, const AmrIntVect_t &riv, Level *mglevel)
Level::lo_t lo_t
double scalar_t