ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_SBMAMRTransfer.H
Go to the documentation of this file.
1 #ifndef ERF_SBM_AMR_TRANSFER_H_
2 #define ERF_SBM_AMR_TRANSFER_H_
3 
4 #include "ERF_SBMLayout.H"
5 
6 #include <AMReX_Geometry.H>
7 #include <AMReX_MultiFab.H>
8 
9 #include <string>
10 
11 namespace erf_sbm {
12 
13 /** A spectrum, carrier, and mapped measure tied to explicit semantic times. */
15  const amrex::MultiFab* spectrum{nullptr};
16  double spectrum_time{0.0};
17  const amrex::MultiFab* dry_air_density{nullptr};
19  double density_time{0.0};
20  const amrex::MultiFab* mapped_measure{nullptr};
22  double measure_time{0.0};
23 };
24 
25 /**
26  * Form an H-conservative coarse candidate from matching-time spectral views.
27  * On success, overwrite the destination's valid cells with the complete,
28  * admitted result. On failure (including a rejection on another MPI rank),
29  * leave every destination valid cell and all source views unchanged. This
30  * operator does not itself commit authoritative SBM state.
31  */
32 bool RestrictMappedSpectrum (const SBMLayout& layout,
33  const SBMAMRStateView& fine,
34  const SBMAMRStateView& coarse,
35  const amrex::IntVect& ratio,
36  int coarse_level,
37  amrex::MultiFab& coarse_candidate,
38  std::string& diagnostic);
39 
40 /**
41  * Form a same-time piecewise-constant carrier-relative fine candidate. On
42  * success, overwrite the destination's valid cells with the complete, admitted
43  * result. On failure (including a rejection on another MPI rank), leave every
44  * destination valid cell and all source views unchanged. This operator does
45  * not itself commit authoritative SBM state.
46  */
48  const SBMAMRStateView& coarse,
49  const SBMAMRStateView& fine_target,
50  const amrex::Geometry& coarse_geometry,
51  const amrex::Geometry& fine_geometry,
52  const amrex::IntVect& ratio,
53  int fine_level,
54  amrex::MultiFab& fine_candidate,
55  std::string& diagnostic);
56 
57 } // namespace erf_sbm
58 
59 #endif
Definition: ERF_SBMLayout.H:94
Definition: ERF.H:108
bool RestrictMappedSpectrum(const SBMLayout &layout, const SBMAMRStateView &fine, const SBMAMRStateView &coarse, const amrex::IntVect &ratio, const int coarse_level, MultiFab &coarse_candidate, std::string &diagnostic)
Definition: ERF_SBMAMRTransfer.cpp:317
bool ProlongCarrierRelativeSpectrum(const SBMLayout &layout, const SBMAMRStateView &coarse, const SBMAMRStateView &fine_target, const amrex::Geometry &coarse_geometry, const amrex::Geometry &fine_geometry, const amrex::IntVect &ratio, const int fine_level, MultiFab &fine_candidate, std::string &diagnostic)
Definition: ERF_SBMAMRTransfer.cpp:522
Definition: ERF_SBMAMRTransfer.H:14
const amrex::MultiFab * spectrum
Definition: ERF_SBMAMRTransfer.H:15
const amrex::MultiFab * mapped_measure
Definition: ERF_SBMAMRTransfer.H:20
int density_component
Definition: ERF_SBMAMRTransfer.H:18
double measure_time
Definition: ERF_SBMAMRTransfer.H:22
double density_time
Definition: ERF_SBMAMRTransfer.H:19
int measure_component
Definition: ERF_SBMAMRTransfer.H:21
double spectrum_time
Definition: ERF_SBMAMRTransfer.H:16
const amrex::MultiFab * dry_air_density
Definition: ERF_SBMAMRTransfer.H:17