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:215
@ ALL_MASK
Definition SolverOptions2D.hpp:235
@ INFILTRATION
Mesh2_face_infil_rate, Mesh2_face_infil_cum.
Definition SolverOptions2D.hpp:222
@ HEAT
Thermal temperatures, soil layers, and signed cumulative heat budgets.
Definition SolverOptions2D.hpp:233
@ VELOCITY
Mesh2_face_vx, Mesh2_face_vy.
Definition SolverOptions2D.hpp:217
@ DEPTH
Mesh2_face_depth, Mesh2_face_head.
Definition SolverOptions2D.hpp:216
@ NODE_HEAD
Mesh2_node_head, Mesh2_node_depth (render reconstruction)
Definition SolverOptions2D.hpp:219
@ BUILDUP
S7: Mesh2_face_buildup (when [2D_COVERAGES] rows resolved)
Definition SolverOptions2D.hpp:227
@ MINIMAL_MASK
MINIMAL: depth map + render reconstruction + envelopes only.
Definition SolverOptions2D.hpp:240
@ CONTINUITY
Mesh2_face_continuity_err (solver diagnostic)
Definition SolverOptions2D.hpp:225
@ RAINFALL
Mesh2_face_rainfall, Mesh2_face_rain_cum.
Definition SolverOptions2D.hpp:221
@ DEFAULT_MASK
DEFAULT: everything a user renders or plots; solver diagnostics off.
Definition SolverOptions2D.hpp:237
@ SPECIES
Mesh2_face_species_conc (when transport rows exist)
Definition SolverOptions2D.hpp:220
@ TURBULENCE
Horizontal eddy viscosity and strain rate diagnostics.
Definition SolverOptions2D.hpp:234
@ ENVELOPES
Mesh2_face_max_depth / _max_velocity / _max_continuity_err.
Definition SolverOptions2D.hpp:226
@ COUPLING
Mesh2_face_coupling_flux, Mesh2_face_net_source.
Definition SolverOptions2D.hpp:223
@ GW_DETAILED
G-O: Mesh2_face_gw_theta_sigma [time, layer, face] — m × nFace per step.
Definition SolverOptions2D.hpp:231
@ EDGE_FLUX
Mesh2_edge_flux (GUI velocity reconstruction, profile flux)
Definition SolverOptions2D.hpp:218
@ GROUNDWATER
G-O: Mesh2_face_gw_* per-cell fields, groundwater_ledger, groundwater_node_exchange_cum (when a [2D_A...
Definition SolverOptions2D.hpp:228
@ GRADIENTS
Mesh2_face_grad_hx/hy and the _lim pair (solver diagnostics)
Definition SolverOptions2D.hpp:224
Definition ExchangeLaw.hpp:60
Coriolis2D
Configuration for the 2D surface routing solver.
Definition SolverOptions2D.hpp:250
@ LATITUDE
Definition SolverOptions2D.hpp:250
@ OFF
Definition SolverOptions2D.hpp:250
@ CONSTANT_F
Definition SolverOptions2D.hpp:250
CouplingHead2D
Where the 2D head driving a junction exchange is read ([2D_OPTIONS] COUPLING_HEAD).
Definition SolverOptions2D.hpp:143
@ VERTEX
Definition SolverOptions2D.hpp:143
@ STENCIL_WET_MEAN
Definition SolverOptions2D.hpp:143
@ CELL
Definition SolverOptions2D.hpp:143
RainfallMode
How raingage rainfall is mapped onto the 2D mesh cells.
Definition SolverOptions2D.hpp:113
@ NATURAL_NEIGHBOUR
Default: spatial interpolation across all gages.
Definition SolverOptions2D.hpp:114
@ NEAREST_NEIGHBOUR
Closest located gage; ties use first gage order.
Definition SolverOptions2D.hpp:119
@ NONE
Definition SolverOptions2D.hpp:116
@ SYSTEM
Uniform = mean of all gages.
Definition SolverOptions2D.hpp:115
const char * turbulenceName(Turbulence2D t) noexcept
[2D_OPTIONS] TURBULENCE_MODEL token for a closure.
Definition SolverOptions2D.hpp:253
Turbulence2D
Definition SolverOptions2D.hpp:251
@ SMAGORINSKY
Definition SolverOptions2D.hpp:251
@ MIXING_LENGTH
Definition SolverOptions2D.hpp:251
@ NONE
Definition SolverOptions2D.hpp:251
CouplingLaw2D
1D↔2D exchange law at junction coupling points ([2D_OPTIONS] COUPLING_LAW; a node's [2D_NODE_COUPLING...
Definition SolverOptions2D.hpp:130
@ WEIR_ORIFICE
Definition SolverOptions2D.hpp:130
@ ORIFICE
Definition SolverOptions2D.hpp:130
OutputPrecision2D
Storage precision of the 2D results file's time-varying datasets ([2D_OPTIONS] OUTPUT_PRECISION)....
Definition SolverOptions2D.hpp:203
@ FLOAT64
bit-for-bit parity tooling
Definition SolverOptions2D.hpp:205
@ FLOAT32
default — halves the file, ~7 significant digits
Definition SolverOptions2D.hpp:204
Momentum2D
Momentum closure of the explicit 2D marcher (2D_FULL_SWE_SHOCK_CAPTURING_PLAN_2026-09-05 §2).
Definition SolverOptions2D.hpp:195
@ LOCAL_INERTIAL
Definition SolverOptions2D.hpp:195
@ DIFFUSIVE_WAVE
Definition SolverOptions2D.hpp:195
@ FULL_SWE
Definition SolverOptions2D.hpp:195
CouplingPondMode2D
Above-rim storage of a 2D-coupled junction under dynamic wave ([2D_OPTIONS] COUPLING_POND_MODE; plan ...
Definition SolverOptions2D.hpp:156
@ CHAMBER
Definition SolverOptions2D.hpp:156
@ FOOTPRINT
Definition SolverOptions2D.hpp:156
@ TRACKING
Definition SolverOptions2D.hpp:156
FaceDepth2D
Effective conveyance depth at a shared edge for the diffusive-wave flux.
Definition SolverOptions2D.hpp:92
@ MEAN
Legacy: upwind cell-mean depth (default).
Definition SolverOptions2D.hpp:93
@ VFR_FACE
B&S Eq. 14 face depth + wetting gate.
Definition SolverOptions2D.hpp:94
Backend2D
Compute backend for the 2D marcher (mirrors fv::Backend).
Definition SolverOptions2D.hpp:171
@ CPU
Built-in marcher (OpenMP-threaded on the host), no plugin.
Definition SolverOptions2D.hpp:172
@ SYCL
Kokkos SYCL device plugin (Intel).
Definition SolverOptions2D.hpp:177
@ HIP
Kokkos HIP device plugin (AMD).
Definition SolverOptions2D.hpp:176
@ OMP
Kokkos OpenMP host plugin.
Definition SolverOptions2D.hpp:174
@ CUDA
Kokkos CUDA device plugin (NVIDIA).
Definition SolverOptions2D.hpp:175
@ AUTO
Default: plugins above their size floors, else CPU.
Definition SolverOptions2D.hpp:173
CellClosure2D
Volume → free-surface closure for a 2D cell.
Definition SolverOptions2D.hpp:60
@ VFR
Planar-bed VFR closure (regularized), CPU solvers only.
Definition SolverOptions2D.hpp:62
@ FLAT
Legacy flat-cell closure η = tri_cz + V/A (default).
Definition SolverOptions2D.hpp:61
Two-string carrier for any external file path that appears in a SWMM .inp file.
Definition FilePathPair.hpp:63
Definition SolverOptions2D.hpp:257
double dispersion
Definition SolverOptions2D.hpp:516
double report_2d_step
Definition SolverOptions2D.hpp:370
double flow_2d_to_1d
2D flow → 1D flow (m³/s→ft³/s, 35.315)
Definition SolverOptions2D.hpp:578
bool transport_pollutants
Definition SolverOptions2D.hpp:411
double froude_max
Definition SolverOptions2D.hpp:494
Backend2D backend
Definition SolverOptions2D.hpp:540
int heat_surface
Definition SolverOptions2D.hpp:260
double len_2d_to_1d
2D length → 1D length (m→ft, 3.2808)
Definition SolverOptions2D.hpp:575
CellClosure2D cell_closure
Definition SolverOptions2D.hpp:452
double limiter_epsilon
Definition SolverOptions2D.hpp:310
bool mesh_units_si
Definition SolverOptions2D.hpp:604
bool coriolis_latitude_set
Definition SolverOptions2D.hpp:281
bool transport_temperature
Definition SolverOptions2D.hpp:414
openswmm::FilePathPair mesh_file
Definition SolverOptions2D.hpp:552
double coupling_pond_relax
Definition SolverOptions2D.hpp:343
int heat_radiative
Definition SolverOptions2D.hpp:260
double water_heat_capacity
Definition SolverOptions2D.hpp:266
FaceDepth2D face_reconstruction
Definition SolverOptions2D.hpp:458
int bed_heat_model
Definition SolverOptions2D.hpp:262
bool bed_heat_authored
Definition SolverOptions2D.hpp:263
bool transport_age
Definition SolverOptions2D.hpp:413
bool coriolis_f_set
Definition SolverOptions2D.hpp:281
int8_t evaporation
Definition SolverOptions2D.hpp:406
double max_timestep
Definition SolverOptions2D.hpp:308
double mesh_to_si_factor
Definition SolverOptions2D.hpp:620
double smagorinsky_cs
Definition SolverOptions2D.hpp:272
double exchange_beta
Definition SolverOptions2D.hpp:508
double eddy_viscosity_background
Definition SolverOptions2D.hpp:276
std::vector< std::string > report_2d_species
Definition SolverOptions2D.hpp:366
CouplingHead2D coupling_head
[2D_OPTIONS] COUPLING_HEAD CELL|VERTEX|STENCIL_WET_MEAN (default CELL).
Definition SolverOptions2D.hpp:334
double vol_1d_to_2d
1D volume → 2D volume (ft³→m³, exact 0.3048³)
Definition SolverOptions2D.hpp:576
bool heat_surface_authored
Definition SolverOptions2D.hpp:261
RainfallMode rainfall_mode
Definition SolverOptions2D.hpp:442
double mixing_length_coefficient
Definition SolverOptions2D.hpp:280
double bc_flow_to_si_applied
Definition SolverOptions2D.hpp:636
bool wall_drag_enabled
Derived from authored WALL_DRAG edges; not a global input switch.
Definition SolverOptions2D.hpp:283
bool coupling_in_flooding
Definition SolverOptions2D.hpp:535
double dry_depth
Dry cell threshold (m)
Definition SolverOptions2D.hpp:309
double coriolisParameter() const noexcept
Definition SolverOptions2D.hpp:287
bool heat_radiative_authored
Definition SolverOptions2D.hpp:261
bool report_2d
Write 2D results to output.
Definition SolverOptions2D.hpp:352
bool heat_model_authored
Definition SolverOptions2D.hpp:259
int coupling_coeffs
Definition SolverOptions2D.hpp:338
unsigned report_2d_vars
Definition SolverOptions2D.hpp:363
double coupling_rim_band
Definition SolverOptions2D.hpp:347
double theta_reference_step
[2D_OPTIONS] THETA_REFERENCE_STEP, s >= 0
Definition SolverOptions2D.hpp:479
int num_threads
Definition SolverOptions2D.hpp:588
CouplingPondMode2D coupling_pond_mode
[2D_OPTIONS] COUPLING_POND_MODE FOOTPRINT|CHAMBER|TRACKING.
Definition SolverOptions2D.hpp:340
double h_move
Definition SolverOptions2D.hpp:488
double coupling_cd
Definition SolverOptions2D.hpp:330
bool momentumPhysics() const noexcept
Definition SolverOptions2D.hpp:284
std::string gw_et
Definition SolverOptions2D.hpp:436
std::string infil_destination
Definition SolverOptions2D.hpp:400
double vfr_min_wet_frac
Definition SolverOptions2D.hpp:465
double cfl_number
Definition SolverOptions2D.hpp:480
Coriolis2D coriolis
Optional horizontal momentum physics; CPU FULL_SWE, global timestep only.
Definition SolverOptions2D.hpp:270
int8_t coupling_equalize
Definition SolverOptions2D.hpp:351
Turbulence2D turbulence
Definition SolverOptions2D.hpp:271
int requested_threads
Definition SolverOptions2D.hpp:594
double coupling_sync
Definition SolverOptions2D.hpp:328
int8_t groundwater
Definition SolverOptions2D.hpp:429
bool coupled_heat
Definition SolverOptions2D.hpp:259
int8_t infiltration
Definition SolverOptions2D.hpp:383
double theta
Definition SolverOptions2D.hpp:475
bool pending_rows_drained
Definition SolverOptions2D.hpp:628
bool auto_backend_cpu
Definition SolverOptions2D.hpp:545
double coriolis_latitude
Definition SolverOptions2D.hpp:272
double flux_dh_eps
Definition SolverOptions2D.hpp:319
CouplingLaw2D coupling_law
[2D_OPTIONS] COUPLING_LAW ORIFICE|WEIR_ORIFICE (default ORIFICE).
Definition SolverOptions2D.hpp:332
double len_1d_to_2d
1D length → 2D length (ft→m, 0.3048)
Definition SolverOptions2D.hpp:574
std::string infil_default_method
Definition SolverOptions2D.hpp:394
bool mesh_scaled_to_si
Definition SolverOptions2D.hpp:611
double coriolis_f
Definition SolverOptions2D.hpp:272
double infil_step
Definition SolverOptions2D.hpp:388
int lts_tiers
[2D_OPTIONS] LTS_TIERS, 1..8 (1 = global dt)
Definition SolverOptions2D.hpp:493
int front_rebuild
Definition SolverOptions2D.hpp:300
int output_compression
Definition SolverOptions2D.hpp:360
Momentum2D momentum
[2D_OPTIONS] MOMENTUM_EQUATION — momentum closure (see Momentum2D).
Definition SolverOptions2D.hpp:268
bool transport_msx
Definition SolverOptions2D.hpp:412
double exchange_relax
Definition SolverOptions2D.hpp:520
bool coupling_area_auto
Definition SolverOptions2D.hpp:524
openswmm::FilePathPair output_file
Definition SolverOptions2D.hpp:558
int reconstruction_order
Definition SolverOptions2D.hpp:305
OutputPrecision2D output_precision
Definition SolverOptions2D.hpp:357
double flow_1d_to_2d
1D flow → 2D flow (ft³/s→m³/s, exact 0.3048³)
Definition SolverOptions2D.hpp:577
bool advection
Definition SolverOptions2D.hpp:505