|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_AuxiliaryStage.H>

Public Member Functions | |
| CompletedStepFluxLedger ()=default | |
| CompletedStepFluxLedger (const CompletedStepFluxLedger &)=delete | |
| CompletedStepFluxLedger & | operator= (const CompletedStepFluxLedger &)=delete |
| void | define (const amrex::BoxArray &cell_ba, const amrex::DistributionMapping &dm, int ncomp=1) |
| bool | accept_stage (HostIntegrator method, int stage, double step_old_time, const AuxiliaryStageRecipe &recipe, const MappedFaceFluxRate &rate, std::string &diagnostic) |
| bool | begin_stage (HostIntegrator method, int stage, double step_old_time, const AuxiliaryStageRecipe &recipe, std::string &diagnostic) |
| bool | accumulate_stage_component (const MappedFaceFluxRate &rate, int source_component, int ledger_component, std::string &diagnostic) |
| bool | finish_stage (std::string &diagnostic) |
| bool | is_defined () const noexcept |
| bool | step_active () const noexcept |
| bool | step_complete () const noexcept |
| int | next_stage () const noexcept |
| const IntegratedMappedFaceFlux & | integrated_flux () const noexcept |
Private Member Functions | |
| void | latch_stage_failure (const std::string &diagnostic) |
| void | discard_step () |
Private Attributes | |
| IntegratedMappedFaceFlux | m_integral |
| bool | m_step_active {false} |
| bool | m_step_complete {false} |
| bool | m_stage_open {false} |
| HostIntegrator | m_method {HostIntegrator::CompressibleRK3} |
| int | m_next_stage {0} |
| int | m_open_stage {-1} |
| amrex::Real | m_open_stage_weight {0.0} |
| double | m_step_old_time {0.0} |
| std::vector< unsigned char > | m_stage_components_seen |
| std::string | m_stage_failure_diagnostic |
Completed-step time integral of accepted mapped face rates and stage order.
|
default |
|
delete |
| bool erf_auxiliary::CompletedStepFluxLedger::accept_stage | ( | HostIntegrator | method, |
| int | stage, | ||
| double | step_old_time, | ||
| const AuxiliaryStageRecipe & | recipe, | ||
| const MappedFaceFluxRate & | rate, | ||
| std::string & | diagnostic | ||
| ) |
MPI-collective completed-stage admission. All participating ranks must enter for the same host stage, including after a local recoverable error; callers must not branch around the call based on rank-local predicates. Asynchronous rank-local Abort or MPI process failure is outside this protection. A rejected in-progress transaction discards its partial accepted transfers everywhere. If every rank instead has a valid completed prior step and no rank has begun the next step, rejection leaves that prior completed transfer intact. Starting a valid new step invalidates the previous completed record. Read a transfer as accepted only while step_complete() is true; this object does not provide a retained snapshot.

| bool erf_auxiliary::CompletedStepFluxLedger::accumulate_stage_component | ( | const MappedFaceFluxRate & | rate, |
| int | source_component, | ||
| int | ledger_component, | ||
| std::string & | diagnostic | ||
| ) |
Add one accepted source component to its global ledger component.
Referenced by accept_stage().


| bool erf_auxiliary::CompletedStepFluxLedger::begin_stage | ( | HostIntegrator | method, |
| int | stage, | ||
| double | step_old_time, | ||
| const AuxiliaryStageRecipe & | recipe, | ||
| std::string & | diagnostic | ||
| ) |
Begin one host stage; chunk accumulation does not advance stage order.
Referenced by accept_stage().


| void erf_auxiliary::CompletedStepFluxLedger::define | ( | const amrex::BoxArray & | cell_ba, |
| const amrex::DistributionMapping & | dm, | ||
| int | ncomp = 1 |
||
| ) |

|
private |
Referenced by finish_stage().


| bool erf_auxiliary::CompletedStepFluxLedger::finish_stage | ( | std::string & | diagnostic | ) |
MPI-collective stage admission. Every rank participating in this level's call must enter despite local recoverable errors; callers must not branch around it using rank-local predicates. Incomplete, invalid, mismatched, or nonfinite in-progress stages invalidate the partial record everywhere. If all ranks instead have a completed prior step and no active next step, a rejected idle call preserves that prior record. A valid new stage zero invalidates it. A rank that never enters, asynchronous Abort, or MPI process failure is outside this protection.
Referenced by accept_stage().


|
inlinenoexcept |
|
inlinenoexcept |
Referenced by accept_stage(), and begin_stage().


|
private |
Referenced by accept_stage(), accumulate_stage_component(), and begin_stage().

|
inlinenoexcept |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
private |
Referenced by accept_stage(), accumulate_stage_component(), begin_stage(), define(), discard_step(), finish_stage(), integrated_flux(), and is_defined().
|
private |
Referenced by begin_stage(), and finish_stage().
|
private |
Referenced by accumulate_stage_component(), begin_stage(), define(), discard_step(), finish_stage(), and next_stage().
|
private |
Referenced by accumulate_stage_component(), begin_stage(), define(), discard_step(), and finish_stage().
|
private |
Referenced by accumulate_stage_component(), begin_stage(), define(), discard_step(), and finish_stage().
|
private |
Referenced by accumulate_stage_component(), begin_stage(), define(), discard_step(), and finish_stage().
|
private |
Referenced by begin_stage(), define(), discard_step(), finish_stage(), and latch_stage_failure().
|
private |
Referenced by accumulate_stage_component(), begin_stage(), define(), discard_step(), and finish_stage().
|
private |
Referenced by accumulate_stage_component(), begin_stage(), define(), discard_step(), finish_stage(), and step_active().
|
private |
Referenced by begin_stage(), define(), discard_step(), finish_stage(), and step_complete().
|
private |
Referenced by begin_stage(), define(), and discard_step().