OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
Exfiltration.hpp
Go to the documentation of this file.
1
16#ifndef OPENSWMM_EXFILTRATION_HPP
17#define OPENSWMM_EXFILTRATION_HPP
18
19#include "../hydrology/Infiltration.hpp"
20#include <vector>
21
22namespace openswmm {
23
24struct SimulationContext;
25
26namespace exfil {
27
28struct ExfilSoA {
29 int count = 0;
30 std::vector<int> node_idx;
31 std::vector<double> btm_area;
32 std::vector<double> bank_min_depth;
33 std::vector<double> bank_max_depth;
34 std::vector<double> bank_max_area;
35 std::vector<GreenAmptState> btm_ga;
36 std::vector<GreenAmptState> bank_ga;
37
38 void resize(int n);
39};
40
42public:
43 void init(SimulationContext& ctx);
44
51 void computeAll(SimulationContext& ctx, double dt);
52
53 ExfilSoA& state() { return soa_; }
54
55private:
56 ExfilSoA soa_;
57};
58
59} // namespace exfil
60} // namespace openswmm
61
62#endif // OPENSWMM_EXFILTRATION_HPP
Definition Exfiltration.hpp:41
void init(SimulationContext &ctx)
Definition Exfiltration.cpp:31
ExfilSoA & state()
Definition Exfiltration.hpp:53
void computeAll(SimulationContext &ctx, double dt)
Batch compute exfiltration for all storage nodes.
Definition Exfiltration.cpp:145
Definition Controls.cpp:24
Central, reentrant simulation context.
Definition SimulationContext.hpp:141
Definition Exfiltration.hpp:28
std::vector< GreenAmptState > bank_ga
Bank Green-Ampt state.
Definition Exfiltration.hpp:36
int count
Definition Exfiltration.hpp:29
std::vector< double > bank_max_depth
Depth at max bank area.
Definition Exfiltration.hpp:33
void resize(int n)
Definition Exfiltration.cpp:19
std::vector< int > node_idx
Storage node index.
Definition Exfiltration.hpp:30
std::vector< double > bank_max_area
Maximum bank seepage area (ft2)
Definition Exfiltration.hpp:34
std::vector< GreenAmptState > btm_ga
Bottom Green-Ampt state.
Definition Exfiltration.hpp:35
std::vector< double > bank_min_depth
Depth where bank seepage starts.
Definition Exfiltration.hpp:32
std::vector< double > btm_area
Bottom area (ft2)
Definition Exfiltration.hpp:31