ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_SBMRemapping.H File Reference
#include "ERF_SBMLayout.H"
#include <AMReX_Algorithm.H>
#include <AMReX_Array4.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_Math.H>
#include <AMReX_REAL.H>
#include <cmath>
#include <limits>
#include <vector>
Include dependency graph for ERF_SBMRemapping.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  erf_sbm::PopulationRemapView
 
struct  erf_sbm::RouteDestination
 
struct  erf_sbm::PacketRoutingPlan
 
struct  erf_sbm::remap_detail::RemapCellStateView
 
struct  erf_sbm::PacketApplicationCoreResult
 
struct  erf_sbm::ReconstructionDeltaView
 
struct  erf_sbm::IntegratedMomentsCoreResult
 
struct  erf_sbm::PacketApplicationResult
 
struct  erf_sbm::ReconstructionDelta
 
struct  erf_sbm::IntegratedMoments
 

Namespaces

 erf_sbm
 
 erf_sbm::remap_detail
 

Enumerations

enum class  erf_sbm::RemapStatus {
  erf_sbm::Ok , erf_sbm::ZeroWaterResidual , erf_sbm::BelowSupportedGrid , erf_sbm::Overflow ,
  erf_sbm::NumericalUnderflow , erf_sbm::Invalid
}
 
enum class  erf_sbm::ReconstructionStatus { erf_sbm::Populated , erf_sbm::Empty , erf_sbm::Invalid }
 
enum class  erf_sbm::remap_detail::ProductStatus { erf_sbm::remap_detail::Ok , erf_sbm::remap_detail::Underflow , erf_sbm::remap_detail::Invalid }
 
enum class  erf_sbm::remap_detail::QuotientStatus { erf_sbm::remap_detail::Ok , erf_sbm::remap_detail::Underflow , erf_sbm::remap_detail::Invalid }
 

Functions

PopulationRemapView erf_sbm::population_remap_view (const SBMLayout &layout, const int population_id) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::valid_population_remap_context (const PopulationRemapView &population) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::valid_population_remap_view (const PopulationRemapView &population) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::same_population_context (const PopulationRemapView &left, const PopulationRemapView &right) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::finite_nonnegative (const amrex::Real value) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ProductStatus erf_sbm::remap_detail::checked_product (const amrex::Real left, const amrex::Real right, amrex::Real &result) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE QuotientStatus erf_sbm::remap_detail::checked_quotient (const amrex::Real numerator, const amrex::Real denominator, amrex::Real &result) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::finite_product (const amrex::Real left, const amrex::Real right, amrex::Real &result) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RemapStatus erf_sbm::remap_detail::remap_product_status (const ProductStatus status) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RemapStatus erf_sbm::remap_detail::remap_quotient_status (const QuotientStatus status) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::within_boundary_roundoff (const amrex::Real value, const amrex::Real endpoint, const bool lower_boundary) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::route_plan_is_consistent (const PopulationRemapView &population, const PacketRoutingPlan &plan) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_two_moment_moments (const PopulationRemapView &population, const int bin, const amrex::Real number, const amrex::Real mass) noexcept
 
template<typename StateView >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_two_moment_bin_state_view (const PopulationRemapView &population, const int bin, const StateView &state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_two_moment_bin_state (const PopulationRemapView &population, const int bin, const amrex::Real *state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_two_moment_bin_state (const PopulationRemapView &population, const int bin, const RemapCellStateView &state, const int state_count) noexcept
 
template<typename StateView >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_one_moment_bin_state_view (const PopulationRemapView &population, const int bin, const StateView &state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_one_moment_bin_state (const PopulationRemapView &population, const int bin, const amrex::Real *state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_one_moment_bin_state (const PopulationRemapView &population, const int bin, const RemapCellStateView &state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_persisted_bin_state (const PopulationRemapView &population, const int bin, const amrex::Real *state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::remap_detail::canonical_persisted_bin_state (const PopulationRemapView &population, const int bin, const RemapCellStateView &state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE PacketRoutingPlan erf_sbm::plan_packet_routing (const PopulationRemapView population, const amrex::Real packet_number, const amrex::Real particle_mass) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE PacketApplicationCoreResult erf_sbm::apply_packet_routing_core (const PopulationRemapView population, const PacketRoutingPlan plan, const amrex::Real *property_packet_amounts, const int property_count, amrex::Real *residual_properties, const int residual_capacity, amrex::Real *candidate_state, const int state_count) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ReconstructionStatus erf_sbm::reconstruct_bin_core (const PopulationRemapView population, const int bin, const amrex::Real *persisted_state, const int state_count, amrex::Real *property_per_particle, const int property_capacity, ReconstructionDeltaView &reconstruction) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::integrate_interval_core (const ReconstructionDeltaView reconstruction, const amrex::Real lower, const amrex::Real upper, const bool include_upper, amrex::Real *attached_properties, const int property_capacity, IntegratedMomentsCoreResult &integral) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool erf_sbm::project_reconstruction_bin_core (const PopulationRemapView population, const ReconstructionDeltaView reconstruction, amrex::Real *candidate_state, const int state_count) noexcept
 
PacketApplicationResult erf_sbm::apply_packet_routing (const SBMLayout &layout, const PacketRoutingPlan &plan, const std::vector< amrex::Real > &property_packet_amounts, std::vector< amrex::Real > &candidate_state)
 
ReconstructionStatus erf_sbm::reconstruct_bin (const SBMLayout &layout, const int population_id, const int bin, const std::vector< amrex::Real > &persisted_state, ReconstructionDelta &reconstruction)
 
bool erf_sbm::integrate_interval (const ReconstructionDelta &reconstruction, const amrex::Real lower, const amrex::Real upper, const bool include_upper, IntegratedMoments &integral)
 
bool erf_sbm::project_reconstruction_bin (const SBMLayout &layout, const ReconstructionDelta &reconstruction, std::vector< amrex::Real > &candidate_state)