OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
ExplicitFvSolver.hpp File Reference

Serial/OpenMP CPU reference implementation of the explicit FV 1D solver. More...

#include <array>
#include <cstdint>
#include <vector>
#include "FvKernels.hpp"
#include "FvOptions.hpp"
#include "INetworkSolver.hpp"
#include "NetworkMeshData.hpp"
#include "PressurizedHeadSolver.hpp"
Include dependency graph for ExplicitFvSolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openswmm::fv::ExplicitFvSolver
 

Namespaces

namespace  openswmm
 
namespace  openswmm::transport
 
namespace  openswmm::transport::fvkernels
 
namespace  openswmm::fv
 

Detailed Description

Serial/OpenMP CPU reference implementation of the explicit FV 1D solver.

Godunov-type explicit finite volume on the conduit cell mesh: hydrostatic (Audusse) reconstruction → HLLC face flux → positivity limiting → flux divergence with the bed-slope correction → semi-implicit friction → explicit zero-D node continuity. Substeps at the CFL limit to fill each routing step.

This is the REFERENCE implementation in the plan's sense: the Kokkos plugin compiles the same FvKernels.hpp bodies, and the §6.8 parity harness diffs the two element-wise.

See also
plans/EXPLICIT_FV_KOKKOS_1D_SOLVER_PLAN.md §3, §5
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0