29#ifndef OPENSWMM_ENGINE_2D_SOLVER_OPTIONS_HPP
30#define OPENSWMM_ENGINE_2D_SOLVER_OPTIONS_HPP
Carrier for an external file reference in a SWMM model.
Var
Definition SolverOptions2D.hpp:181
@ ALL_MASK
Definition SolverOptions2D.hpp:193
@ INFILTRATION
Mesh2_face_infil_rate, Mesh2_face_infil_cum.
Definition SolverOptions2D.hpp:188
@ VELOCITY
Mesh2_face_vx, Mesh2_face_vy.
Definition SolverOptions2D.hpp:183
@ DEPTH
Mesh2_face_depth, Mesh2_face_head.
Definition SolverOptions2D.hpp:182
@ NODE_HEAD
Mesh2_node_head, Mesh2_node_depth (render reconstruction)
Definition SolverOptions2D.hpp:185
@ MINIMAL_MASK
MINIMAL: depth map + render reconstruction + envelopes only.
Definition SolverOptions2D.hpp:198
@ CONTINUITY
Mesh2_face_continuity_err (solver diagnostic)
Definition SolverOptions2D.hpp:191
@ RAINFALL
Mesh2_face_rainfall, Mesh2_face_rain_cum.
Definition SolverOptions2D.hpp:187
@ DEFAULT_MASK
DEFAULT: everything a user renders or plots; solver diagnostics off.
Definition SolverOptions2D.hpp:195
@ SPECIES
Mesh2_face_species_conc (when transport rows exist)
Definition SolverOptions2D.hpp:186
@ ENVELOPES
Mesh2_face_max_depth / _max_velocity / _max_continuity_err.
Definition SolverOptions2D.hpp:192
@ COUPLING
Mesh2_face_coupling_flux, Mesh2_face_net_source.
Definition SolverOptions2D.hpp:189
@ EDGE_FLUX
Mesh2_edge_flux (GUI velocity reconstruction, profile flux)
Definition SolverOptions2D.hpp:184
@ GRADIENTS
Mesh2_face_grad_hx/hy and the _lim pair (solver diagnostics)
Definition SolverOptions2D.hpp:190
Definition NodeCoupling.cpp:16
RainfallMode
How raingage rainfall is mapped onto the 2D mesh cells.
Definition SolverOptions2D.hpp:112
@ NATURAL_NEIGHBOUR
Default: spatial interpolation across all gages.
Definition SolverOptions2D.hpp:113
@ NONE
Definition SolverOptions2D.hpp:115
@ SYSTEM
Uniform = mean of all gages.
Definition SolverOptions2D.hpp:114
OutputPrecision2D
Storage precision of the 2D results file's time-varying datasets ([2D_OPTIONS] OUTPUT_PRECISION)....
Definition SolverOptions2D.hpp:169
@ FLOAT64
bit-for-bit parity tooling
Definition SolverOptions2D.hpp:171
@ FLOAT32
default — halves the file, ~7 significant digits
Definition SolverOptions2D.hpp:170
Momentum2D
Momentum closure of the explicit 2D marcher (2D_FULL_SWE_SHOCK_CAPTURING_PLAN_2026-09-05 §2).
Definition SolverOptions2D.hpp:157
@ LOCAL_INERTIAL
Definition SolverOptions2D.hpp:158
@ DIFFUSIVE_WAVE
Definition SolverOptions2D.hpp:160
@ FULL_SWE
Definition SolverOptions2D.hpp:159
FaceDepth2D
Effective conveyance depth at a shared edge for the diffusive-wave flux.
Definition SolverOptions2D.hpp:91
@ MEAN
Legacy: upwind cell-mean depth (default).
Definition SolverOptions2D.hpp:92
@ VFR_FACE
B&S Eq. 14 face depth + wetting gate.
Definition SolverOptions2D.hpp:93
Backend2D
Compute backend for the 2D marcher (mirrors fv::Backend).
Definition SolverOptions2D.hpp:133
@ CPU
Built-in marcher (OpenMP-threaded on the host), no plugin.
Definition SolverOptions2D.hpp:134
@ SYCL
Kokkos SYCL device plugin (Intel).
Definition SolverOptions2D.hpp:139
@ HIP
Kokkos HIP device plugin (AMD).
Definition SolverOptions2D.hpp:138
@ OMP
Kokkos OpenMP host plugin.
Definition SolverOptions2D.hpp:136
@ CUDA
Kokkos CUDA device plugin (NVIDIA).
Definition SolverOptions2D.hpp:137
@ AUTO
Default: plugins above their size floors, else CPU.
Definition SolverOptions2D.hpp:135
CellClosure2D
Volume → free-surface closure for a 2D cell.
Definition SolverOptions2D.hpp:59
@ VFR
Planar-bed VFR closure (regularized), CPU solvers only.
Definition SolverOptions2D.hpp:61
@ FLAT
Legacy flat-cell closure η = tri_cz + V/A (default).
Definition SolverOptions2D.hpp:60
Two-string carrier for any external file path that appears in a SWMM .inp file.
Definition FilePathPair.hpp:63
Configuration for the 2D surface routing solver.
Definition SolverOptions2D.hpp:208
double dispersion
Definition SolverOptions2D.hpp:409
double report_2d_step
Definition SolverOptions2D.hpp:267
double flow_2d_to_1d
2D flow → 1D flow (m³/s→ft³/s, 35.315)
Definition SolverOptions2D.hpp:464
bool transport_pollutants
Definition SolverOptions2D.hpp:308
double froude_max
Definition SolverOptions2D.hpp:387
Backend2D backend
Definition SolverOptions2D.hpp:431
double len_2d_to_1d
2D length → 1D length (m→ft, 3.2808)
Definition SolverOptions2D.hpp:461
CellClosure2D cell_closure
Definition SolverOptions2D.hpp:349
double limiter_epsilon
Definition SolverOptions2D.hpp:228
bool mesh_units_si
Definition SolverOptions2D.hpp:490
bool transport_temperature
Definition SolverOptions2D.hpp:311
openswmm::FilePathPair mesh_file
Definition SolverOptions2D.hpp:438
FaceDepth2D face_reconstruction
Definition SolverOptions2D.hpp:355
bool transport_age
Definition SolverOptions2D.hpp:310
int8_t evaporation
Definition SolverOptions2D.hpp:303
double max_timestep
Definition SolverOptions2D.hpp:226
double mesh_to_si_factor
Definition SolverOptions2D.hpp:506
double exchange_beta
Definition SolverOptions2D.hpp:401
std::vector< std::string > report_2d_species
Definition SolverOptions2D.hpp:263
double vol_1d_to_2d
1D volume → 2D volume (ft³→m³, 0.02832)
Definition SolverOptions2D.hpp:462
RainfallMode rainfall_mode
Definition SolverOptions2D.hpp:339
double bc_flow_to_si_applied
Definition SolverOptions2D.hpp:522
bool coupling_in_flooding
Definition SolverOptions2D.hpp:426
double dry_depth
Dry cell threshold (m)
Definition SolverOptions2D.hpp:227
bool report_2d
Write 2D results to output.
Definition SolverOptions2D.hpp:249
unsigned report_2d_vars
Definition SolverOptions2D.hpp:260
int num_threads
Definition SolverOptions2D.hpp:474
double h_move
Definition SolverOptions2D.hpp:381
double coupling_cd
Default discharge coefficient.
Definition SolverOptions2D.hpp:248
std::string gw_et
Definition SolverOptions2D.hpp:333
std::string infil_destination
Definition SolverOptions2D.hpp:297
double vfr_min_wet_frac
Definition SolverOptions2D.hpp:362
double cfl_number
Definition SolverOptions2D.hpp:373
int requested_threads
Definition SolverOptions2D.hpp:480
double coupling_sync
Definition SolverOptions2D.hpp:246
int8_t groundwater
Definition SolverOptions2D.hpp:326
int8_t infiltration
Definition SolverOptions2D.hpp:280
double theta
[2D_OPTIONS] THETA, (0, 1]
Definition SolverOptions2D.hpp:372
bool pending_rows_drained
Definition SolverOptions2D.hpp:514
double flux_dh_eps
Definition SolverOptions2D.hpp:237
double len_1d_to_2d
1D length → 2D length (ft→m, 0.3048)
Definition SolverOptions2D.hpp:460
std::string infil_default_method
Definition SolverOptions2D.hpp:291
bool mesh_scaled_to_si
Definition SolverOptions2D.hpp:497
double infil_step
Definition SolverOptions2D.hpp:285
int lts_tiers
[2D_OPTIONS] LTS_TIERS, 1..8 (1 = global dt)
Definition SolverOptions2D.hpp:386
int front_rebuild
Definition SolverOptions2D.hpp:218
int output_compression
Definition SolverOptions2D.hpp:257
Momentum2D momentum
[2D_OPTIONS] MOMENTUM_EQUATION — momentum closure (see Momentum2D).
Definition SolverOptions2D.hpp:210
bool transport_msx
Definition SolverOptions2D.hpp:309
double exchange_relax
Optional EMA sub-relaxation of per-substep coupling exchange (1 = off).
Definition SolverOptions2D.hpp:411
bool coupling_area_auto
Definition SolverOptions2D.hpp:415
openswmm::FilePathPair output_file
Definition SolverOptions2D.hpp:444
int reconstruction_order
Definition SolverOptions2D.hpp:223
OutputPrecision2D output_precision
Definition SolverOptions2D.hpp:254
double flow_1d_to_2d
1D flow → 2D flow (ft³/s→m³/s, 0.02832)
Definition SolverOptions2D.hpp:463
bool advection
Definition SolverOptions2D.hpp:398