OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
ReactionTokens.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
30
31#ifndef OPENSWMM_ENGINE_DATA_REACTION_TOKENS_HPP
32#define OPENSWMM_ENGINE_DATA_REACTION_TOKENS_HPP
33
34#include <cstdint>
35
36namespace openswmm {
37
59
93
95struct RxExprSpan {
96 int32_t begin = 0;
97 int32_t len = 0;
98};
99
102inline constexpr int kRxMaxStackDepth = 32;
103
104} // namespace openswmm
105
106#endif // OPENSWMM_ENGINE_DATA_REACTION_TOKENS_HPP
Definition ExchangeLaw.hpp:60
constexpr int kRxMaxStackDepth
Definition ReactionTokens.hpp:102
RxHydVar
Definition ReactionTokens.hpp:41
@ GW_DEPTH_M
reactor centre depth below the ground surface (m)
Definition ReactionTokens.hpp:56
@ FF
Darcy-Weisbach friction factor.
Definition ReactionTokens.hpp:47
@ HRT
hydraulic residence time (s)
Definition ReactionTokens.hpp:49
@ U
velocity (ft/s)
Definition ReactionTokens.hpp:44
@ DT
reaction step (s)
Definition ReactionTokens.hpp:50
@ GW_THETA
water content (dimensionless), groundwater only
Definition ReactionTokens.hpp:53
@ US
shear velocity (ft/s)
Definition ReactionTokens.hpp:46
@ TEMP
Definition ReactionTokens.hpp:51
@ RE
Reynolds number.
Definition ReactionTokens.hpp:45
@ AV
wetted surface area per volume (1/ft)
Definition ReactionTokens.hpp:48
@ GW_POROSITY
porosity (dimensionless), groundwater only
Definition ReactionTokens.hpp:54
@ GW_SE
effective saturation (dimensionless), groundwater only
Definition ReactionTokens.hpp:55
@ Q
flow (cfs)
Definition ReactionTokens.hpp:43
@ COUNT_
Definition HeatData.hpp:80
@ D
manhole diameter (length)
Definition NodeCoupling2DData.hpp:47
Compiled expression = span into the shared pool. len 0 ⇒ no expression.
Definition ReactionTokens.hpp:95
int32_t len
Definition ReactionTokens.hpp:97
int32_t begin
Definition ReactionTokens.hpp:96
Definition ReactionTokens.hpp:62
uint8_t op
Definition ReactionTokens.hpp:89
int32_t idx
Definition ReactionTokens.hpp:90
Op
Definition ReactionTokens.hpp:63
@ PUSH_POLLUT
idx = pollutant index (READ-ONLY coupling, R4)
Definition ReactionTokens.hpp:69
@ F_STEP
Definition ReactionTokens.hpp:82
@ F_SIN
Definition ReactionTokens.hpp:83
@ F_ABS
Definition ReactionTokens.hpp:80
@ POW
Definition ReactionTokens.hpp:74
@ F_MAX
binary
Definition ReactionTokens.hpp:87
@ ADD
Definition ReactionTokens.hpp:70
@ F_MIN
Definition ReactionTokens.hpp:86
@ SUB
Definition ReactionTokens.hpp:71
@ F_SQRT
Definition ReactionTokens.hpp:79
@ PUSH_TERM
idx = term slot (evaluated earlier in-order)
Definition ReactionTokens.hpp:67
@ F_LOG
Definition ReactionTokens.hpp:77
@ F_COS
Definition ReactionTokens.hpp:84
@ PUSH_NUM
value
Definition ReactionTokens.hpp:64
@ PUSH_SPECIES
idx = local species slot
Definition ReactionTokens.hpp:65
@ PUSH_COEF
idx = coefficient slot
Definition ReactionTokens.hpp:66
@ F_EXP
Definition ReactionTokens.hpp:76
@ F_TAN
Definition ReactionTokens.hpp:85
@ DIV
Definition ReactionTokens.hpp:73
@ NEG
Definition ReactionTokens.hpp:75
@ F_LOG10
Definition ReactionTokens.hpp:78
@ MUL
Definition ReactionTokens.hpp:72
@ F_SGN
Definition ReactionTokens.hpp:81
@ PUSH_HYDVAR
idx = RxHydVar
Definition ReactionTokens.hpp:68
double value
Definition ReactionTokens.hpp:91