1#ifndef _REMORA_STRETCH_H_
2#define _REMORA_STRETCH_H_
15 int nz =
geom[0].Domain().length(2);
20 Box
bx(IntVect(0,0,0),IntVect(0,0,
N));
100 Box
bx =
mfi.tilebox();
110 wgbx3.surroundingNodes(2);
114 int nz =
geom[
lev].Domain().length(2);
129 Gpu::streamSynchronize();
148 z_w(
i,
j,0) =
h(
i,
j,0,1);
161 Gpu::streamSynchronize();
203 int ii = std::min(std::max(
i ,
lo.x),
hi.x);
204 int im = std::min(std::max(
i-1,
lo.x),
hi.x);
205 int jj = std::min(std::max(
j ,
lo.y),
hi.y);
206 int jm = std::min(std::max(
j-1,
lo.y),
hi.y);
constexpr amrex::Real two
constexpr amrex::Real one
constexpr amrex::Real zero
mf_h setVal(geomdata.ProbHi(2))
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_h
multilevel data container for current step's z velocities (largely unused; W stored separately)
amrex::Vector< amrex::MultiFab * > cons_new
multilevel data container for current step's scalar data: temperature, salinity, passive tracer
void stretch_transform(int lev)
Calculate vertical stretched coordinates.
amrex::Gpu::DeviceVector< amrex::Real > s_w
Scaled vertical coordinate (range [0,1]) that transforms to z, defined at w-points (cell faces)
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_Hz
Width of cells in the vertical (z-) direction (3D, Hz in ROMS)
amrex::Gpu::DeviceVector< amrex::Real > s_r
Scaled vertical coordinate (range [0,1]) that transforms to z, defined at rho points (cell centers)
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_z_r
z coordinates at rho points (cell centers)
void calc_stretch_coeffs()
calculate vertical stretch coefficients
amrex::Gpu::DeviceVector< amrex::Real > Cs_r
Stretching coefficients at rho points.
static SolverChoice solverChoice
Container for algorithmic choices.
amrex::Gpu::DeviceVector< amrex::Real > Cs_w
Stretching coefficients at w points.
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_z_phys_nd
z coordinates at psi points (cell nodes)
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_Zt_avg1
Average of the free surface, zeta (2D)
amrex::Vector< std::unique_ptr< amrex::MultiFab > > vec_z_w
z coordinates at w points (faces between z-cells)