|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include "AMReX.H"#include "AMReX_MultiFab.H"#include "AMReX_BCRec.H"#include "ERF_Constants.H"#include "ERF_DataStruct.H"#include "ERF_IndexDefines.H"#include "ERF_SurfaceLayer.H"#include "ERF_FillPatcher.H"#include "ERF_ReadBndryPlanes.H"

Go to the source code of this file.
Functions | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | wrf_moisture_target (const amrex::Real rho, const amrex::Real q_n, const amrex::Real q_np1, const amrex::Real alpha) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool | wrf_bdy_has_separate_hydrometeors (const MoistureComponentIndices &moisture_indices) noexcept |
| int | wrf_bdy_var_for_moisture_component (const int comp, const MoistureComponentIndices &moisture_indices, const bool use_wrf_bdy_qc_qi, const bool separate_hydrometeors=false) |
| void | rebalance_columns (amrex::MultiFab &rho, amrex::MultiFab &theta, const amrex::MultiFab &qt, const amrex::MultiFab &qv, const amrex::MultiFab *z_phys, const amrex::Geometry &geom, const bool &maintain_Th, bool use_sfc=false) |
| void | ChopGrids2D (amrex::BoxArray &ba, const amrex::Box &domain, int target_size) |
| amrex::BoxArray | ERFPostProcessBaseGrids (const amrex::Box &domain, bool decompose_in_z) |
| void | cons_to_prim (const amrex::MultiFab &cons_state, amrex::MultiFab &S_prim, int ng) |
| void | fill_wall_dist_ghost_cells (amrex::MultiFab &wdist, const amrex::Geometry &geom) |
| void | make_qt (const amrex::MultiFab &cons_state, amrex::MultiFab &qt, int n_qstate_into_total) |
| void | make_J (const amrex::Geometry &geom, amrex::MultiFab &z_phys_nd, amrex::MultiFab &detJ_cc) |
| void | make_areas (const amrex::Geometry &geom, amrex::MultiFab &z_phys_nd, amrex::MultiFab &ax, amrex::MultiFab &ay, amrex::MultiFab &az) |
| void | make_zcc (const amrex::Geometry &geom, amrex::MultiFab &z_phys_nd, amrex::MultiFab &z_phys_cc) |
| void | MomentumToVelocity (amrex::MultiFab &xvel_out, amrex::MultiFab &yvel_out, amrex::MultiFab &zvel_out, const amrex::MultiFab &cons_in, const amrex::MultiFab &xmom_in, const amrex::MultiFab &ymom_in, const amrex::MultiFab &zmom_in, const amrex::Box &domain, const amrex::Vector< amrex::BCRec > &domain_bcs_type_h, const amrex::MultiFab *c_vfrac=nullptr) |
| void | VelocityToMomentum (const amrex::MultiFab &xvel_in, const amrex::IntVect &xvel_ngrow, const amrex::MultiFab &yvel_in, const amrex::IntVect &yvel_ngrow, const amrex::MultiFab &zvel_in, const amrex::IntVect &zvel_ngrow, const amrex::MultiFab &cons_in, amrex::MultiFab &xmom_out, amrex::MultiFab &ymom_out, amrex::MultiFab &zmom_out, const amrex::Box &domain, const amrex::Vector< amrex::BCRec > &domain_bcs_type_h, const amrex::MultiFab *c_vfrac=nullptr) |
| void | ConvertForProjection (const amrex::MultiFab &den_div, const amrex::MultiFab &den_mlt, amrex::MultiFab &xmom, amrex::MultiFab &ymom, amrex::MultiFab &zmom, const amrex::Box &domain, const amrex::Vector< amrex::BCRec > &domain_bcs_type_h) |
| void | compute_influx_outflux_bdy (amrex::FArrayBox &bdy_data_xlo, amrex::FArrayBox &bdy_data_xhi, amrex::FArrayBox &bdy_data_ylo, amrex::FArrayBox &bdy_data_yhi, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &area_vec, const amrex::Geometry &geom, amrex::Real &influx, amrex::Real &outflux, const int n) |
| void | enforceInOutSolvability_bdy (const amrex::MultiFab &rho0, amrex::FArrayBox &bdy_data_xlo, amrex::FArrayBox &bdy_data_xhi, amrex::FArrayBox &bdy_data_ylo, amrex::FArrayBox &bdy_data_yhi, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &area_vec, const amrex::Geometry &geom, const amrex::Vector< amrex::BCRec > &domain_bcs_type_h) |
| void | enforceInOutSolvability (int lev, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &vels_vec, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &area_vec, const amrex::Geometry &geom) |
| void | realbdy_interior_bxs_xy (const amrex::Box &bx, const amrex::Box &domain, const int &width, amrex::Box &bx_xlo, amrex::Box &bx_xhi, amrex::Box &bx_ylo, amrex::Box &bx_yhi, const amrex::IntVect &ng_vect=amrex::IntVect(0, 0, 0), const bool get_int_ng=false) |
| void | realbdy_bc_bxs_xy (const amrex::Box &bx, const amrex::Box &domain, const int &set_width, amrex::Box &bx_xlo, amrex::Box &bx_xhi, amrex::Box &bx_ylo, amrex::Box &bx_yhi, const amrex::IntVect &ng_vect=amrex::IntVect(0, 0, 0)) |
| void | realbdy_compute_interior_ghost_rhs (const double &total_time, const double &delta_t, const double &start_bdy_time, const double &final_bdy_time, const double &bdy_time_interval, const amrex::Real &nudge_factor, int width, const amrex::Geometry &geom, amrex::Vector< amrex::MultiFab > &S_rhs, amrex::Vector< amrex::MultiFab > &S_cur_data, amrex::Vector< amrex::Vector< amrex::FArrayBox >> &bdy_data_xlo, amrex::Vector< amrex::Vector< amrex::FArrayBox >> &bdy_data_xhi, amrex::Vector< amrex::Vector< amrex::FArrayBox >> &bdy_data_ylo, amrex::Vector< amrex::Vector< amrex::FArrayBox >> &bdy_data_yhi, std::unique_ptr< ReadBndryPlanes > &m_r2d, const amrex::Real &c_p, const amrex::Real &rdOcp, const bool use_wrf_bdy_density, const amrex::Real &bdy_rho_nudge_factor) |
| void | fine_compute_interior_ghost_rhs (const double &time, const double &delta_t, const int &width, const int &set_width, const amrex::Geometry &geom, ERFFillPatcher *FPr_c, ERFFillPatcher *FPr_u, ERFFillPatcher *FPr_v, ERFFillPatcher *FPr_w, amrex::Vector< amrex::BCRec > &domain_bcs_type, amrex::Vector< amrex::MultiFab > &S_rhs_f, amrex::Vector< amrex::MultiFab > &S_data_f) |
| void | Time_Avg_Vel_atCC (double dt, double &t_avg_cnt, amrex::MultiFab *vel_t_avg, amrex::MultiFab &xvel, amrex::MultiFab &yvel, amrex::MultiFab &zvel) |
| void | Accumulate_Interval_Means (double dt, double &t_mean_cnt, amrex::MultiFab *interval_means, amrex::MultiFab &xvel, amrex::MultiFab &yvel, amrex::MultiFab &zvel, amrex::MultiFab &cons) |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | realbdy_compute_relaxation (const int &icomp, const int &num_var, const int &width, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbLo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbHi, const amrex::Real &F1, const amrex::Box &bx_xlo, const amrex::Box &bx_xhi, const amrex::Box &bx_ylo, const amrex::Box &bx_yhi, const amrex::Array4< const amrex::Real > &arr_xlo, const amrex::Array4< const amrex::Real > &arr_xhi, const amrex::Array4< const amrex::Real > &arr_ylo, const amrex::Array4< const amrex::Real > &arr_yhi, const amrex::Array4< const amrex::Real > &data_arr, const amrex::Array4< amrex::Real > &rhs_arr, const amrex::Real &c_p, const amrex::Real &rdOcp, const int bdy_moist_nudge_type=0) |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | realbdy_compute_moisture_relaxation (const amrex::GpuArray< int, 6 > &moisture_comps, const int n_targets, const int &width, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbLo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbHi, const amrex::Real &F1, const amrex::Box &bx_xlo, const amrex::Box &bx_xhi, const amrex::Box &bx_ylo, const amrex::Box &bx_yhi, const amrex::Array4< const amrex::Real > &arr_xlo, const amrex::Array4< const amrex::Real > &arr_xhi, const amrex::Array4< const amrex::Real > &arr_ylo, const amrex::Array4< const amrex::Real > &arr_yhi, const amrex::Array4< const amrex::Real > &data_arr, const amrex::Array4< amrex::Real > &rhs_arr) |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | realbdy_compute_moisture_relaxation (const amrex::GpuArray< int, 3 > &moisture_comps, const int &width, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbLo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &ProbHi, const amrex::Real &F1, const amrex::Box &bx_xlo, const amrex::Box &bx_xhi, const amrex::Box &bx_ylo, const amrex::Box &bx_yhi, const amrex::Array4< const amrex::Real > &arr_xlo, const amrex::Array4< const amrex::Real > &arr_xhi, const amrex::Array4< const amrex::Real > &arr_ylo, const amrex::Array4< const amrex::Real > &arr_yhi, const amrex::Array4< const amrex::Real > &data_arr, const amrex::Array4< amrex::Real > &rhs_arr) |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | ApplyMask (amrex::MultiFab &dst, const amrex::iMultiFab &imask, const int nghost=0) |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | ApplyInvertedMask (amrex::MultiFab &dst, const amrex::iMultiFab &imask, const int nghost=0) |
| void | thinbody_wall_dist (std::unique_ptr< amrex::MultiFab > &wdist, amrex::Vector< amrex::IntVect > &xfaces, amrex::Vector< amrex::IntVect > &yfaces, amrex::Vector< amrex::IntVect > &zfaces, const amrex::Geometry &geomdata, std::unique_ptr< amrex::MultiFab > &z_phys_cc) |
| void | WeatherDataInterpolation (const double time) |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | quad_interp_1d (amrex::Real z, amrex::Real z0, amrex::Real p0, amrex::Real z1, amrex::Real p1, amrex::Real z2, amrex::Real p2) |
| void Accumulate_Interval_Means | ( | double | dt, |
| double & | t_mean_cnt, | ||
| amrex::MultiFab * | interval_means, | ||
| amrex::MultiFab & | xvel, | ||
| amrex::MultiFab & | yvel, | ||
| amrex::MultiFab & | zvel, | ||
| amrex::MultiFab & | cons | ||
| ) |
Accumulate time-weighted cell-centered velocity/theta first and second moments.
| [in] | dt | accumulation interval |
| [in,out] | t_mean_cnt | accumulated time |
| [in,out] | interval_means | ten-component moment storage |
| [in] | xvel | x-face velocity |
| [in] | yvel | y-face velocity |
| [in] | zvel | z-face velocity |
| [in] | cons | conserved cell-centered state |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void ApplyInvertedMask | ( | amrex::MultiFab & | dst, |
| const amrex::iMultiFab & | imask, | ||
| const int | nghost = 0 |
||
| ) |
Multiply a MultiFab by the inverse of an integer mask.
| [in,out] | dst | MultiFab to be masked. |
| [in] | imask | Integer mask MultiFab. |
| [in] | nghost | Number of ghost cells to include. |
Referenced by add_thin_body_sources(), and ERF::project_velocity_tb().


