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

SoA storage for the 1D finite-volume network mesh and its state. More...

#include <cstdint>
#include <vector>
#include "../XSectBatch.hpp"
#include "../HydClosureKernels.hpp"
#include "../XSectKernels.hpp"
Include dependency graph for NetworkMeshData.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::fv::FvGeometry
 Cross-section closure for one conduit's cell chain. More...
 
struct  openswmm::fv::NetworkMeshData
 SoA mesh geometry and topology for the FV network solver. More...
 
struct  openswmm::fv::NetworkStateData
 Mutable solver state — the conserved variables and the node volumes. More...
 

Namespaces

namespace  openswmm
 
namespace  openswmm::fv
 

Enumerations

enum  : uint8_t {
  openswmm::fv::kNodeJunction = 0 ,
  openswmm::fv::kNodeVirtual = 1 ,
  openswmm::fv::kNodeStorage = 2 ,
  openswmm::fv::kNodeOutfall = 3
}
 Node kind codes stored in NetworkMeshData::node_kind. More...
 

Variables

constexpr int openswmm::fv::kI1Samples = 129
 
constexpr int openswmm::fv::kNodeVolSamples = 129
 Samples in a STORAGE node's flattened depth→volume table.
 

Detailed Description

SoA storage for the 1D finite-volume network mesh and its state.

The FV counterpart of 2d/data/MeshData.hpp. Three index spaces:

       cells  [0, n_cells)  — one control volume, U = [A, Q]
       faces  [0, n_faces)  — one interface, flux positive LEFT → RIGHT
       nodes  [0, n_nodes)  — the model's SWMM nodes, zero-D volumes

     The mesh is INTERNAL numerical discretization and carries no named
     objects: conduits are cut into cell chains, virtual junctions become
     plain interior faces splicing two chains, and regular nodes become
     coupled zero-D volumes reached through boundary faces (plan §3.4).

     Static after init — deliberately: fixed-size arrays and a fixed face
     graph are what keep the device-resident Kokkos design free of view
     rebuilds mid-run. Adaptivity is in time (LTS), not space (plan §3.2).
See also
plans/EXPLICIT_FV_KOKKOS_1D_SOLVER_PLAN.md §3.2, §4
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0