1 #ifndef AMR_LAGRANGE_INTERPOLATER_H
2 #define AMR_LAGRANGE_INTERPOLATER_H
6 #if AMREX_SPACEDIM == 3
14 template <
class Level>
19 typedef typename Level::go_t
go_t;
20 typedef typename Level::lo_t
lo_t;
22 typedef typename Level::umap_t
umap_t;
31 #if AMREX_SPACEDIM == 3
32 typedef std::bitset<25> qbits_t;
33 typedef std::bitset<9> lbits_t;
34 typedef std::array<unsigned int long, 9> qpattern_t;
35 typedef std::array<unsigned int long, 4> lpattern_t;
151 #if AMREX_SPACEDIM == 3
152 static constexpr qpattern_t qpattern_ms {
164 static constexpr lpattern_t lpattern_ms {
177 #if AMREX_SPACEDIM == 3
178 static const scalar_t lookup3_ms[2];
179 static const scalar_t lookup3r_ms[2];
180 static const scalar_t lookup4_ms[2];
181 static const scalar_t lookup4r_ms[2];
182 static const scalar_t lookup5_ms[2];
183 static const scalar_t lookup5r_ms[2];
void stencil(const AmrIntVect_t &iv, const basefab_t &fab, umap_t &map, const scalar_t &scale, Level *mglevel)
< Abstract base class for all coarse to fine cell interpolaters
static const scalar_t lookup2b_ms[2]
amr::AmrIntVect_t AmrIntVect_t
void crseLinear_m(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)
amrex::IntVect AmrIntVect_t
static const scalar_t lookup1b_ms[2]
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)
void fineLinear_m(const AmrIntVect_t &iv, umap_t &map, const scalar_t &scale, lo_t dir, lo_t shift, Level *mglevel)
static const scalar_t lookup1a_ms[2]
void crseQuadratic_m(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)
static const scalar_t lookup2a_ms[2]
void fineQuadratic_m(const AmrIntVect_t &iv, umap_t &map, const scalar_t &scale, lo_t dir, lo_t shift, Level *mglevel)
AmrLagrangeInterpolater(Order order)
void fine(const AmrIntVect_t &iv, umap_t &map, const scalar_t &scale, lo_t dir, lo_t shift, Level *mglevel)
Level::basefab_t basefab_t