| AMREX_GPU_HOST AMREX_FORCE_INLINE void ApplyMask | ( | amrex::MultiFab & | dst, |
| const amrex::iMultiFab & | imask, | ||
| const int | nghost = 0 |
||
| ) |
Referenced by ERF::FillIntermediatePatch(), and ERF::project_velocity_tb().


| void ChopGrids2D | ( | amrex::BoxArray & | ba, |
| const amrex::Box & | domain, | ||
| int | target_size | ||
| ) |
| void compute_influx_outflux_bdy | ( | amrex::FArrayBox & | bdy_data_xlo, |
| amrex::FArrayBox & | bdy_data_xhi, | ||
| amrex::FArrayBox & | bdy_data_ylo, | ||
| amrex::FArrayBox & | bdy_data_yhi, | ||
| amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > & | area_vec, | ||
| const amrex::Geometry & | geom, | ||
| amrex::Real & | influx, | ||
| amrex::Real & | outflux, | ||
| const int | n | ||
| ) |
| void cons_to_prim | ( | const amrex::MultiFab & | cons_state, |
| amrex::MultiFab & | S_prim, | ||
| int | ng | ||
| ) |
Convert conservative state to primitive variables.
| [in] | cons_state | Conservative state MultiFab. |
| [out] | S_prim | Primitive state MultiFab. |
| [in] | ng | Number of ghost cells. |
| void ConvertForProjection | ( | const amrex::MultiFab & | den_div, |
| const amrex::MultiFab & | den_mlt, | ||
| amrex::MultiFab & | xmom, | ||
| amrex::MultiFab & | ymom, | ||
| amrex::MultiFab & | zmom, | ||
| const amrex::Box & | domain, | ||
| const amrex::Vector< amrex::BCRec > & | domain_bcs_type_h | ||
| ) |
| void enforceInOutSolvability | ( | int | lev, |
| amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > & | vels_vec, | ||
| amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > & | area_vec, | ||
| const amrex::Geometry & | geom | ||
| ) |
| void enforceInOutSolvability_bdy | ( | const amrex::MultiFab & | rho0, |
| amrex::FArrayBox & | bdy_data_xlo, | ||
| amrex::FArrayBox & | bdy_data_xhi, | ||
| amrex::FArrayBox & | bdy_data_ylo, | ||
| amrex::FArrayBox & | bdy_data_yhi, | ||
| amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > & | area_vec, | ||
| const amrex::Geometry & | geom, | ||
| const amrex::Vector< amrex::BCRec > & | domain_bcs_type_h | ||
| ) |
| amrex::BoxArray ERFPostProcessBaseGrids | ( | const amrex::Box & | domain, |
| bool | decompose_in_z | ||
| ) |
| void fill_wall_dist_ghost_cells | ( | amrex::MultiFab & | wdist, |
| const amrex::Geometry & | geom | ||
| ) |
Fill the ghost cells of the wall distance field, which is only computed on the valid region, so that operators reading from grown boxes do not see the sentinel value used to initialize it.
| [in,out] | wdist | MultiFab holding the wall distance. |
| [in] | geom | Geometry at this level. |
| void fine_compute_interior_ghost_rhs | ( | const double & | time, |
| const double & | delta_t, | ||
| const int & | width, | ||
| const int & | set_width, | ||
| const amrex::Geometry & | geom, | ||
| ERFFillPatcher * | FPr_c, | ||
| ERFFillPatcher * | FPr_u, | ||
| ERFFillPatcher * | FPr_v, | ||
| ERFFillPatcher * | FPr_w, | ||
| amrex::Vector< amrex::BCRec > & | domain_bcs_type, | ||
| amrex::Vector< amrex::MultiFab > & | S_rhs_f, | ||
| amrex::Vector< amrex::MultiFab > & | S_data_f | ||
| ) |
| void make_areas | ( | const amrex::Geometry & | geom, |
| amrex::MultiFab & | z_phys_nd, | ||
| amrex::MultiFab & | ax, | ||
| amrex::MultiFab & | ay, | ||
| amrex::MultiFab & | az | ||
| ) |
| void make_J | ( | const amrex::Geometry & | geom, |
| amrex::MultiFab & | z_phys_nd, | ||
| amrex::MultiFab & | detJ_cc | ||
| ) |
| void make_qt | ( | const amrex::MultiFab & | cons_state, |
| amrex::MultiFab & | qt, | ||
| int | n_qstate_into_total | ||
| ) |
Compute total water mixing ratio from conservative state.
| [in] | cons_state | Conservative state MultiFab. |
| [out] | qt | MultiFab to store total water. |
| [in] | n_qstate_into_total | Number of components to include in total water. |
| void make_zcc | ( | const amrex::Geometry & | geom, |
| amrex::MultiFab & | z_phys_nd, | ||
| amrex::MultiFab & | z_phys_cc | ||
| ) |
| void MomentumToVelocity | ( | amrex::MultiFab & | xvel_out, |
| amrex::MultiFab & | yvel_out, | ||
| amrex::MultiFab & | zvel_out, | ||
| const amrex::MultiFab & | cons_in, | ||
| const amrex::MultiFab & | xmom_in, | ||
| const amrex::MultiFab & | ymom_in, | ||
| const amrex::MultiFab & | zmom_in, | ||
| const amrex::Box & | domain, | ||
| const amrex::Vector< amrex::BCRec > & | domain_bcs_type_h, | ||
| const amrex::MultiFab * | c_vfrac = nullptr |
||
| ) |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real quad_interp_1d | ( | amrex::Real | z, |
| amrex::Real | z0, | ||
| amrex::Real | p0, | ||
| amrex::Real | z1, | ||
| amrex::Real | p1, | ||
| amrex::Real | z2, | ||
| amrex::Real | p2 | ||
| ) |
Perform quadratic interpolation in one dimension.
| [in] | z | Interpolation coordinate. |
| [in] | z0 | Coordinate of first point. |
| [in] | p0 | Value at first point. |
| [in] | z1 | Coordinate of second point. |
| [in] | p1 | Value at second point. |
| [in] | z2 | Coordinate of third point. |
| [in] | p2 | Value at third point. |
Referenced by compute_gradp_interpz().

