|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
GPU-compatible structure holding distribution parameters. More...
#include <ERF_SDInitialization.H>

Public Member Functions | |
| SDInputs (const std::string &a_common, const std::string &a_block) | |
| template<typename T > | |
| bool | query (const std::string &a_key, T &a_val, const bool a_record=true) |
| template<typename T > | |
| bool | queryarr (const std::string &a_key, std::vector< T > &a_val) |
| template<typename T > | |
| void | record (const std::string &a_key, T &a_val) |
| template<typename T > | |
| bool | queryarr (const std::string &a_key, std::vector< T > &a_val, const int a_num) |
Public Attributes | |
| amrex::ParmParse | m_common |
| amrex::ParmParse | m_block |
| std::string | m_common_name |
| std::string | m_block_name |
GPU-compatible structure holding distribution parameters.
Resolves a super-droplet input across the two input tiers.
A property may be set once for every block under "<name>.<key>", or overridden for a single block under "<name>.<idx>.<key>". The common tier is what lets a property be shared, and is also what keeps input files written before multiple initializations were supported working unchanged.
Precedence is per-block over common. a_val enters holding the default and leaves holding the resolved value. The return value reports whether the value came from the input file, so a caller can tell "the user set this" from "this is the default" without asking ParmParse whether a name is present.
The resolved value is recorded under the per-block prefix so that it appears in job_info. That prefix is unique to this block, so the record cannot be read back by a later block as though the user had set it – which is precisely what recording under the common prefix would do.
|
inline |
|
inline |
Referenced by SDInitialization::readInputs(), SDInjection::readInputs(), and SDInitProperties::readInputs().

|
inline |
Array-valued form, length taken from the input.
Referenced by SDInjection::readInputs(), and SDInitProperties::readInputs().

|
inline |
Array-valued form; a_num is the expected number of components.
|
inline |
Record a resolved value under the per-block prefix, for provenance only. Use where one of several alternative spellings of an input is in effect and only the effective one should be reported.
Referenced by SDInitProperties::readInputs().

| amrex::ParmParse SDInputs::m_block |
per-block tier: "<name>.<idx>"
Referenced by query(), queryarr(), and record().
| std::string SDInputs::m_block_name |
Referenced by SDInjection::readInputs().
| amrex::ParmParse SDInputs::m_common |
common tier: "<name>"
Referenced by query(), and queryarr().
| std::string SDInputs::m_common_name |