|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_TerrainMetrics.H>#include <ERF_Utils.H>#include <AMReX_ParmParse.H>#include <ERF_Constants.H>#include <ERF_Interpolation_1D.H>#include <cmath>
Functions | |
| void | init_default_zphys (int, const Geometry &geom, MultiFab &z_phys_nd, MultiFab &z_phys_cc, Real z_offset) |
| void | make_terrain_fitted_coords (int lev, const Geometry &geom, MultiFab &z_phys_nd, Vector< Real > const &z_levels_h, GpuArray< ERF_BC, AMREX_SPACEDIM *2 > &phys_bc_type, FineTerrain fine_terrain, MultiFab const *z_phys_interp) |
| FineTerrain | which_fine_terrain () |
| void | init_fine_terrain_grid (int lev, Geometry const &geom, MultiFab &z_phys_nd, Vector< Real > const &z_levels_h, FineTerrain fine_terrain, MultiFab const *z_phys_interp) |
| void | init_which_terrain_grid (int lev, Geometry const &geom, MultiFab &z_phys_nd, Vector< Real > const &z_levels_h, FineTerrain fine_terrain, MultiFab const *z_phys_interp) |
| void | make_J (const Geometry &geom, MultiFab &z_phys_nd, MultiFab &detJ_cc) |
| void | make_areas (const Geometry &geom, MultiFab &z_phys_nd, MultiFab &ax, MultiFab &ay, MultiFab &az) |
| void | make_zcc (const Geometry &geom, MultiFab &z_phys_nd, MultiFab &z_phys_cc) |
| Real | get_dzmin_terrain (MultiFab &z_phys_nd) |
| Real get_dzmin_terrain | ( | MultiFab & | z_phys_nd | ) |
Computation min dz at cell-center
Referenced by ERF::init_zphys(), ERF::ReadCheckpointFile(), and ERF::remake_zphys().


| void init_default_zphys | ( | int | , |
| const Geometry & | geom, | ||
| MultiFab & | z_phys_nd, | ||
| MultiFab & | z_phys_cc, | ||
| Real | z_offset | ||
| ) |
Define a default z_phys so we have it even if a completely regular grid This will be over-written if we use z_levels, or grid stretching, or terrain-fitted grids
Referenced by ERF::init_stuff().


| void init_fine_terrain_grid | ( | int | lev, |
| Geometry const & | geom, | ||
| MultiFab & | z_phys_nd, | ||
| Vector< Real > const & | z_levels_h, | ||
| FineTerrain | fine_terrain, | ||
| MultiFab const * | z_phys_interp | ||
| ) |
Finish the terrain-fitted mesh on a fine level built from the coarse level.
On entry z_phys_nd holds the mesh interpolated from the coarse level in its valid region, with – for Transform – the fine-resolution terrain already written into the k=0 slab. The nodes outside the domain are still bogus_large_value, because neither the interpolation nor make_terrain_fitted_coords()'s setDomainBndry() call gave them a usable value, so we fill them here the same way the BTF branch does.
Referenced by init_which_terrain_grid().


| void init_which_terrain_grid | ( | int | lev, |
| Geometry const & | geom, | ||
| MultiFab & | z_phys_nd, | ||
| Vector< Real > const & | z_levels_h, | ||
| FineTerrain | fine_terrain, | ||
| MultiFab const * | z_phys_interp | ||
| ) |
Initialize the terrain grid using the selected model (BTF, STF, or Sullivan TF).
| [in] | lev | Level in the AMR hierarchy. |
| [in] | geom | Geometry defining the domain. |
| [out] | z_phys_nd | MultiFab to be filled with nodal physical heights. |
| [in] | z_levels_h | Reference z-levels for grid stretching. |
Referenced by make_terrain_fitted_coords().


| void make_areas | ( | const Geometry & | geom, |
| MultiFab & | z_phys_nd, | ||
| MultiFab & | ax, | ||
| MultiFab & | ay, | ||
| MultiFab & | az | ||
| ) |
Computation of area fractions on faces
Referenced by ERF::update_terrain_arrays().


| void make_J | ( | const Geometry & | geom, |
| MultiFab & | z_phys_nd, | ||
| MultiFab & | detJ_cc | ||
| ) |
Computation of detJ at cell-center
Referenced by ERF::update_terrain_arrays().


| void make_terrain_fitted_coords | ( | int | lev, |
| const Geometry & | geom, | ||
| MultiFab & | z_phys_nd, | ||
| Vector< Real > const & | z_levels_h, | ||
| GpuArray< ERF_BC, AMREX_SPACEDIM *2 > & | phys_bc_type, | ||
| FineTerrain | fine_terrain, | ||
| MultiFab const * | z_phys_interp | ||
| ) |
Computation of the terrain grid from BTF, STF, or Sullivan TF model
Referenced by ERF::init_zphys(), and ERF::remake_zphys().


| void make_zcc | ( | const Geometry & | geom, |
| MultiFab & | z_phys_nd, | ||
| MultiFab & | z_phys_cc | ||
| ) |
Computation of z_phys at cell-center
Referenced by ERF::post_timestep(), and ERF::update_terrain_arrays().


| FineTerrain which_fine_terrain | ( | ) |
Translate erf.amr_terrain_refinement into a FineTerrain.
Referenced by ERF::init_zphys(), and ERF::remake_zphys().