| void realbdy_bc_bxs_xy | ( | const amrex::Box & | bx, |
| const amrex::Box & | domain, | ||
| const int & | set_width, | ||
| amrex::Box & | bx_xlo, | ||
| amrex::Box & | bx_xhi, | ||
| amrex::Box & | bx_ylo, | ||
| amrex::Box & | bx_yhi, | ||
| const amrex::IntVect & | ng_vect = amrex::IntVect(0, 0, 0) |
||
| ) |
| void realbdy_compute_interior_ghost_rhs | ( | const double & | total_time, |
| const double & | delta_t, | ||
| const double & | start_bdy_time, | ||
| const double & | final_bdy_time, | ||
| const double & | bdy_time_interval, | ||
| const amrex::Real & | nudge_factor, | ||
| int | width, | ||
| const amrex::Geometry & | geom, | ||
| amrex::Vector< amrex::MultiFab > & | S_rhs, | ||
| amrex::Vector< amrex::MultiFab > & | S_cur_data, | ||
| amrex::Vector< amrex::Vector< amrex::FArrayBox >> & | bdy_data_xlo, | ||
| amrex::Vector< amrex::Vector< amrex::FArrayBox >> & | bdy_data_xhi, | ||
| amrex::Vector< amrex::Vector< amrex::FArrayBox >> & | bdy_data_ylo, | ||
| amrex::Vector< amrex::Vector< amrex::FArrayBox >> & | bdy_data_yhi, | ||
| std::unique_ptr< ReadBndryPlanes > & | m_r2d, | ||
| const amrex::Real & | c_p, | ||
| const amrex::Real & | rdOcp, | ||
| const bool | use_wrf_bdy_density, | ||
| const amrex::Real & | bdy_rho_nudge_factor | ||
| ) |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void realbdy_compute_moisture_relaxation | ( | const amrex::GpuArray< int, 3 > & | moisture_comps, |
| const int & | width, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | dx, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | ProbLo, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | ProbHi, | ||
| const amrex::Real & | F1, | ||
| const amrex::Box & | bx_xlo, | ||
| const amrex::Box & | bx_xhi, | ||
| const amrex::Box & | bx_ylo, | ||
| const amrex::Box & | bx_yhi, | ||
| const amrex::Array4< const amrex::Real > & | arr_xlo, | ||
| const amrex::Array4< const amrex::Real > & | arr_xhi, | ||
| const amrex::Array4< const amrex::Real > & | arr_ylo, | ||
| const amrex::Array4< const amrex::Real > & | arr_yhi, | ||
| const amrex::Array4< const amrex::Real > & | data_arr, | ||
| const amrex::Array4< amrex::Real > & | rhs_arr | ||
| ) |

