47#ifndef OPENSWMM_ENGINE_2D_INERTIAL_EDGES_HPP
48#define OPENSWMM_ENGINE_2D_INERTIAL_EDGES_HPP
66 std::vector<double>
xi;
79 std::vector<double>
nx,
ny;
80 std::vector<double>
mx,
my;
118 bool empty() const noexcept {
return ne == 0; }
Definition NodeCoupling.cpp:16
Canonical unique interior-edge layout + per-cell incidence for the local-inertial scheme.
Definition InertialEdges.hpp:61
bool empty() const noexcept
Definition InertialEdges.hpp:118
std::vector< double > n2_face
(½(n_L+n_R))² Manning coefficient
Definition InertialEdges.hpp:86
std::vector< double > cell_lpos
Definition InertialEdges.hpp:97
std::vector< double > n_face
Definition InertialEdges.hpp:87
std::vector< double > xi
edge length ξ (m)
Definition InertialEdges.hpp:66
std::vector< double > inv_dx
1 / centroid-to-centroid distance (1/m)
Definition InertialEdges.hpp:67
std::vector< double > mx
Definition InertialEdges.hpp:80
std::vector< double > cell_arm_y
Definition InertialEdges.hpp:113
std::vector< double > cell_lchar
Definition InertialEdges.hpp:92
std::vector< double > ze_hi
Definition InertialEdges.hpp:74
std::vector< double > cell_arm_x
Definition InertialEdges.hpp:113
void build(const MeshData &mesh)
Build the structure from mesh topology. O(n_triangles).
Definition InertialEdges.cpp:18
std::vector< double > nx
Definition InertialEdges.hpp:79
std::vector< double > zface
Definition InertialEdges.hpp:68
std::vector< int > cL
Definition InertialEdges.hpp:65
std::vector< double > ze_lo
Definition InertialEdges.hpp:74
std::vector< int > slotR
flat mesh edge slots [cell*kMaxCellVerts+e] for writeback
Definition InertialEdges.hpp:75
std::vector< int > slotL
Definition InertialEdges.hpp:75
int ne
number of interior (q-carrying) edges
Definition InertialEdges.hpp:62
std::vector< double > ny
unit normal, oriented cL→cR
Definition InertialEdges.hpp:79
std::vector< int > cell_ptr
[n_triangles + 1] CSR row pointers
Definition InertialEdges.hpp:103
std::vector< int8_t > cell_sign
Definition InertialEdges.hpp:108
std::vector< int > cell_edge
Definition InertialEdges.hpp:104
std::vector< int > cR
incident cell indices
Definition InertialEdges.hpp:65
std::vector< double > my
Definition InertialEdges.hpp:80
std::vector< double > inv_dx_normal
Definition InertialEdges.hpp:85
SoA storage for 2D mixed triangle/quad mesh geometry and topology.
Definition MeshData.hpp:67