![]() |
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, double area=0.0) |
| 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, double area=0.0) |
| Apply treatment at a node for one pollutant. | |
| int | openswmm::treatment::parse (const std::string &expr_str, TreatExpr &result, int(*pollut_lookup)(const std::string &name)) |
| Parse with pollutant name resolution for co-treatment. | |
| double | openswmm::treatment::evaluate (const TreatExpr &expr, double c, double dt, double hrt, double q, double v, double d, const double *cin, const double *removal, int n_pollut, double area=0.0) |
| Evaluate with co-treatment support (R_pollutant references). | |
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.