| AMREX_GPU_HOST AMREX_FORCE_INLINE void realbdy_compute_moisture_relaxation | ( | const amrex::GpuArray< int, 6 > & | moisture_comps, |
| const int | n_targets, | ||
| const int & | width, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | dx, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | ProbLo, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | ProbHi, | ||
| const amrex::Real & | F1, | ||
| const amrex::Box & | bx_xlo, | ||
| const amrex::Box & | bx_xhi, | ||
| const amrex::Box & | bx_ylo, | ||
| const amrex::Box & | bx_yhi, | ||
| const amrex::Array4< const amrex::Real > & | arr_xlo, | ||
| const amrex::Array4< const amrex::Real > & | arr_xhi, | ||
| const amrex::Array4< const amrex::Real > & | arr_ylo, | ||
| const amrex::Array4< const amrex::Real > & | arr_yhi, | ||
| const amrex::Array4< const amrex::Real > & | data_arr, | ||
| const amrex::Array4< amrex::Real > & | rhs_arr | ||
| ) |
Apply Davies relaxation to explicitly mapped moisture components. Target component n corresponds to state component moisture_comps[n].
Referenced by realbdy_compute_moisture_relaxation().


| AMREX_GPU_HOST AMREX_FORCE_INLINE void realbdy_compute_relaxation | ( | const int & | icomp, |
| const int & | num_var, | ||
| const int & | width, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | dx, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | ProbLo, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | ProbHi, | ||
| const amrex::Real & | F1, | ||
| const amrex::Box & | bx_xlo, | ||
| const amrex::Box & | bx_xhi, | ||
| const amrex::Box & | bx_ylo, | ||
| const amrex::Box & | bx_yhi, | ||
| const amrex::Array4< const amrex::Real > & | arr_xlo, | ||
| const amrex::Array4< const amrex::Real > & | arr_xhi, | ||
| const amrex::Array4< const amrex::Real > & | arr_ylo, | ||
| const amrex::Array4< const amrex::Real > & | arr_yhi, | ||
| const amrex::Array4< const amrex::Real > & | data_arr, | ||
| const amrex::Array4< amrex::Real > & | rhs_arr, | ||
| const amrex::Real & | c_p, | ||
| const amrex::Real & | rdOcp, | ||
| const int | bdy_moist_nudge_type = 0 |
||
| ) |
Compute the nudging relaxation
| [in] | delta_t | time step |
| [in] | icomp | component offset |
| [in] | num_var | number of variables to loop |
| [in] | width | width of wrf bdy file |
| [in] | dom_lo | low bound of domain |
| [in] | dom_hi | high bound of domain |
| [in] | F1 | drift relaxation parameter |
| [in] | bx_xlo | box for low x relaxation |
| [in] | bx_xhi | box for high x relaxation |
| [in] | bx_ylo | box for low y relaxation |
| [in] | bx_yhi | box for high y relaxation |
| [in] | arr_xlo | array for low x relaxation |
| [in] | arr_xhi | array for high x relaxation |
| [in] | arr_ylo | array for low y relaxation |
| [in] | arr_yhi | array for high y relaxation |
| [in] | data_arr | data array |
| [out] | rhs_arr | RHS array |
Referenced by realbdy_compute_interior_ghost_rhs().


