+16
−0
+112
−4
Loading
This commit integrates the SWMM coupling into the main TRITON solver, adding SWMM-specific configuration parameters and the coupling step in the time loop. Configuration changes (src/config_utils.h): - Added manhole_diameter, manhole_loss parameters - Added inp_filename parameter for SWMM .inp file - Parse SWMM parameters in get_args() Core solver integration (src/triton.h): - Include swmm_triton.h when TRITON_SWMM is defined - Add swmm_model member variable to triton class - Initialize SWMM after process_runoff() - Allocate and populate SWMM data arrays (host_vec, device_vec) - Add SWMM coupling step in compute_new_state() after wet_dry: * Copy SWMM new_depth to device * Compute SWMM-TRITON exchange flow on GPU via Kokkos kernel * Gather exchange_q from all ranks to rank 0 * Step SWMM forward on rank 0 * Scatter new_depth back to all ranks - Finalize SWMM at simulation end All changes are guarded by #ifdef TRITON_SWMM.