18#ifndef OPENSWMM_ENGINE_2D_MESH_DATA_HPP
19#define OPENSWMM_ENGINE_2D_MESH_DATA_HPP
40 std::vector<double>
vx;
41 std::vector<double>
vy;
42 std::vector<double>
vz;
43 std::vector<std::string>
vtag;
106 int n_vertices() const noexcept {
return static_cast<int>(
vx.size()); }
114 auto n =
static_cast<std::size_t
>(nv);
126 auto n =
static_cast<std::size_t
>(nt);
138 auto n3 =
static_cast<std::size_t
>(nt) * 3;
Definition NodeCoupling.cpp:15
SoA storage for 2D triangular mesh geometry and topology.
Definition MeshData.hpp:34
std::vector< double > tri_coupling_area
Effective exchange area.
Definition MeshData.hpp:96
std::vector< int > tri_v1
Vertex 1 index.
Definition MeshData.hpp:51
int n_triangles() const noexcept
Definition MeshData.hpp:107
std::vector< int > vert_stencil_idx
Column indices (triangle indices)
Definition MeshData.hpp:82
std::vector< double > tri_area
Planimetric area (m²)
Definition MeshData.hpp:60
std::vector< double > edge_nx
Outward normal X component.
Definition MeshData.hpp:67
std::vector< double > edge_length
Length of each edge.
Definition MeshData.hpp:66
void resize_triangles(int nt)
Definition MeshData.hpp:125
std::vector< std::string > tri_coupled_node_name
Definition MeshData.hpp:100
std::vector< std::string > vtag
Optional vertex tag.
Definition MeshData.hpp:43
std::vector< double > tri_cy
Centroid Y.
Definition MeshData.hpp:62
std::vector< double > vy
Vertex Y coordinate.
Definition MeshData.hpp:41
std::vector< int > tri_coupled_node
SWMM node index (-1 = none)
Definition MeshData.hpp:90
std::vector< int > tri_nbr1
Neighbour across edge opposite v1.
Definition MeshData.hpp:56
std::vector< int > vert_coupled_node
SWMM node index (-1 = none)
Definition MeshData.hpp:89
std::vector< double > vert_coupling_area
Effective exchange area (m²)
Definition MeshData.hpp:94
std::vector< double > tri_cx
Centroid X.
Definition MeshData.hpp:61
std::vector< std::string > tri_tag
Optional triangle tag.
Definition MeshData.hpp:75
std::vector< double > edge_my
Edge midpoint Y.
Definition MeshData.hpp:70
std::vector< int > tri_v2
Vertex 2 index.
Definition MeshData.hpp:52
std::vector< int > vert_stencil_ptr
[n_vertices + 1] row pointers
Definition MeshData.hpp:81
std::vector< double > vz
Vertex Z (ground elevation)
Definition MeshData.hpp:42
std::vector< std::string > vert_coupled_node_name
Definition MeshData.hpp:99
std::vector< double > edge_ny
Outward normal Y component.
Definition MeshData.hpp:68
std::vector< double > tri_cz
Centroid Z (avg of vertex elevations)
Definition MeshData.hpp:63
std::vector< double > mannings_n
Manning's roughness coefficient.
Definition MeshData.hpp:74
std::vector< double > vx
Vertex X coordinate.
Definition MeshData.hpp:40
std::vector< int > tri_v0
Vertex 0 index.
Definition MeshData.hpp:50
std::vector< double > edge_mx
Edge midpoint X.
Definition MeshData.hpp:69
std::vector< int > tri_nbr2
Neighbour across edge opposite v2.
Definition MeshData.hpp:57
std::vector< double > vert_stencil_wt
Pseudo-Laplacian weights.
Definition MeshData.hpp:83
int n_vertices() const noexcept
Definition MeshData.hpp:106
std::vector< double > tri_coupling_cd
Discharge coefficient.
Definition MeshData.hpp:95
void resize_vertices(int nv)
Definition MeshData.hpp:113
std::vector< double > edge_mz
Edge midpoint Z (interpolated)
Definition MeshData.hpp:71
std::vector< int > tri_nbr0
Neighbour across edge opposite v0.
Definition MeshData.hpp:55
std::vector< double > vert_coupling_cd
Discharge coefficient (default 0.65)
Definition MeshData.hpp:93