![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Treatment expression parser (Shunting-yard) and evaluator (stack machine). More...
#include "Treatment.hpp"#include <cmath>#include <stack>#include <algorithm>#include <cctype>#include <unordered_map>Namespaces | |
| namespace | openswmm |
| namespace | openswmm::treatment |
Functions | |
| int | openswmm::treatment::parse (const std::string &expr_str, TreatExpr &result) |
| Parse a treatment expression string into postfix tokens. | |
| double | openswmm::treatment::evaluate (const TreatExpr &expr, double c, double dt, double hrt, double q, double v, double d) |
| Evaluate a treatment expression with given variable values. | |
| double | openswmm::treatment::applyTreatment (const TreatExpr &expr, double c_in, double dt, double hrt, double q, double v, double d) |
| Apply treatment at a node for one pollutant. | |
Treatment expression parser (Shunting-yard) and evaluator (stack machine).
The parser converts infix treatment expressions into postfix (RPN) token lists. The evaluator is a simple stack machine that processes the postfix token list with concrete variable values.
Numerically identical to the legacy treatmnt.c + mathexpr.c chain.