ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ERF_EBAdvection.H
Go to the documentation of this file.
1 #ifndef ERF_EBADVECTION_H_
2 #define ERF_EBADVECTION_H_
3 
4 #include "AMReX.H"
5 #include "AMReX_MultiFab.H"
6 #include "AMReX_BCRec.H"
7 #include "AMReX_YAFluxRegister.H"
8 
9 #include "ERF_DataStruct.H"
10 #include "ERF_IndexDefines.H"
11 #include "ERF_SurfaceLayer.H"
12 
13 /** Compute advection tendency for density and potential temperature */
14 void EBAdvectionSrcForRho (const amrex::Box& bx,
15  const amrex::Array4<amrex::Real>& src,
16  const amrex::Array4<const amrex::Real>& rho_u, // These are being used
17  const amrex::Array4<const amrex::Real>& rho_v, // to define the fluxes
18  const amrex::Array4<const amrex::Real>& omega,
19  const amrex::Array4< amrex::Real>& avg_xmom, // These are being defined
20  const amrex::Array4< amrex::Real>& avg_ymom, // from the rho fluxes
21  const amrex::Array4< amrex::Real>& avg_zmom,
22  const amrex::Array4<const int>& mask_arr,
23  const amrex::Array4<const amrex::EBCellFlag>& cfg_arr,
24  const amrex::Array4<const amrex::Real>& ax_arr,
25  const amrex::Array4<const amrex::Real>& ay_arr,
26  const amrex::Array4<const amrex::Real>& az_arr,
27  const amrex::Array4<const amrex::Real>& fcx_arr,
28  const amrex::Array4<const amrex::Real>& fcy_arr,
29  const amrex::Array4<const amrex::Real>& fcz_arr,
30  const amrex::Array4<const amrex::Real>& detJ,
31  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
32  const amrex::Array4<const amrex::Real>& mf_mx,
33  const amrex::Array4<const amrex::Real>& mf_my,
34  const amrex::Array4<const amrex::Real>& mf_uy,
35  const amrex::Array4<const amrex::Real>& mf_vx,
36  const amrex::GpuArray<const amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_arr,
37  const bool fixed_rho,
38  bool already_on_centroids);
39 
40 /** Compute advection tendency for all scalars other than density and potential temperature */
41 void EBAdvectionSrcForScalars (const amrex::Box& bx,
42  const int icomp, const int ncomp,
43  const amrex::Array4<const amrex::Real>& avg_xmom,
44  const amrex::Array4<const amrex::Real>& avg_ymom,
45  const amrex::Array4<const amrex::Real>& avg_zmom,
46  const amrex::Array4<const amrex::Real>& cell_prim,
47  const amrex::Array4<amrex::Real>& src,
48  const amrex::Array4<const int>& mask_arr,
49  const amrex::Array4<const amrex::EBCellFlag>& cfg_arr,
50  const amrex::Array4<const amrex::Real>& ax_arr,
51  const amrex::Array4<const amrex::Real>& ay_arr,
52  const amrex::Array4<const amrex::Real>& az_arr,
53  const amrex::Array4<const amrex::Real>& fcx_arr,
54  const amrex::Array4<const amrex::Real>& fcy_arr,
55  const amrex::Array4<const amrex::Real>& fcz_arr,
56  const amrex::Array4<const amrex::Real>& vf_arr,
57  const amrex::GpuArray<amrex::Real, AMREX_SPACEDIM>& cellSizeInv,
58  const amrex::Array4<const amrex::Real>& mf_mx,
59  const amrex::Array4<const amrex::Real>& mf_my,
60  const AdvType horiz_adv_type, const AdvType vert_adv_type,
61  const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac,
62  const amrex::GpuArray<const amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_arr,
63  const amrex::Box& domain,
64  const amrex::BCRec* bc_ptr_h,
65  bool already_on_centroids);
66 
67 #endif
void EBAdvectionSrcForScalars(const amrex::Box &bx, const int icomp, const int ncomp, const amrex::Array4< const amrex::Real > &avg_xmom, const amrex::Array4< const amrex::Real > &avg_ymom, const amrex::Array4< const amrex::Real > &avg_zmom, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< amrex::Real > &src, const amrex::Array4< const int > &mask_arr, const amrex::Array4< const amrex::EBCellFlag > &cfg_arr, const amrex::Array4< const amrex::Real > &ax_arr, const amrex::Array4< const amrex::Real > &ay_arr, const amrex::Array4< const amrex::Real > &az_arr, const amrex::Array4< const amrex::Real > &fcx_arr, const amrex::Array4< const amrex::Real > &fcy_arr, const amrex::Array4< const amrex::Real > &fcz_arr, const amrex::Array4< const amrex::Real > &vf_arr, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const AdvType horiz_adv_type, const AdvType vert_adv_type, const amrex::Real horiz_upw_frac, const amrex::Real vert_upw_frac, const amrex::GpuArray< const amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_arr, const amrex::Box &domain, const amrex::BCRec *bc_ptr_h, bool already_on_centroids)
void EBAdvectionSrcForRho(const amrex::Box &bx, const amrex::Array4< amrex::Real > &src, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &omega, const amrex::Array4< amrex::Real > &avg_xmom, const amrex::Array4< amrex::Real > &avg_ymom, const amrex::Array4< amrex::Real > &avg_zmom, const amrex::Array4< const int > &mask_arr, const amrex::Array4< const amrex::EBCellFlag > &cfg_arr, const amrex::Array4< const amrex::Real > &ax_arr, const amrex::Array4< const amrex::Real > &ay_arr, const amrex::Array4< const amrex::Real > &az_arr, const amrex::Array4< const amrex::Real > &fcx_arr, const amrex::Array4< const amrex::Real > &fcy_arr, const amrex::Array4< const amrex::Real > &fcz_arr, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy, const amrex::Array4< const amrex::Real > &mf_vx, const amrex::GpuArray< const amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_arr, const bool fixed_rho, bool already_on_centroids)
AdvType
Definition: ERF_IndexDefines.H:221
@ omega
Definition: ERF_Morrison.H:53