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
41enum class RxHydVar : int {
42 D = 0,
43 Q,
44 U,
54};
55
75
77struct RxExprSpan {
78 int32_t begin = 0;
79 int32_t len = 0;
80};
81
84inline constexpr int kRxMaxStackDepth = 32;
85
86} // namespace openswmm
87
88#endif // OPENSWMM_ENGINE_DATA_REACTION_TOKENS_HPP
Definition NodeCoupling.cpp:16
constexpr int kRxMaxStackDepth
Definition ReactionTokens.hpp:84
RxHydVar
Definition ReactionTokens.hpp:41
@ 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
@ 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
@ Q
flow (cfs)
Definition ReactionTokens.hpp:43
@ D
depth (ft)
Definition ReactionTokens.hpp:42
@ COUNT_
Definition HeatData.hpp:80
Compiled expression = span into the shared pool. len 0 ⇒ no expression.
Definition ReactionTokens.hpp:77
int32_t len
Definition ReactionTokens.hpp:79
int32_t begin
Definition ReactionTokens.hpp:78
Definition ReactionTokens.hpp:58
uint8_t op
Definition ReactionTokens.hpp:71
int32_t idx
Definition ReactionTokens.hpp:72
Op
Definition ReactionTokens.hpp:59
@ PUSH_POLLUT
idx = pollutant index (READ-ONLY coupling, R4)
Definition ReactionTokens.hpp:65
@ F_STEP
Definition ReactionTokens.hpp:67
@ F_SIN
Definition ReactionTokens.hpp:68
@ F_ABS
Definition ReactionTokens.hpp:67
@ POW
Definition ReactionTokens.hpp:66
@ F_MAX
binary
Definition ReactionTokens.hpp:69
@ ADD
Definition ReactionTokens.hpp:66
@ F_MIN
Definition ReactionTokens.hpp:69
@ SUB
Definition ReactionTokens.hpp:66
@ F_SQRT
Definition ReactionTokens.hpp:67
@ PUSH_TERM
idx = term slot (evaluated earlier in-order)
Definition ReactionTokens.hpp:63
@ F_LOG
Definition ReactionTokens.hpp:67
@ F_COS
Definition ReactionTokens.hpp:68
@ PUSH_NUM
value
Definition ReactionTokens.hpp:60
@ PUSH_SPECIES
idx = local species slot
Definition ReactionTokens.hpp:61
@ PUSH_COEF
idx = coefficient slot
Definition ReactionTokens.hpp:62
@ F_EXP
Definition ReactionTokens.hpp:67
@ F_TAN
Definition ReactionTokens.hpp:68
@ DIV
Definition ReactionTokens.hpp:66
@ NEG
Definition ReactionTokens.hpp:66
@ F_LOG10
Definition ReactionTokens.hpp:67
@ MUL
Definition ReactionTokens.hpp:66
@ F_SGN
Definition ReactionTokens.hpp:67
@ PUSH_HYDVAR
idx = RxHydVar
Definition ReactionTokens.hpp:64
double value
Definition ReactionTokens.hpp:73