OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
GwTransportSections.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2//
3// Copyright 2026 Caleb Buahin
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
29
30#ifndef OPENSWMM_ENGINE_2D_GW_TRANSPORT_SECTIONS_HPP
31#define OPENSWMM_ENGINE_2D_GW_TRANSPORT_SECTIONS_HPP
32
33#include "GwTransportData.hpp"
35
36#include <string>
37#include <vector>
38
39namespace openswmm {
41}
42
43namespace openswmm::twoD {
44
45struct MeshData;
46
66std::string parseGwTransportOptionsLine(const std::vector<std::string>& tokens,
67 GwTransportOptions& opts);
68
86std::string parseGwParamsLine(const std::vector<std::string>& tokens,
87 std::vector<GwParamsRow>& rows);
88
103std::string parseGwSorptionLine(const std::vector<std::string>& tokens,
104 std::vector<GwSorptionRow>& rows);
105
124std::string parseGwInitialQualityLine(const std::vector<std::string>& tokens,
125 std::vector<GwInitialQualityRow>& rows, std::string& file);
126
145std::string parseGwBoundaryQualityLine(const std::vector<std::string>& tokens,
146 std::vector<GwBoundaryQualityRow>& rows);
147
167std::string parseGwSourcesLine(const std::vector<std::string>& tokens,
168 std::vector<GwSourceRow>& rows);
169
185void registerGwTransportSections(GwTransportData& gw, input::SectionRegistry& registry);
186
215std::vector<std::string> resolveGwTransport(SimulationContext& ctx, const MeshData& mesh,
216 GwTransportData& gw);
217
228std::string gwTransportInertWarning(const GwTransportData& gw);
229
230} // namespace openswmm::twoD
231
232#endif // OPENSWMM_ENGINE_2D_GW_TRANSPORT_SECTIONS_HPP
U4 (2026-09-07) — authoring state for subsurface (groundwater) transport: [GW_TRANSPORT_OPTIONS],...
Registry that maps SWMM section tags to handler functions.
Definition ExchangeLaw.hpp:60
std::string parseGwTransportOptionsLine(const std::vector< std::string > &tokens, GwTransportOptions &o)
Apply one groundwater transport/thermal authoring option without resolving physical owners.
Definition GwTransportSections.cpp:268
void registerGwTransportSections(GwTransportData &gw, input::SectionRegistry &registry)
Register GW authoring callbacks that append into the borrowed model data.
Definition GwTransportSections.cpp:773
std::string parseGwParamsLine(const std::vector< std::string > &tokens, std::vector< GwParamsRow > &rows)
Parse one scoped positional groundwater material/dispersion authoring row.
Definition GwTransportSections.cpp:486
std::vector< std::string > resolveGwTransport(SimulationContext &ctx, const MeshData &mesh, GwTransportData &gw)
Validate the authored rows against the model and the species registry, once the mesh and the species ...
Definition GwTransportSections.cpp:835
std::string parseGwInitialQualityLine(const std::vector< std::string > &tokens, std::vector< GwInitialQualityRow > &rows, std::string &file)
Parse a scoped initial native quality row or retain an external file prescription.
Definition GwTransportSections.cpp:578
std::string parseGwSorptionLine(const std::vector< std::string > &tokens, std::vector< GwSorptionRow > &rows)
Parse scoped species partition coefficient and optional decay authoring data.
Definition GwTransportSections.cpp:538
std::string parseGwBoundaryQualityLine(const std::vector< std::string > &tokens, std::vector< GwBoundaryQualityRow > &rows)
Parse a lateral groundwater boundary native concentration or flux prescription.
Definition GwTransportSections.cpp:632
std::string parseGwSourcesLine(const std::vector< std::string > &tokens, std::vector< GwSourceRow > &rows)
Parse one named scoped groundwater injection/extraction and native constituent prescription.
Definition GwTransportSections.cpp:687
std::string gwTransportInertWarning(const GwTransportData &gw)
The single "authored but no kernel" run-time warning (U4's contract). Empty when nothing was authored...
Definition GwTransportSections.cpp:996
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Every [GW_*] authoring row of one model.
Definition GwTransportData.hpp:187
Definition GwTransportData.hpp:75
SoA storage for 2D mixed triangle/quad mesh geometry and topology.
Definition MeshData.hpp:65