1 #ifndef ERF_PhysBCFunct_H_
2 #define ERF_PhysBCFunct_H_
4 #include <AMReX_Config.H>
6 #include <AMReX_BCRec.H>
7 #include <AMReX_Geometry.H>
8 #include <AMReX_MultiFab.H>
9 #include <AMReX_ArrayLim.H>
10 #include <AMReX_FilCC_C.H>
11 #include <AMReX_FilND_C.H>
12 #include <AMReX_FilFC_C.H>
13 #include "AMReX_TypeTraits.H"
14 #include "AMReX_Orientation.H"
42 void operator() (amrex::MultiFab& mf,
int icomp,
int ncomp,
43 const amrex::IntVect& nghost,
const amrex::Geometry& geom);
74 const amrex::Geometry& geom,
const amrex::Vector<amrex::BCRec>& domain_bcs_type,
75 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
76 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_extdir_vals,
77 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_neumann_vals,
78 const TerrainType& terrain_type,
79 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
80 const bool use_real_bcs,
82 const amrex::Array<int,AMREX_SPACEDIM*2>& th_file_face)
93 for (
int ori = 0; ori < 2*AMREX_SPACEDIM; ++ori) {
m_th_file_face[ori] = th_file_face[ori]; }
116 int icomp,
int ncomp, amrex::IntVect
const& nghost,
117 const double time,
int bccomp_cons,
bool do_fb =
true,
bool do_terrain_adjustment =
true);
133 const amrex::Array4<amrex::Real const>& xvel_arr,
134 const amrex::Array4<amrex::Real const>& yvel_arr,
135 const amrex::Box& bx,
const amrex::Box& domain,
136 int icomp,
int ncomp, amrex::IntVect
ng,
153 const amrex::Box& bx,
const amrex::Box& domain,
154 const amrex::Array4<amrex::Real const>& z_nd,
155 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM>
dxInv,
156 int icomp,
int ncomp,
const double time,
157 bool do_terrain_adjustment =
true);
192 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
193 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
194 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_extdir_vals,
195 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_neumann_vals,
196 const TerrainType& terrain_type,
197 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
198 const bool use_real_bcs,
228 amrex::IntVect
const& nghost,
const double time,
int bccomp,
bool do_fb);
242 const amrex::Array4<amrex::Real const>& xvel_arr,
243 const amrex::Array4<amrex::Real const>& yvel_arr,
244 const amrex::Box& bx,
const amrex::Box& domain,
260 const amrex::Box& bx,
const amrex::Box& domain,
261 const amrex::Array4<amrex::Real const>& z_nd,
262 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM>
dxInv,
298 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
299 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
300 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_extdir_vals,
301 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_neumann_vals,
302 const TerrainType& terrain_type,
303 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
304 const bool use_real_bcs,
334 amrex::IntVect
const& nghost,
const double time,
int bccomp,
bool do_fb);
348 const amrex::Array4<amrex::Real const>& xvel_arr,
349 const amrex::Array4<amrex::Real const>& yvel_arr,
350 const amrex::Box& bx,
const amrex::Box& domain,
366 const amrex::Box& bx,
const amrex::Box& domain,
367 const amrex::Array4<amrex::Real const>& z_nd,
368 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM>
dxInv,
405 const amrex::Vector<amrex::BCRec>& domain_bcs_type,
406 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
407 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_extdir_vals,
408 amrex::Array<amrex::Array<amrex::Real,AMREX_SPACEDIM*2>,AMREX_SPACEDIM+
NBCVAR_max> bc_neumann_vals,
409 const TerrainType& terrain_type,
410 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac_lev,
411 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
412 const bool use_real_bcs,
445 amrex::IntVect
const& nghost,
const double time,
int bccomp,
465 const amrex::Array4<amrex::Real const>& xvel_arr,
466 const amrex::Array4<amrex::Real const>& yvel_arr,
467 const amrex::Box& bx,
const amrex::Box& domain,
468 const amrex::Array4<amrex::Real const>& mf_u,
469 const amrex::Array4<amrex::Real const>& mf_v,
470 const amrex::Array4<amrex::Real const>& z_nd,
471 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM>
dxInv,
472 TerrainType terrain_type,
int bccomp,
494 const amrex::Array4<amrex::Real const>& xvel_arr,
495 const amrex::Array4<amrex::Real const>& yvel_arr,
496 const amrex::Box& bx,
const amrex::Box& domain,
497 const amrex::Array4<amrex::Real const>& mf_u,
498 const amrex::Array4<amrex::Real const>& mf_v,
499 const amrex::Array4<amrex::Real const>& z_nd,
500 const amrex::GpuArray<amrex::Real,AMREX_SPACEDIM>
dxInv,
501 int bccomp_u,
int bccomp_v,
int bccomp_w,
502 TerrainType terrain_type,
538 const amrex::Geometry& geom,
const amrex::Vector<amrex::BCRec>& domain_bcs_type,
539 const amrex::Gpu::DeviceVector<amrex::BCRec>& domain_bcs_type_d,
540 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
568 void operator() (amrex::MultiFab& mf,
int icomp,
int ncomp, amrex::IntVect
const& nghost);
581 const amrex::Array4<amrex::Real const>& z_nd,
582 const amrex::Box& bx,
const amrex::Box& domain,
583 int ncomp,
const amrex::IntVect& nghost);
596 const amrex::Array4<amrex::Real const>& z_nd,
597 const amrex::Box& bx,
const amrex::Box& domain,
598 int ncomp,
const amrex::IntVect& nghost);
@ v_y
Definition: ERF_DataStruct.H:38
@ u_x
Definition: ERF_DataStruct.H:37
#define NBCVAR_max
Definition: ERF_IndexDefines.H:32
amrex::GpuArray< Real, AMREX_SPACEDIM > dxInv
Definition: ERF_InitCustomPertVels_ParticleTests.H:17
const Real rdOcp
Definition: ERF_InitCustomPert_ABL.H:72
pp get("wavelength", wavelength)
const bool use_terrain
Definition: ERF_InitCustomPert_SLM.H:14
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_PhysBCFunct.H:521
amrex::Gpu::DeviceVector< amrex::BCRec > m_domain_bcs_type_d
Definition: ERF_PhysBCFunct.H:608
amrex::Real m_rdOcp
Definition: ERF_PhysBCFunct.H:605
bool m_use_terrain
Definition: ERF_PhysBCFunct.H:604
void impose_vertical_basestate_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &z_nd, const amrex::Box &bx, const amrex::Box &domain, int ncomp, const amrex::IntVect &nghost)
Definition: ERF_BoundaryConditionsBaseState.cpp:380
int m_lev
Definition: ERF_PhysBCFunct.H:601
amrex::MultiFab * m_z_phys_nd
Definition: ERF_PhysBCFunct.H:609
amrex::Geometry m_geom
Definition: ERF_PhysBCFunct.H:602
ERFPhysBCFunct_base(const int lev, const amrex::Geometry &geom, const amrex::Vector< amrex::BCRec > &domain_bcs_type, const amrex::Gpu::DeviceVector< amrex::BCRec > &domain_bcs_type_d, std::unique_ptr< amrex::MultiFab > &z_phys_nd, bool moving_terrain, bool use_terrain, amrex::Real rdOcp, amrex::Real gravity)
Definition: ERF_PhysBCFunct.H:537
bool m_moving_terrain
Definition: ERF_PhysBCFunct.H:603
amrex::Real m_gravity
Definition: ERF_PhysBCFunct.H:606
void impose_lateral_basestate_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &z_nd, const amrex::Box &bx, const amrex::Box &domain, int ncomp, const amrex::IntVect &nghost)
Definition: ERF_BoundaryConditionsBaseState.cpp:20
void operator()(amrex::MultiFab &mf, int icomp, int ncomp, amrex::IntVect const &nghost)
Definition: ERF_PhysBCFunct.cpp:449
amrex::Vector< amrex::BCRec > m_domain_bcs_type
Definition: ERF_PhysBCFunct.H:607
~ERFPhysBCFunct_base()
Definition: ERF_PhysBCFunct.H:558
Definition: ERF_PhysBCFunct.H:55
bool m_use_real_bcs
Definition: ERF_PhysBCFunct.H:168
amrex::Geometry m_geom
Definition: ERF_PhysBCFunct.H:161
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_extdir_vals
Definition: ERF_PhysBCFunct.H:164
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_neumann_vals
Definition: ERF_PhysBCFunct.H:165
void operator()(amrex::MultiFab &mf, amrex::MultiFab &xvel, amrex::MultiFab &yvel, int icomp, int ncomp, amrex::IntVect const &nghost, const double time, int bccomp_cons, bool do_fb=true, bool do_terrain_adjustment=true)
Definition: ERF_PhysBCFunct.cpp:87
void impose_vertical_cons_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Box &bx, const amrex::Box &domain, const amrex::Array4< amrex::Real const > &z_nd, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dxInv, int icomp, int ncomp, const double time, bool do_terrain_adjustment=true)
Definition: ERF_BoundaryConditionsCons.cpp:397
void impose_lateral_cons_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &xvel_arr, const amrex::Array4< amrex::Real const > &yvel_arr, const amrex::Box &bx, const amrex::Box &domain, int icomp, int ncomp, amrex::IntVect ng, const double time)
Definition: ERF_BoundaryConditionsCons.cpp:22
amrex::Gpu::DeviceVector< amrex::BCRec > m_domain_bcs_type_d
Definition: ERF_PhysBCFunct.H:163
BelowGroundGhostSync m_below_ground_sync
Definition: ERF_PhysBCFunct.H:171
ERFPhysBCFunct_cons(const int lev, const amrex::Geometry &geom, const amrex::Vector< amrex::BCRec > &domain_bcs_type, const amrex::Gpu::DeviceVector< amrex::BCRec > &domain_bcs_type_d, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_extdir_vals, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_neumann_vals, const TerrainType &terrain_type, std::unique_ptr< amrex::MultiFab > &z_phys_nd, const bool use_real_bcs, amrex::Real *th_bc_data, const amrex::Array< int, AMREX_SPACEDIM *2 > &th_file_face)
Definition: ERF_PhysBCFunct.H:73
amrex::Vector< amrex::BCRec > m_domain_bcs_type
Definition: ERF_PhysBCFunct.H:162
~ERFPhysBCFunct_cons()
Definition: ERF_PhysBCFunct.H:99
TerrainType m_terrain_type
Definition: ERF_PhysBCFunct.H:166
amrex::Real * m_th_bc_data
Definition: ERF_PhysBCFunct.H:169
amrex::MultiFab * m_z_phys_nd
Definition: ERF_PhysBCFunct.H:167
int m_lev
Definition: ERF_PhysBCFunct.H:160
amrex::GpuArray< int, AMREX_SPACEDIM *2 > m_th_file_face
Definition: ERF_PhysBCFunct.H:170
Definition: ERF_PhysBCFunct.H:175
amrex::Geometry m_geom
Definition: ERF_PhysBCFunct.H:268
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_extdir_vals
Definition: ERF_PhysBCFunct.H:271
amrex::Gpu::DeviceVector< amrex::BCRec > m_domain_bcs_type_d
Definition: ERF_PhysBCFunct.H:270
bool m_use_real_bcs
Definition: ERF_PhysBCFunct.H:275
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_neumann_vals
Definition: ERF_PhysBCFunct.H:272
amrex::Real * m_u_bc_data
Definition: ERF_PhysBCFunct.H:276
void impose_vertical_xvel_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Box &bx, const amrex::Box &domain, const amrex::Array4< amrex::Real const > &z_nd, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dxInv, int bccomp, const double time)
Definition: ERF_BoundaryConditionsXvel.cpp:213
int m_lev
Definition: ERF_PhysBCFunct.H:267
void impose_lateral_xvel_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &xvel_arr, const amrex::Array4< amrex::Real const > &yvel_arr, const amrex::Box &bx, const amrex::Box &domain, int bccomp, const double time)
Definition: ERF_BoundaryConditionsXvel.cpp:18
amrex::Vector< amrex::BCRec > m_domain_bcs_type
Definition: ERF_PhysBCFunct.H:269
ERFPhysBCFunct_u(const int lev, const amrex::Geometry &geom, const amrex::Vector< amrex::BCRec > &domain_bcs_type, const amrex::Gpu::DeviceVector< amrex::BCRec > &domain_bcs_type_d, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_extdir_vals, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_neumann_vals, const TerrainType &terrain_type, std::unique_ptr< amrex::MultiFab > &z_phys_nd, const bool use_real_bcs, amrex::Real *u_bc_data)
Definition: ERF_PhysBCFunct.H:191
void operator()(amrex::MultiFab &mf, amrex::MultiFab &xvel, amrex::MultiFab &yvel, amrex::IntVect const &nghost, const double time, int bccomp, bool do_fb)
Definition: ERF_PhysBCFunct.cpp:177
~ERFPhysBCFunct_u()
Definition: ERF_PhysBCFunct.H:214
BelowGroundGhostSync m_below_ground_sync
Definition: ERF_PhysBCFunct.H:277
amrex::MultiFab * m_z_phys_nd
Definition: ERF_PhysBCFunct.H:274
TerrainType m_terrain_type
Definition: ERF_PhysBCFunct.H:273
Definition: ERF_PhysBCFunct.H:281
void impose_lateral_yvel_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &xvel_arr, const amrex::Array4< amrex::Real const > &yvel_arr, const amrex::Box &bx, const amrex::Box &domain, int bccomp, const double time)
Definition: ERF_BoundaryConditionsYvel.cpp:17
amrex::Geometry m_geom
Definition: ERF_PhysBCFunct.H:374
amrex::Gpu::DeviceVector< amrex::BCRec > m_domain_bcs_type_d
Definition: ERF_PhysBCFunct.H:376
void operator()(amrex::MultiFab &mf, amrex::MultiFab &xvel, amrex::MultiFab &yvel, amrex::IntVect const &nghost, const double time, int bccomp, bool do_fb)
Definition: ERF_PhysBCFunct.cpp:265
amrex::Real * m_v_bc_data
Definition: ERF_PhysBCFunct.H:382
int m_lev
Definition: ERF_PhysBCFunct.H:373
~ERFPhysBCFunct_v()
Definition: ERF_PhysBCFunct.H:320
TerrainType m_terrain_type
Definition: ERF_PhysBCFunct.H:379
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_neumann_vals
Definition: ERF_PhysBCFunct.H:378
void impose_vertical_yvel_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Box &bx, const amrex::Box &domain, const amrex::Array4< amrex::Real const > &z_nd, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dxInv, int bccomp, const double time)
Definition: ERF_BoundaryConditionsYvel.cpp:213
ERFPhysBCFunct_v(const int lev, const amrex::Geometry &geom, const amrex::Vector< amrex::BCRec > &domain_bcs_type, const amrex::Gpu::DeviceVector< amrex::BCRec > &domain_bcs_type_d, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_extdir_vals, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_neumann_vals, const TerrainType &terrain_type, std::unique_ptr< amrex::MultiFab > &z_phys_nd, const bool use_real_bcs, amrex::Real *v_bc_data)
Definition: ERF_PhysBCFunct.H:297
bool m_use_real_bcs
Definition: ERF_PhysBCFunct.H:381
BelowGroundGhostSync m_below_ground_sync
Definition: ERF_PhysBCFunct.H:383
amrex::Vector< amrex::BCRec > m_domain_bcs_type
Definition: ERF_PhysBCFunct.H:375
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_extdir_vals
Definition: ERF_PhysBCFunct.H:377
amrex::MultiFab * m_z_phys_nd
Definition: ERF_PhysBCFunct.H:380
Definition: ERF_PhysBCFunct.H:387
amrex::Vector< amrex::BCRec > m_domain_bcs_type
Definition: ERF_PhysBCFunct.H:508
amrex::Geometry m_geom
Definition: ERF_PhysBCFunct.H:507
int m_lev
Definition: ERF_PhysBCFunct.H:506
amrex::Real * m_w_bc_data
Definition: ERF_PhysBCFunct.H:517
bool m_use_real_bcs
Definition: ERF_PhysBCFunct.H:516
amrex::Gpu::DeviceVector< amrex::BCRec > m_domain_bcs_type_d
Definition: ERF_PhysBCFunct.H:509
amrex::MultiFab * m_mapfac_v
Definition: ERF_PhysBCFunct.H:514
TerrainType m_terrain_type
Definition: ERF_PhysBCFunct.H:512
amrex::MultiFab * m_z_phys_nd
Definition: ERF_PhysBCFunct.H:515
amrex::MultiFab * m_mapfac_u
Definition: ERF_PhysBCFunct.H:513
void operator()(amrex::MultiFab &mf, amrex::MultiFab &xvel, amrex::MultiFab &yvel, amrex::IntVect const &nghost, const double time, int bccomp, bool do_fb)
Definition: ERF_PhysBCFunct.cpp:354
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_neumann_vals
Definition: ERF_PhysBCFunct.H:511
ERFPhysBCFunct_w(const int lev, const amrex::Geometry &geom, const amrex::Vector< amrex::BCRec > &domain_bcs_type, const amrex::Gpu::DeviceVector< amrex::BCRec > &domain_bcs_type_d, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_extdir_vals, amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > bc_neumann_vals, const TerrainType &terrain_type, amrex::Vector< std::unique_ptr< amrex::MultiFab >> &mapfac_lev, std::unique_ptr< amrex::MultiFab > &z_phys_nd, const bool use_real_bcs, amrex::Real *w_bc_data)
Definition: ERF_PhysBCFunct.H:404
~ERFPhysBCFunct_w()
Definition: ERF_PhysBCFunct.H:431
void impose_vertical_zvel_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &xvel_arr, const amrex::Array4< amrex::Real const > &yvel_arr, const amrex::Box &bx, const amrex::Box &domain, const amrex::Array4< amrex::Real const > &mf_u, const amrex::Array4< amrex::Real const > &mf_v, const amrex::Array4< amrex::Real const > &z_nd, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dxInv, int bccomp_u, int bccomp_v, int bccomp_w, TerrainType terrain_type, const double time)
Definition: ERF_BoundaryConditionsZvel.cpp:210
void impose_lateral_zvel_bcs(const amrex::Array4< amrex::Real > &dest_arr, const amrex::Array4< amrex::Real const > &xvel_arr, const amrex::Array4< amrex::Real const > &yvel_arr, const amrex::Box &bx, const amrex::Box &domain, const amrex::Array4< amrex::Real const > &mf_u, const amrex::Array4< amrex::Real const > &mf_v, const amrex::Array4< amrex::Real const > &z_nd, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > dxInv, TerrainType terrain_type, int bccomp, const double time)
Definition: ERF_BoundaryConditionsZvel.cpp:23
amrex::Array< amrex::Array< amrex::Real, AMREX_SPACEDIM *2 >, AMREX_SPACEDIM+NBCVAR_max > m_bc_extdir_vals
Definition: ERF_PhysBCFunct.H:510
@ ng
Definition: ERF_Morrison.H:50
@ xvel
Definition: ERF_IndexDefines.H:218
@ yvel
Definition: ERF_IndexDefines.H:219
Definition: ERF_PhysBCFunct.H:41
amrex::BoxArray m_slab_ba
Definition: ERF_PhysBCFunct.H:49
amrex::IntVect m_nghost
Definition: ERF_PhysBCFunct.H:48
void operator()(amrex::MultiFab &mf, int icomp, int ncomp, const amrex::IntVect &nghost, const amrex::Geometry &geom)
Definition: ERF_PhysBCFunct.cpp:19
amrex::DistributionMapping m_src_dm
Definition: ERF_PhysBCFunct.H:47
amrex::BoxArray m_src_ba
Definition: ERF_PhysBCFunct.H:46
amrex::DistributionMapping m_slab_dm
Definition: ERF_PhysBCFunct.H:50
amrex::Vector< int > m_src_index
Definition: ERF_PhysBCFunct.H:51