![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Input section parsers for the 2D surface routing module. More...
#include "../data/MeshData.hpp"#include "../data/SolverOptions2D.hpp"#include "../infil/Infil2D.hpp"#include "../SurfaceRouter2D.hpp"#include "../../input/SectionRegistry.hpp"#include <string>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::twoD |
Functions | |
| std::string | openswmm::twoD::parse2DOptionsLine (const std::vector< std::string > &tokens, SolverOptions2D &opts, std::vector< std::string > *warnings=nullptr) |
| Parse a single line from the [2D_OPTIONS] section. | |
| std::string | openswmm::twoD::parse2DVertexLine (const std::vector< std::string > &tokens, MeshData &mesh) |
| Parse a single line from the [2D_VERTICES] section. | |
| std::string | openswmm::twoD::parse2DTriangleLine (const std::vector< std::string > &tokens, MeshData &mesh) |
| Parse a single line from the [2D_TRIANGLES] section. | |
| std::string | openswmm::twoD::parse2DQuadLine (const std::vector< std::string > &tokens, MeshData &mesh) |
| Parse a single line from the [2D_QUADS] section. | |
| std::string | openswmm::twoD::parse2DInitialVelocityLine (const std::vector< std::string > &tokens, MeshData &mesh) |
| Parse a single line from the [2D_INITIAL_VELOCITY] section. | |
| std::string | openswmm::twoD::parse2DVertexNodeMapLine (const std::vector< std::string > &tokens, MeshData &mesh) |
| Parse a single line from the [2D_VERTEX_NODE_MAP] section. | |
| std::string | openswmm::twoD::parse2DTriangleNodeMapLine (const std::vector< std::string > &tokens, MeshData &mesh) |
| Parse a single line from the [2D_TRIANGLE_NODE_MAP] section. | |
| std::string | openswmm::twoD::parse2DBoundaryConditionsLine (const std::vector< std::string > &tokens, std::vector< SurfaceRouter2D::PendingBoundaryRow > &pending_rows) |
V-E3 — parse a single line from the [2D_BOUNDARY_CONDITIONS] section into a SurfaceRouter2D::PendingBoundaryRow appended to pending_rows. | |
| std::string | openswmm::twoD::parse2DEdgeConveyanceLine (const std::vector< std::string > &tokens, std::vector< SurfaceRouter2D::PendingEdgeConveyanceRow > &pending_rows) |
§11A — parse a single [2D_EDGE_CONVEYANCE] line. | |
| std::string | openswmm::twoD::parse2DInfiltrationOptionsLine (const std::vector< std::string > &tokens, Infil2D &infil) |
§5.5 track I — parse a single [2D_INFILTRATION_OPTIONS] line. | |
| std::string | openswmm::twoD::parse2DInfiltrationDefaultsLine (const std::vector< std::string > &tokens, Infil2D &infil) |
§5.5 track I — parse a single [2D_INFILTRATION_DEFAULTS] line. | |
| std::string | openswmm::twoD::parse2DInfiltrationLine (const std::vector< std::string > &tokens, Infil2D &infil) |
§5.5 track I — parse a single [2D_INFILTRATION] line. | |
| bool | openswmm::twoD::is2DOptionKey (const std::string &key) |
True when key (case-insensitive) is a [2D_OPTIONS] parameter accepted by parse2DOptionsLine. | |
| bool | openswmm::twoD::is2DRetiredOptionKey (const std::string &key) |
True when key (case-insensitive) is a [2D_OPTIONS] parameter retired with the CVODE/ARKODE stack (D2, 2026-07-29). | |
| const std::vector< std::string > & | openswmm::twoD::report2DVarTokens () |
| Format the current value of a [2D_OPTIONS] parameter as the string token parse2DOptionsLine accepts (round-trip safe). | |
| std::string | openswmm::twoD::parseReport2DVars (const std::string &text, unsigned &mask) |
| std::string | openswmm::twoD::formatReport2DVars (unsigned mask) |
| std::string | openswmm::twoD::format2DOptionValue (const SolverOptions2D &opts, const std::string &key) |
| std::string | openswmm::twoD::format2DOptionValueEx (const SolverOptions2D &opts, const Infil2D *infil, const std::string &key) |
format2DOptionValue with the E2 infiltration keys resolved against the model's [2D_INFILTRATION*] rows: INFIL_STEP falls back to the section value, INFIL_DEFAULT_METHOD to the '*' row's method. INFILTRATION stays AUTO | YES | NO as stored. infil may be null. | |
| std::string | openswmm::twoD::format2DOptionValueEx (const SolverOptions2D &opts, const Infil2D *infil, const SubsurfaceConfig *aquifer, const std::string &key) |
As above, and additionally resolves the groundwater enables against the [2D_AQUIFER*] authoring: GROUNDWATER AUTO reports the YES|NO the kernel will actually take, and GW_ET reads the [2D_AQUIFER_OPTIONS] field that owns it. aquifer may be null. | |
| void | openswmm::twoD::register2DSections (MeshData &mesh, SolverOptions2D &options, std::vector< SurfaceRouter2D::PendingBoundaryRow > &pending_bc_rows, std::vector< SurfaceRouter2D::PendingEdgeConveyanceRow > &pending_ec_rows, std::vector< SurfaceRouter2D::PendingInitialQualityRow > &pending_iq_rows, std::vector< SurfaceRouter2D::PendingBoundaryQualityRow > &pending_bq_rows, input::SectionRegistry ®istry) |
| Register all 2D input section handlers with the section registry. | |
| std::string | openswmm::twoD::parse2DInitialQualityLine (const std::vector< std::string > &tokens, std::vector< SurfaceRouter2D::PendingInitialQualityRow > &rows) |
S1/S2 — one [2D_INITIAL_QUALITY] line. Empty string = OK. | |
| std::string | openswmm::twoD::parse2DBoundaryQualityLine (const std::vector< std::string > &tokens, std::vector< SurfaceRouter2D::PendingBoundaryQualityRow > &rows) |
S2 — one [2D_BOUNDARY_QUALITY] line (TRI EDGE SPECIES CONC). Empty = OK. | |
| std::string | openswmm::twoD::load2DMeshExternalFile (MeshData &mesh, SolverOptions2D &opts, std::vector< SurfaceRouter2D::PendingBoundaryRow > &pending_bc_rows, std::vector< SurfaceRouter2D::PendingEdgeConveyanceRow > &pending_ec_rows, Infil2D *infil, const std::string &mesh_file, const std::string &inp_base_dir, std::vector< std::string > *warnings=nullptr, std::vector< SurfaceRouter2D::PendingInitialQualityRow > *pending_iq_rows=nullptr, std::vector< SurfaceRouter2D::PendingBoundaryQualityRow > *pending_bq_rows=nullptr) |
| Load 2D mesh sections from an external file. | |
| void | openswmm::twoD::prescan2DUnitsHeader (const std::string &inp_path, SolverOptions2D &opts) |
Scan inp_path for a ;; UNITS: <value> comment header and set opts.mesh_units_si to true when the value names metres. | |
Input section parsers for the 2D surface routing module.
Provides handler functions for the [2D_*] input sections:
Each handler is registered via SectionRegistry::register_custom() and conforms to the SectionHandler signature.