| void realbdy_interior_bxs_xy | ( | const amrex::Box & | bx, |
| const amrex::Box & | domain, | ||
| const int & | width, | ||
| amrex::Box & | bx_xlo, | ||
| amrex::Box & | bx_xhi, | ||
| amrex::Box & | bx_ylo, | ||
| amrex::Box & | bx_yhi, | ||
| const amrex::IntVect & | ng_vect = amrex::IntVect(0, 0, 0), |
||
| const bool | get_int_ng = false |
||
| ) |
| void rebalance_columns | ( | amrex::MultiFab & | rho, |
| amrex::MultiFab & | theta, | ||
| const amrex::MultiFab & | qt, | ||
| const amrex::MultiFab & | qv, | ||
| const amrex::MultiFab * | z_phys, | ||
| const amrex::Geometry & | geom, | ||
| const bool & | maintain_Th, | ||
| bool | use_sfc = false |
||
| ) |
| void thinbody_wall_dist | ( | std::unique_ptr< amrex::MultiFab > & | wdist, |
| amrex::Vector< amrex::IntVect > & | xfaces, | ||
| amrex::Vector< amrex::IntVect > & | yfaces, | ||
| amrex::Vector< amrex::IntVect > & | zfaces, | ||
| const amrex::Geometry & | geomdata, | ||
| std::unique_ptr< amrex::MultiFab > & | z_phys_cc | ||
| ) |
Compute the distance to thin-body walls.
| [out] | wdist | MultiFab to store wall distances. |
| [in] | xfaces | Indices of x-faces forming walls. |
| [in] | yfaces | Indices of y-faces forming walls. |
| [in] | zfaces | Indices of z-faces forming walls. |
| [in] | geomdata | Geometry used for physical distance. |
| [in] | z_phys_cc | Cell-centered physical height. |
| void Time_Avg_Vel_atCC | ( | double | dt, |
| double & | t_avg_cnt, | ||
| amrex::MultiFab * | vel_t_avg, | ||
| amrex::MultiFab & | xvel, | ||
| amrex::MultiFab & | yvel, | ||
| amrex::MultiFab & | zvel | ||
| ) |
| void VelocityToMomentum | ( | const amrex::MultiFab & | xvel_in, |
| const amrex::IntVect & | xvel_ngrow, | ||
| const amrex::MultiFab & | yvel_in, | ||
| const amrex::IntVect & | yvel_ngrow, | ||
| const amrex::MultiFab & | zvel_in, | ||
| const amrex::IntVect & | zvel_ngrow, | ||
| const amrex::MultiFab & | cons_in, | ||
| amrex::MultiFab & | xmom_out, | ||
| amrex::MultiFab & | ymom_out, | ||
| amrex::MultiFab & | zmom_out, | ||
| const amrex::Box & | domain, | ||
| const amrex::Vector< amrex::BCRec > & | domain_bcs_type_h, | ||
| const amrex::MultiFab * | c_vfrac = nullptr |
||
| ) |
Referenced by ERF::Advance(), ERF::advance_dycore(), ERF::AverageDownTo(), ERF::FillCoarsePatch(), ERF::FillIntermediatePatch(), ERF::FillPatchFineLevel(), ERF::project_initial_velocity(), and ERF::project_momenta().

| void WeatherDataInterpolation | ( | const double | time | ) |
|
noexcept |
True when ERF carries all five hydrometeor mass species separately.
Referenced by ERF::InitData_post(), and ERF::timeStep().

|
inline |
Map an active conserved moisture component to its real-boundary field.
|
noexcept |
Build one density-weighted, nonnegative WRF moisture target.