![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Parsed model.ard state consumed by ArdEngine::init (phase E3).
More...
#include <ArdConfigData.hpp>
Public Member Functions | |
| bool | any_dispersion () const noexcept |
| bool | any_transport_rows () const noexcept |
| bool | any_engine_content () const noexcept |
Public Attributes | |
| bool | configured = false |
| True once a [PROCESS_COMPONENTS] transport.ard registration applied. | |
| ArdDispersionMode | dispersion_mode = ArdDispersionMode::OFF |
| double | dispersion_value = 0.0 |
| Global coefficient for VALUE mode (display units, len²/s). | |
| std::vector< int > | conduit_disp_link |
| std::vector< double > | conduit_disp_value |
| std::vector< ArdTransportRow > | boundary_rows |
| std::vector< ArdTransportRow > | source_rows |
| std::vector< int > | bc_node |
| node index | |
| std::vector< int > | bc_msx |
| ReactionData species index. | |
| std::vector< double > | bc_value |
| VALUE-mode concentration. | |
| std::vector< int > | bc_ts |
| timeseries table index, -1 ⇒ VALUE | |
| std::vector< int > | src_link |
| link index (conduit) | |
| std::vector< int > | src_msx |
| std::vector< double > | src_value |
| VALUE-mode rate, internal conc·ft³/s. | |
| std::vector< int > | src_ts |
| bool | transport_rows_resolved = false |
| double | target_dx = 0.0 |
| bool | sets_scalar_scheme = false |
| bool | sets_limiter = false |
| std::string | detailed_output_path |
Parsed model.ard state consumed by ArdEngine::init (phase E3).
Filled by the transport.ard component apply hook at open; reset wholesale at the start of each apply so a reopened model never inherits stale rows. Per-conduit overrides are resolved to LINK indices at apply time (unknown names are fatal there, where the row text is still available for the diagnostic).
|
inlinenoexcept |
|
inlinenoexcept |
Anything in this config that only the ARD engine can honour — the bypass-warning predicate (lesson 10: silence is misleading whenever ANY of it is configured but the engine will not run).
|
inlinenoexcept |
| std::vector<int> openswmm::ArdConfigData::bc_msx |
ReactionData species index.
| std::vector<int> openswmm::ArdConfigData::bc_node |
node index
| std::vector<int> openswmm::ArdConfigData::bc_ts |
timeseries table index, -1 ⇒ VALUE
| std::vector<double> openswmm::ArdConfigData::bc_value |
VALUE-mode concentration.
| std::vector<ArdTransportRow> openswmm::ArdConfigData::boundary_rows |
| std::vector<int> openswmm::ArdConfigData::conduit_disp_link |
| std::vector<double> openswmm::ArdConfigData::conduit_disp_value |
| bool openswmm::ArdConfigData::configured = false |
True once a [PROCESS_COMPONENTS] transport.ard registration applied.
| std::string openswmm::ArdConfigData::detailed_output_path |
[TRANSPORT_OPTIONS] DETAILED_OUTPUT: per-cell CSV sidecar path, resolved at apply against the CONFIG file's directory (empty ⇒ off).
| ArdDispersionMode openswmm::ArdConfigData::dispersion_mode = ArdDispersionMode::OFF |
| double openswmm::ArdConfigData::dispersion_value = 0.0 |
Global coefficient for VALUE mode (display units, len²/s).
| bool openswmm::ArdConfigData::sets_limiter = false |
| bool openswmm::ArdConfigData::sets_scalar_scheme = false |
IO3c provenance: true when THIS component's file carried the SCALAR_SCHEME / LIMITER alias. The live values sit in ctx.options.fv (the aliases write through at apply), and the INP writer emits FV_SCALAR_SCHEME/FV_LIMITER only under FLOW_ROUTING FV — so on a non-FV deck this file is the ONLY carrier of that state across a save. The serializer emits the alias (with the CURRENT live value, so API/GUI edits persist) exactly when the flag says the file owned it; a file that never spelled the alias never gains one (lesson 196).
| std::vector<ArdTransportRow> openswmm::ArdConfigData::source_rows |
| std::vector<int> openswmm::ArdConfigData::src_link |
link index (conduit)
| std::vector<int> openswmm::ArdConfigData::src_msx |
| std::vector<int> openswmm::ArdConfigData::src_ts |
ts index, -1 ⇒ VALUE (ts values are species-mass/s; engine converts)
| std::vector<double> openswmm::ArdConfigData::src_value |
VALUE-mode rate, internal conc·ft³/s.
| double openswmm::ArdConfigData::target_dx = 0.0 |
[TRANSPORT_OPTIONS] TARGET_DX: transport-mesh cell length under non-FV hydraulics (display length units; 0 ⇒ FV_CELL_LENGTH rules). Ignored with a warning under FLOW_ROUTING FV (the solver mesh governs) — the plan §8 open item resolved.
| bool openswmm::ArdConfigData::transport_rows_resolved = false |