1 #ifndef ERF_IMMERSEDFORCING_H_
2 #define ERF_IMMERSEDFORCING_H_
6 #include <AMReX_MultiFab.H>
7 #include <AMReX_TableData.H>
11 const amrex::Array4<const amrex::Real>& u,
12 const amrex::Array4<const amrex::Real>& v,
13 const amrex::Array4<const amrex::Real>&
w,
14 const amrex::Array4<const amrex::Real>& cell_data,
15 const amrex::Array4<const amrex::Real>& t_blank_arr,
16 const amrex::Array4<const amrex::Real>& t_blank_xface_arr,
17 const amrex::Array4<const amrex::Real>& z_cc_arr,
18 const amrex::Array4< amrex::Real>& xmom_src_arr,
19 const amrex::Geometry& geom,
24 const amrex::Array4<const amrex::Real>& u,
25 const amrex::Array4<const amrex::Real>& v,
26 const amrex::Array4<const amrex::Real>&
w,
27 const amrex::Array4<const amrex::Real>& cell_data,
28 const amrex::Array4<const amrex::Real>& t_blank_arr,
29 const amrex::Array4<const amrex::Real>& t_blank_yface_arr,
30 const amrex::Array4<const amrex::Real>& z_cc_arr,
31 const amrex::Array4< amrex::Real>& ymom_src_arr,
32 const amrex::Geometry& geom,
37 const amrex::Array4<const amrex::Real>& u,
38 const amrex::Array4<const amrex::Real>& v,
39 const amrex::Array4<const amrex::Real>&
w,
40 const amrex::Array4<const amrex::Real>& cell_data,
41 const amrex::Array4<const amrex::Real>& t_blank_arr,
42 const amrex::Array4<const amrex::Real>& t_blank_zface_arr,
43 const amrex::Array4<const amrex::Real>& z_cc_arr,
44 const amrex::Array4< amrex::Real>& zmom_src_arr,
45 const amrex::Geometry& geom,
51 const amrex::Array4<const amrex::Real>& u,
52 const amrex::Array4<const amrex::Real>& v,
53 const amrex::Array4<const amrex::Real>&
w,
54 const amrex::Array4<const amrex::Real>& cell_data,
55 const amrex::Array4<const amrex::Real>& t_blank_arr,
56 const amrex::Array4<const amrex::Real>& t_blank_xface_arr,
57 const amrex::Array4<const amrex::Real>& z_cc_arr,
58 const amrex::Array4< amrex::Real>& xmom_src_arr,
59 const amrex::Geometry& geom,
64 const amrex::Array4<const amrex::Real>& u,
65 const amrex::Array4<const amrex::Real>& v,
66 const amrex::Array4<const amrex::Real>&
w,
67 const amrex::Array4<const amrex::Real>& cell_data,
68 const amrex::Array4<const amrex::Real>& t_blank_arr,
69 const amrex::Array4<const amrex::Real>& t_blank_yface_arr,
70 const amrex::Array4<const amrex::Real>& z_cc_arr,
71 const amrex::Array4< amrex::Real>& ymom_src_arr,
72 const amrex::Geometry& geom,
77 const amrex::Array4<const amrex::Real>& u,
78 const amrex::Array4<const amrex::Real>& v,
79 const amrex::Array4<const amrex::Real>&
w,
80 const amrex::Array4<const amrex::Real>& cell_data,
81 const amrex::Array4<const amrex::Real>& t_blank_arr,
82 const amrex::Array4<const amrex::Real>& t_blank_zface_arr,
83 const amrex::Array4<const amrex::Real>& z_cc_arr,
84 const amrex::Array4< amrex::Real>& zmom_src_arr,
85 const amrex::Geometry& geom,
91 const amrex::Array4<const amrex::Real>& u,
92 const amrex::Array4<const amrex::Real>& v,
93 const amrex::Array4<const amrex::Real>&
w,
94 const amrex::Array4<const amrex::Real>& cell_data,
95 const amrex::Array4<const amrex::Real>& t_blank_arr,
96 const amrex::Array4<const amrex::Real>& t_blank_xface_arr,
97 const amrex::Array4< amrex::Real>& xmom_src_arr,
98 const amrex::Geometry& geom,
104 const amrex::Array4<const amrex::Real>& u,
105 const amrex::Array4<const amrex::Real>& v,
106 const amrex::Array4<const amrex::Real>&
w,
107 const amrex::Array4<const amrex::Real>& cell_data,
108 const amrex::Array4<const amrex::Real>& t_blank_arr,
109 const amrex::Array4<const amrex::Real>& t_blank_yface_arr,
110 const amrex::Array4< amrex::Real>& ymom_src_arr,
111 const amrex::Geometry& geom,
118 const amrex::Array4<const amrex::Real>& u,
119 const amrex::Array4<const amrex::Real>& v,
120 const amrex::Array4<const amrex::Real>& cell_data,
121 const amrex::Array4<const amrex::Real>& t_blank_arr,
122 const amrex::Array4< amrex::Real>& cell_src,
123 const amrex::Array4< amrex::Real>& wall_hfx,
124 const amrex::Array4< amrex::Real>& wall_ktarget,
125 const amrex::Geometry& geom,
127 const amrex::Table1D<amrex::Real>& r_avg,
128 const amrex::Table1D<amrex::Real>& t_avg,
136 const amrex::Array4<const amrex::Real>& u,
137 const amrex::Array4<const amrex::Real>& v,
138 const amrex::Array4<const amrex::Real>& cell_data,
139 const amrex::Array4<const amrex::Real>& t_blank_arr,
140 const amrex::Array4<const amrex::Real>& z_cc_arr,
141 const amrex::Array4< amrex::Real>& cell_src,
142 const amrex::Geometry& geom,
144 const amrex::Table1D<amrex::Real>& r_avg,
145 const amrex::Table1D<amrex::Real>& t_avg,
150 const amrex::Array4<const amrex::Real>& u,
151 const amrex::Array4<const amrex::Real>& v,
152 const amrex::Array4<const amrex::Real>&
w,
153 const amrex::Array4<const amrex::Real>& cell_data,
154 const amrex::Array4<const amrex::Real>& t_blank_arr,
155 const amrex::Array4<const amrex::Real>& z_cc_arr,
156 const amrex::Array4< amrex::Real>& cell_src,
157 const amrex::Geometry& geom,
159 const amrex::Table1D<amrex::Real>& r_avg,
160 const amrex::Table1D<amrex::Real>& t_avg,
void ImmersedForcingTerrain_Ymom(const amrex::Box &tby, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_yface_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &ymom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac)
void ImmersedForcingTerrain_Xmom(const amrex::Box &tbx, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_xface_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &xmom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac)
void ImmersedForcingBuildings_Scalar(const amrex::Box &bx, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &cell_src, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Table1D< amrex::Real > &r_avg, const amrex::Table1D< amrex::Real > &t_avg, const amrex::Real time)
void ImmersedForcingBuildings_Ymom(const amrex::Box &tby, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_yface_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &ymom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac)
void ImmersedForcingTerrain_Zmom(const amrex::Box &tbz, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_zface_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &zmom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac)
void ImmersedForcingTerrain_Scalar(const amrex::Box &bx, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &cell_src, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Table1D< amrex::Real > &r_avg, const amrex::Table1D< amrex::Real > &t_avg, const amrex::Real time)
void ImmersedForcingTerrain_Scalar_FractionStress(const amrex::Box &bx, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< amrex::Real > &cell_src, const amrex::Array4< amrex::Real > &wall_hfx, const amrex::Array4< amrex::Real > &wall_ktarget, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Table1D< amrex::Real > &r_avg, const amrex::Table1D< amrex::Real > &t_avg, const amrex::Real dt, const amrex::Real time, bool wall_tke=false, amrex::Real Cmu0=amrex::Real(0.5562))
void ImmersedForcingBuildings_Xmom(const amrex::Box &tbx, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_xface_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &xmom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac)
void ImmersedForcingTerrain_Ymom_FractionStress(const amrex::Box &tby, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_yface_arr, const amrex::Array4< amrex::Real > &ymom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac, const amrex::Real time)
void ImmersedForcingTerrain_Xmom_FractionStress(const amrex::Box &tbx, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_xface_arr, const amrex::Array4< amrex::Real > &xmom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac, const amrex::Real time)
void ImmersedForcingBuildings_Zmom(const amrex::Box &tbz, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &t_blank_arr, const amrex::Array4< const amrex::Real > &t_blank_zface_arr, const amrex::Array4< const amrex::Real > &z_cc_arr, const amrex::Array4< amrex::Real > &zmom_src_arr, const amrex::Geometry &geom, const SolverChoice &solverChoice, const amrex::Real fac)
Real w
Definition: ERF_Plotfile2DInterpolator.cpp:23
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real wall_tke(const WallState &w, amrex::Real beta, amrex::Real dz, amrex::Real z0, amrex::Real theta, amrex::Real Cmu0) noexcept
Definition: ERF_ImmersedWallCell.H:251
Definition: ERF_DataStruct.H:715