ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_ImmersedForcing.H
Go to the documentation of this file.
1 #ifndef ERF_IMMERSEDFORCING_H_
2 #define ERF_IMMERSEDFORCING_H_
3 
4 #include <AMReX.H>
5 #include <ERF_DataStruct.H>
6 #include <AMReX_MultiFab.H>
7 #include <AMReX_TableData.H>
8 
9 // Terrain immersed forcing - MOMENTUM
10 void ImmersedForcingTerrain_Xmom (const amrex::Box& tbx,
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,
20  const SolverChoice& solverChoice,
21  const amrex::Real fac);
22 
23 void ImmersedForcingTerrain_Ymom (const amrex::Box& tby,
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,
33  const SolverChoice& solverChoice,
34  const amrex::Real fac);
35 
36 void ImmersedForcingTerrain_Zmom (const amrex::Box& tbz,
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,
46  const SolverChoice& solverChoice,
47  const amrex::Real fac);
48 
49 // Buildings immersed forcing - MOMENTUM
50 void ImmersedForcingBuildings_Xmom (const amrex::Box& tbx,
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,
60  const SolverChoice& solverChoice,
61  const amrex::Real fac);
62 
63 void ImmersedForcingBuildings_Ymom (const amrex::Box& tby,
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,
73  const SolverChoice& solverChoice,
74  const amrex::Real fac);
75 
76 void ImmersedForcingBuildings_Zmom (const amrex::Box& tbz,
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,
86  const SolverChoice& solverChoice,
87  const amrex::Real fac);
88 
89 // Terrain immersed forcing - SCALARS
90 void ImmersedForcingTerrain_Scalar (const amrex::Box& bx,
91  const amrex::Array4<const amrex::Real>& u,
92  const amrex::Array4<const amrex::Real>& v,
93  const amrex::Array4<const amrex::Real>& cell_data,
94  const amrex::Array4<const amrex::Real>& t_blank_arr,
95  const amrex::Array4<const amrex::Real>& z_cc_arr,
96  const amrex::Array4< amrex::Real>& cell_src,
97  const amrex::Geometry& geom,
98  const SolverChoice& solverChoice,
99  const amrex::Table1D<amrex::Real>& r_avg,
100  const amrex::Table1D<amrex::Real>& t_avg,
101  const amrex::Real time);
102 
103 // Buildings immersed forcing - SCALARS
104 void ImmersedForcingBuildings_Scalar (const amrex::Box& bx,
105  const amrex::Array4<const amrex::Real>& u,
106  const amrex::Array4<const amrex::Real>& v,
107  const amrex::Array4<const amrex::Real>& w,
108  const amrex::Array4<const amrex::Real>& cell_data,
109  const amrex::Array4<const amrex::Real>& t_blank_arr,
110  const amrex::Array4<const amrex::Real>& z_cc_arr,
111  const amrex::Array4< amrex::Real>& cell_src,
112  const amrex::Geometry& geom,
113  const SolverChoice& solverChoice,
114  const amrex::Table1D<amrex::Real>& r_avg,
115  const amrex::Table1D<amrex::Real>& t_avg,
116  const amrex::Real time);
117 
118 #endif
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 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 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:22
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_DataStruct.H:634