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

Kokkos port of the explicit local-inertial LTS marcher. More...

#include <Kokkos_Core.hpp>
#include "ExplicitKokkosSurfaceSolver.hpp"
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include "KokkosPerfCounters.hpp"
#include "../data/MeshData.hpp"
#include "../data/SolverOptions2D.hpp"
#include "../data/SurfaceStateData.hpp"
#include "../data/BoundaryData.hpp"
#include "../coupling/NodeCoupling.hpp"
#include "../solver/InertialKernels.hpp"
#include "../../data/NodeData.hpp"
Include dependency graph for ExplicitKokkosSurfaceSolver.cpp:

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 
namespace  openswmm::twoD::gpu
 

Macros

#define OPENSWMM_KERNEL_FN   KOKKOS_INLINE_FUNCTION
 

Detailed Description

Kokkos port of the explicit local-inertial LTS marcher.

Numerics are the serial ExplicitInertialSolver's, kernel for kernel — the scalar bodies come from InertialKernels.hpp / VfrClosure.hpp compiled with OPENSWMM_KERNEL_FN = KOKKOS_INLINE_FUNCTION (single source). See the header for the loop-structure mapping and the determinism contract.

See also
ExplicitInertialSolver.cpp (serial reference), ExplicitKokkosSurfaceSolver.hpp

Macro Definition Documentation

◆ OPENSWMM_KERNEL_FN

#define OPENSWMM_KERNEL_FN   KOKKOS_INLINE_FUNCTION