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

Low Impact Development (LID) control modules. More...

#include <vector>
#include <cstddef>
Include dependency graph for LID.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::lid::LIDGroupSoA
 
class  openswmm::lid::LIDSolver
 

Namespaces

namespace  openswmm
 
namespace  openswmm::lid
 

Enumerations

enum class  openswmm::lid::LIDType : int {
  openswmm::lid::BIO_CELL = 0 ,
  openswmm::lid::RAIN_GARDEN = 1 ,
  openswmm::lid::GREEN_ROOF = 2 ,
  openswmm::lid::INFIL_TRENCH = 3 ,
  openswmm::lid::PERM_PAVEMENT = 4 ,
  openswmm::lid::RAIN_BARREL = 5 ,
  openswmm::lid::VEG_SWALE = 6 ,
  openswmm::lid::ROOF_DISCON = 7
}
 

Variables

constexpr int openswmm::lid::SURF = 0
 
constexpr int openswmm::lid::SOIL = 1
 
constexpr int openswmm::lid::STOR = 2
 
constexpr int openswmm::lid::PAVE = 3
 
constexpr int openswmm::lid::N_LAYERS = 4
 

Detailed Description

Low Impact Development (LID) control modules.

Supports 8 LID types with a layered vertical model: surface → soil → storage → drain

Vectorization strategy: Group all LID units of the same type across all subcatchments into contiguous arrays (similar to XSectGroups). Each LID type uses the same flux-rate formulas — batch-compute over all units of that type simultaneously.

LID type groups (SoA per type):

  • BIO_CELL group: N units → batch biocellFluxRates()
  • PERM_PAVEMENT group: M units → batch pavementFluxRates()
  • etc.
Note
Legacy reference: src/legacy/engine/lid.c, lidproc.c
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License