SoA parameter block for all links of one cross-section shape.
More...
#include <XSectBatch.hpp>
|
| void | resize (int n) |
| | Resize primary shape-group geometry and numerical work arrays.
|
| |
SoA parameter block for all links of one cross-section shape.
All arrays have size count. The link_idx array maps each position back to the original link index in SimulationContext so results can be scattered back to the global arrays.
Parameter arrays are populated once at initialisation from the per-link XSectParams and do not change during simulation.
◆ resize()
| void openswmm::ShapeGroup::resize |
( |
int | n | ) |
|
Resize primary shape-group geometry and numerical work arrays.
Sets count and resizes link indices, scalar geometry and three scratch vectors, preserving existing prefixes. Does not resize/clear optional per-link table pointer vectors. Allocation may leave partially resized arrays; borrowed element views may invalidate.
- Parameters
-
| [in] | n | Nonnegative element count; negative is not checked before size_t conversion. |
◆ a_bot
| std::vector<double> openswmm::ShapeGroup::a_bot |
◆ a_full
| std::vector<double> openswmm::ShapeGroup::a_full |
◆ area_tables
| std::vector<const double*> openswmm::ShapeGroup::area_tables |
◆ buf_d
| std::vector<double> openswmm::ShapeGroup::buf_d |
|
mutable |
Gather buffer for depths.
◆ buf_r
| std::vector<double> openswmm::ShapeGroup::buf_r |
|
mutable |
Scatter buffer for results.
◆ buf_r2
| std::vector<double> openswmm::ShapeGroup::buf_r2 |
|
mutable |
Second scatter buffer (for fused ops)
◆ count
| int openswmm::ShapeGroup::count = 0 |
◆ hrad_tables
| std::vector<const double*> openswmm::ShapeGroup::hrad_tables |
◆ inv_y_full
| std::vector<double> openswmm::ShapeGroup::inv_y_full |
1.0 / y_full (or 0 if y_full==0)
◆ link_idx
| std::vector<int> openswmm::ShapeGroup::link_idx |
◆ r_bot
| std::vector<double> openswmm::ShapeGroup::r_bot |
◆ r_full
| std::vector<double> openswmm::ShapeGroup::r_full |
◆ s_bot
| std::vector<double> openswmm::ShapeGroup::s_bot |
◆ s_full
| std::vector<double> openswmm::ShapeGroup::s_full |
◆ shape
◆ transect_tbl_size
| int openswmm::ShapeGroup::transect_tbl_size = 0 |
Table size (same for all)
◆ w_max
| std::vector<double> openswmm::ShapeGroup::w_max |
◆ width_tables
| std::vector<const double*> openswmm::ShapeGroup::width_tables |
◆ y_bot
| std::vector<double> openswmm::ShapeGroup::y_bot |
◆ y_full
| std::vector<double> openswmm::ShapeGroup::y_full |
The documentation for this struct was generated from the following files:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/hydraulics/XSectBatch.hpp
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/hydraulics/XSectBatch.cpp