|
| | RestartState (const Router &r, const SimulationContext &c) |
| | Copy a private hydraulic restart candidate from live routing/context state.
|
| |
| void | archive (Archive &a, bool thermal_lid_state, bool thermal_lid_contact_receipts) |
| | Encode or decode selected hydraulic restart state with fixed initialized shapes.
|
| |
| void | validate (const Router &router, const SimulationContext &c) const |
| | Validate decoded hydraulic state against initialized model and accepted-boundary invariants.
|
| |
| void | install (Router &r, SimulationContext &c) noexcept |
| | Move a fully validated restart candidate into its matching live Router/context.
|
| |
◆ RestartState()
Copy a private hydraulic restart candidate from live routing/context state.
Copies node/link/subtype inventories and DW solver storage. Embedded non-owning solver views retain original ownership; do not execute this private solver copy. For qualified no-LID network pollutant profile canonicalizes absent old drain-load history to a zero matrix. Live model is unchanged; allocation can throw.
- Parameters
-
| [in] | r | Borrowed initialized Router supplying DW state and link-step policy. |
| [in] | c | Borrowed coherent native context, outfall exports and clocks matching Router. |
◆ archive()
| void openswmm::Router::RestartState::archive |
( |
Archive & | a, |
|
|
bool | thermal_lid_state, |
|
|
bool | thermal_lid_contact_receipts ) |
|
inline |
Encode or decode selected hydraulic restart state with fixed initialized shapes.
Visits exports, clocks, node/link/conduit arrays, LID state, retained DW geometry/iteration history and xnode/DPS vectors. Does not restore model arrays, file/plugin handles or compiled expressions. Fixed shapes refuse mismatch; consumption/allocation can throw with a partial candidate. Validation/install are separate.
- Parameters
-
| [in,out] | a | Borrowed native read/write archive; decoded fields mutate this private candidate. |
| [in] | thermal_lid_state | Producer-compatible flag selecting LID thermal energy payload. |
| [in] | thermal_lid_contact_receipts | Producer-compatible flag selecting LID ground energy receipt payload. |
◆ install()
Move a fully validated restart candidate into its matching live Router/context.
Consumes candidate vectors with intended nonthrowing moves; borrowed views into replaced live/candidate arrays invalidate. Sets accepted checkpoint time/readiness and clears prepared/step-finished flags. Requires prior shape/model/semantic validation and exclusive access; performs no file publication or rollback.
- Parameters
-
| [in,out] | r | Borrowed matching Router; selected DW/xnode/DPS arrays, clocks and checkpoint readiness are replaced. |
| [in,out] | c | Borrowed matching context; native state/exports/forcing clocks are moved/assigned, preserving model configuration. |
◆ validate()
Validate decoded hydraulic state against initialized model and accepted-boundary invariants.
Throws on invalid clocks/date/duration, nonfinite/negative inventories, flags/flow classes, head-depth inconsistency, qualified pollutant layout, LID formulation/material/pore limits, transfer/port/retention balance and Richards diagnostics. Allows specified pressure/ODE roundoff budgets and optional NaN outfall stage conventions. Recomputes LID-dependent full volumes on a private context. Does not install or mutate target; temporary allocation can throw.
- Parameters
-
| [in] | router | Borrowed target Router supplying model DPS constants and owned-session clock policy. |
| [in] | c | Borrowed target model/material/layout with matching dimensions established by fixed archive decoding. |
◆ conduits
◆ date
| double openswmm::Router::RestartState::date |
◆ dw
◆ elapsed
| double openswmm::Router::RestartState::elapsed |
◆ evap
| double openswmm::Router::RestartState::evap |
◆ exports
◆ infil_factor
| double openswmm::Router::RestartState::infil_factor |
◆ link_step_span
| double openswmm::Router::RestartState::link_step_span |
◆ link_steps
| bool openswmm::Router::RestartState::link_steps |
◆ links
| LinkData openswmm::Router::RestartState::links |
◆ next_report
| double openswmm::Router::RestartState::next_report |
◆ nodes
| NodeData openswmm::Router::RestartState::nodes |
◆ old_elapsed
| double openswmm::Router::RestartState::old_elapsed |
◆ outfalls
◆ recovery_factor
| double openswmm::Router::RestartState::recovery_factor |
◆ storages
◆ time
| double openswmm::Router::RestartState::time |
The documentation for this struct was generated from the following file: