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

Per-element runtime forcing state — SoA layout. More...

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

Go to the source code of this file.

Classes

struct  openswmm::ForcingData
 

Namespaces

namespace  openswmm
 

Enumerations

enum class  openswmm::ForcingMode : int8_t {
  openswmm::NONE = 0 ,
  openswmm::OVERRIDE = 1 ,
  openswmm::ADD = 2
}
 
enum class  openswmm::ForcingPersist : int8_t {
  openswmm::RESET = 0 ,
  openswmm::PERSIST = 1
}
 

Detailed Description

Per-element runtime forcing state — SoA layout.

Stores user-injected forcing mode, value, and persistence for every forceable quantity (lateral inflow, head boundary, rainfall, evaporation, link setting, quality mass flux). Each forcing channel has three parallel arrays:

  • mode : NONE / OVERRIDE / ADD
  • value : the user-supplied value
  • persist: RESET (auto-clear after each step) / PERSIST (keep)

Applied by SWMMEngine::applyForcings() at the start of each routing step. Auto-cleared by clear_reset_entries() at end of step.

See also
include/openswmm/engine/openswmm_forcing.h (C API)
src/engine/core/SWMMEngine.cpp (integration)
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License