OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
GwBoundaryForcing.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
11
12#ifndef OPENSWMM_GW_BOUNDARY_FORCING_HPP
13#define OPENSWMM_GW_BOUNDARY_FORCING_HPP
14#include "GwSourceForcing.hpp"
15#include <cstdint>
16namespace openswmm {
18}
19namespace openswmm::twoD {
20struct MeshData;
21struct SubsurfaceConfig;
22struct SubsurfaceState;
24struct GwTransportData;
26 int row = -1;
27 bool flux = false;
28 double scale = 1;
30};
32 int cell = -1, edge = -1;
33 bool head = false;
34 double length = 0, distance = 0;
36 std::vector<GwBoundaryTerm> terms;
38 std::vector<double> mass_in, mass_out, flux_in, flux_out;
39};
41 std::size_t boundary = 0;
42 double in = 0, out = 0;
43 std::vector<double> mass, flux_in, flux_out;
44};
45
58std::vector<GwResolvedBoundary>
61 const std::vector<uint8_t>& coverage, double heat_capacity);
70void appendGwBoundaryCuts(const GwResolvedBoundary&, double, double, double, double, double,
71 std::vector<double>&);
85GwBoundaryPulse integrateGwBoundary(const GwResolvedBoundary&, double, double, double head,
86 double bottom, double thickness, double conductivity,
87 int species);
88}
89#endif
Immutable groundwater source series in elapsed simulation time.
Definition ExchangeLaw.hpp:60
std::vector< GwResolvedBoundary > resolveGwBoundaries(SimulationContext &ctx, const MeshData &mesh, const SubsurfaceConfig &config, const GwTransportData &quality, const SubsurfaceState &state, const SubsurfaceTransportState &tr, const std::vector< uint8_t > &coverage, double heat_capacity)
Resolve authored exterior hydraulic edges and explicit groundwater quality prescriptions.
Definition GwBoundaryForcing.cpp:98
void appendGwBoundaryCuts(const GwResolvedBoundary &b, double start, double end, double head, double bottom, double thickness, std::vector< double > &cuts)
Append forcing knots and crossings that delimit smooth boundary-integral pieces.
Definition GwBoundaryForcing.cpp:217
GwBoundaryPulse integrateGwBoundary(const GwResolvedBoundary &b, double start, double dt, double head, double bottom, double thickness, double conductivity, int species)
Integrate a resolved edge's requested water, injection composition and independent fluxes.
Definition GwBoundaryForcing.cpp:271
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Definition GwBoundaryForcing.hpp:40
std::vector< double > flux_out
Definition GwBoundaryForcing.hpp:43
std::vector< double > mass
Definition GwBoundaryForcing.hpp:43
std::vector< double > flux_in
Definition GwBoundaryForcing.hpp:43
std::size_t boundary
Definition GwBoundaryForcing.hpp:41
double out
Definition GwBoundaryForcing.hpp:42
double in
Definition GwBoundaryForcing.hpp:42
Definition GwBoundaryForcing.hpp:25
bool flux
Definition GwBoundaryForcing.hpp:27
int row
Definition GwBoundaryForcing.hpp:26
GwSourceSignal signal
Definition GwBoundaryForcing.hpp:29
double scale
Definition GwBoundaryForcing.hpp:28
Definition GwBoundaryForcing.hpp:31
std::vector< double > flux_out
Definition GwBoundaryForcing.hpp:38
double applied_out
Definition GwBoundaryForcing.hpp:37
int edge
Definition GwBoundaryForcing.hpp:32
int cell
Definition GwBoundaryForcing.hpp:32
std::vector< double > mass_out
Definition GwBoundaryForcing.hpp:38
std::vector< GwBoundaryTerm > terms
Definition GwBoundaryForcing.hpp:36
double distance
Definition GwBoundaryForcing.hpp:34
double applied_in
Definition GwBoundaryForcing.hpp:37
bool head
Definition GwBoundaryForcing.hpp:33
double requested_out
Definition GwBoundaryForcing.hpp:37
std::vector< double > flux_in
Definition GwBoundaryForcing.hpp:38
double length
Definition GwBoundaryForcing.hpp:34
double requested_in
Definition GwBoundaryForcing.hpp:37
GwSourceSignal signal
Definition GwBoundaryForcing.hpp:35
std::vector< double > mass_in
Definition GwBoundaryForcing.hpp:38
Definition GwSourceForcing.hpp:27
Every [GW_*] authoring row of one model.
Definition GwTransportData.hpp:187
SoA storage for 2D mixed triangle/quad mesh geometry and topology.
Definition MeshData.hpp:65
Everything the parser fills, before resolution onto cells.
Definition SubsurfaceData.hpp:391
Per-cell resolved parameters and state (SoA).
Definition SubsurfaceData.hpp:219
Species mass in both aquifer zones, and where mass crossed a boundary.
Definition SubsurfaceTransportState.hpp:69