ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_AuxiliaryMappedTransport.H File Reference
#include <AMReX_Array4.H>
#include <AMReX.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_MultiFab.H>
#include <array>
#include <memory>
#include <string>
Include dependency graph for ERF_AuxiliaryMappedTransport.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  erf_auxiliary::MappedFaceFluxRateTag
 
struct  erf_auxiliary::IntegratedMappedFaceFluxTag
 
class  erf_auxiliary::MappedFaceField< Tag >
 

Namespaces

 erf_auxiliary
 

Typedefs

using erf_auxiliary::MappedFaceFluxRate = MappedFaceField< MappedFaceFluxRateTag >
 
using erf_auxiliary::IntegratedMappedFaceFlux = MappedFaceField< IntegratedMappedFaceFluxTag >
 

Functions

bool erf_auxiliary::SameCellLayout (const amrex::MultiFab &lhs, const amrex::MultiFab &rhs)
 
template<typename Tag >
bool erf_auxiliary::MappedFaceLayoutMatchesCellLayout (const MappedFaceField< Tag > &faces, const amrex::BoxArray &cell_ba, const amrex::DistributionMapping &dm)
 
template<typename Tag >
bool erf_auxiliary::MappedFaceLayoutMatchesCellLayout (const MappedFaceField< Tag > &faces, const amrex::MultiFab &cell)
 
template<typename LhsTag , typename RhsTag >
bool erf_auxiliary::SameMappedFaceLayout (const MappedFaceField< LhsTag > &lhs, const MappedFaceField< RhsTag > &rhs)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real erf_auxiliary::ComputationalMappedDivergence (const amrex::Real fx_hi, const amrex::Real fx_lo, const amrex::Real fy_hi, const amrex::Real fy_lo, const amrex::Real fz_hi, const amrex::Real fz_lo, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real dzeta_inv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real erf_auxiliary::MappedOutgoingDemandRate (const amrex::Real fx_hi, const amrex::Real fx_lo, const amrex::Real fy_hi, const amrex::Real fy_lo, const amrex::Real fz_hi, const amrex::Real fz_lo, const amrex::Real measure, const amrex::Real density, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx_inv) noexcept
 
bool erf_auxiliary::BuildMappedDryAirCarrierFluxRate (MappedFaceFluxRate &rate, const amrex::MultiFab &rho_u, const amrex::MultiFab &rho_v, const amrex::MultiFab &omega, const amrex::MultiFab &ax, const amrex::MultiFab &ay, const amrex::MultiFab &az, const amrex::MultiFab &mf_uy, const amrex::MultiFab &mf_vx, const amrex::MultiFab &mx, const amrex::MultiFab &my, std::string &diagnostic)
 
bool erf_auxiliary::CopyNativeMappedDryAirCarrierFluxRate (MappedFaceFluxRate &rate, const amrex::MultiFab &rho_u, const amrex::MultiFab &rho_v, const amrex::MultiFab &rho_w, std::string &diagnostic)
 
bool erf_auxiliary::ComputeMaxMappedOutgoingRate (const MappedFaceFluxRate &rate, const amrex::MultiFab &measure, const amrex::MultiFab &conserved, const int density_component, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx_inv, amrex::Real &max_rate, std::string &diagnostic)
 
bool erf_auxiliary::FixedDtExceedsMappedDonorLimit (const double fixed_dt, const amrex::Real max_outgoing_rate, double &hard_limit) noexcept
 
bool erf_auxiliary::BuildMappedCellMeasure (amrex::MultiFab &omega, const amrex::MultiFab &detJ, const amrex::MultiFab &mx, const amrex::MultiFab &my, std::string &diagnostic)
 
bool erf_auxiliary::ValidatePositiveFiniteComponent (const amrex::MultiFab &field, const int component, std::string &diagnostic)
 
bool erf_auxiliary::ValidateFiniteComponent (const amrex::MultiFab &field, const int component, std::string &diagnostic)
 
template<typename Tag >
void erf_auxiliary::ApplyMappedFluxTendency (const MappedFaceField< Tag > &flux, const int flux_comp, const amrex::MultiFab &omega, const int omega_comp, amrex::MultiFab &tendency, const int tendency_comp, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx_inv)
 
amrex::Real erf_auxiliary::MaxFaceFieldDifference (const MappedFaceFluxRate &lhs, const int lhs_comp, const MappedFaceFluxRate &rhs, const int rhs_comp)
 
void erf_auxiliary::AccumulateIntegratedFaceFlux (IntegratedMappedFaceFlux &ledger, const MappedFaceFluxRate &rate, const amrex::Real weight)