1 #ifndef Initialization_1D_H
2 #define Initialization_1D_H
4 #include <AMReX_REAL.H>
13 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
15 const amrex::Real alpha_interp,
const int alpha_size)
23 for (
int i = 0; i < alpha_size; ++i) {
24 if (
alpha[i] == alpha_interp) {
25 beta_interp =
beta[i];
34 if (alpha_interp >= alpha_min && alpha_interp <= alpha_max)
36 for (
int i = 0; i < alpha_size; ++i)
38 if (alpha_interp >=
alpha[i] && alpha_interp <=
alpha[i + 1])
46 beta_interp = y0 + (y1 - y0)*(
x - x0) / (x1 - x0);
55 if (alpha_interp > alpha_max)
59 else if (alpha_interp >= alpha_min)
61 amrex::Abort(
"interpolate_1d: we shouldn't be here!");
69 beta_interp = y0 + ((
x - x0) / (x1 - x0)) * (y1 - y0);
90 const amrex::Vector<amrex::Real>& zorig,
94 const int Nz = zorig.size();
95 const int Nz_refined = refine_fac*(Nz-1) + 1;
101 amrex::Vector<amrex::Real> znew_stag(Nz_refined);
102 for (
int k=0; k < Nz; ++k) {
103 znew_stag[refine_fac*k] = zorig[k];
105 if (refine_fac > 1) {
106 for (
int k=0; k < Nz-1; ++k) {
109 for (
int koff=1; koff < refine_fac; ++koff) {
110 znew_stag[refine_fac*k + koff] =
amrex::Real(koff)/refine_fac *
dz + z1;
115 for (
int k=0; k < Nz_refined-1; ++k) {
116 znew[k] =
myhalf*(znew_stag[k] + znew_stag[k+1]);
constexpr amrex::Real bogus_large_value
Definition: ERF_Constants.H:26
constexpr amrex::Real myhalf
Definition: ERF_Constants.H:13
AMREX_ALWAYS_ASSERT(bx.length()[2]==khi+1)
amrex::Real beta
Definition: ERF_InitCustomPert_DataAssimilation_ISV.H:10
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real interpolate_1d(const amrex::Real *alpha, const amrex::Real *beta, const amrex::Real alpha_interp, const int alpha_size)
Definition: ERF_Interpolation_1D.H:14
AMREX_FORCE_INLINE void expand_and_interpolate_1d(amrex::Vector< amrex::Real > &znew, const amrex::Vector< amrex::Real > &zorig, int refine_fac, bool destag=false)
Definition: ERF_Interpolation_1D.H:89
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ dz
Definition: ERF_AdvanceWSM6.cpp:104
real(kind=kind_phys), parameter, public alpha
Definition: ERF_module_mp_wsm6.F90:44