OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_forcing.h
Go to the documentation of this file.
1
46#ifndef OPENSWMM_FORCING_H
47#define OPENSWMM_FORCING_H
48
49#include "openswmm_callbacks.h"
50
51#ifdef OPENSWMM_ENGINE_STATIC
52# define SWMM_ENGINE_API
53#else
54# ifdef _WIN32
55# ifdef openswmm_engine_EXPORTS
56# define SWMM_ENGINE_API __declspec(dllexport)
57# else
58# define SWMM_ENGINE_API __declspec(dllimport)
59# endif
60# else
61# define SWMM_ENGINE_API __attribute__((visibility("default")))
62# endif
63#endif
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69/* =========================================================================
70 * Enumerations
71 * ========================================================================= */
72
79
85
97
98/* =========================================================================
99 * Node forcing
100 * ========================================================================= */
101
114 SWMM_Engine engine, int idx, double value, int mode, int persist);
115
128 SWMM_Engine engine, int idx, double value, int mode, int persist);
129
143 SWMM_Engine engine, int node_idx, int pollutant_idx,
144 double mass_rate, int mode, int persist);
145
146/* =========================================================================
147 * Link forcing
148 * ========================================================================= */
149
162 SWMM_Engine engine, int idx, double value, int mode, int persist);
163
176 SWMM_Engine engine, int idx, double value, int mode, int persist);
177
178/* =========================================================================
179 * Subcatchment forcing
180 * ========================================================================= */
181
194 SWMM_Engine engine, int idx, double value, int mode, int persist);
195
208 SWMM_Engine engine, int idx, double value, int mode, int persist);
209
210/* =========================================================================
211 * Gage forcing
212 * ========================================================================= */
213
226 SWMM_Engine engine, int idx, double value, int mode, int persist);
227
228/* =========================================================================
229 * Clear forcing
230 * ========================================================================= */
231
241SWMM_ENGINE_API int swmm_forcing_clear(SWMM_Engine engine, int type, int idx);
242
251
252#ifdef __cplusplus
253} /* extern "C" */
254#endif
255
256#endif /* OPENSWMM_FORCING_H */
SWMM_ENGINE_API int swmm_forcing_node_head_boundary(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a head boundary at an outfall node.
Definition openswmm_forcing_impl.cpp:51
SWMM_ENGINE_API int swmm_forcing_gage_rainfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force rainfall on a rain gage (affects all linked subcatchments).
Definition openswmm_forcing_impl.cpp:167
SWMM_ENGINE_API int swmm_forcing_clear(SWMM_Engine engine, int type, int idx)
Clear forcing on a specific element and channel.
Definition openswmm_forcing_impl.cpp:187
SWMM_ENGINE_API int swmm_forcing_link_setting(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a control setting on a link (pump, orifice, weir, outlet).
Definition openswmm_forcing_impl.cpp:111
SWMM_ENGINE_API int swmm_forcing_node_lat_inflow(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a lateral inflow at a node.
Definition openswmm_forcing_impl.cpp:35
SWMM_ENGINE_API int swmm_forcing_subcatch_rainfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force rainfall on a subcatchment (bypasses gage lookup).
Definition openswmm_forcing_impl.cpp:131
SWMM_ENGINE_API int swmm_forcing_node_quality(SWMM_Engine engine, int node_idx, int pollutant_idx, double mass_rate, int mode, int persist)
Force a quality mass flux at a node.
Definition openswmm_forcing_impl.cpp:71
SWMM_ENGINE_API int swmm_forcing_clear_all(SWMM_Engine engine)
Clear ALL forcings on ALL elements.
Definition openswmm_forcing_impl.cpp:237
SWMM_ENGINE_API int swmm_forcing_link_flow(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force a flow in a link.
Definition openswmm_forcing_impl.cpp:95
SWMM_ENGINE_API int swmm_forcing_subcatch_evap(SWMM_Engine engine, int idx, double value, int mode, int persist)
Force an evaporation rate on a subcatchment.
Definition openswmm_forcing_impl.cpp:147
Callback function typedefs for the OpenSWMM Engine C API.
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
SWMM_ForcingMode
How the forcing value is applied relative to the computed value.
Definition openswmm_forcing.h:74
@ SWMM_FORCING_OVERRIDE
Definition openswmm_forcing.h:76
@ SWMM_FORCING_NONE
Definition openswmm_forcing.h:75
@ SWMM_FORCING_ADD
Definition openswmm_forcing.h:77
#define SWMM_ENGINE_API
Definition openswmm_forcing.h:61
SWMM_ForcingPersist
Whether the forcing persists across timesteps.
Definition openswmm_forcing.h:81
@ SWMM_FORCING_PERSIST
Definition openswmm_forcing.h:83
@ SWMM_FORCING_RESET
Definition openswmm_forcing.h:82
SWMM_ForcingType
Forcing channel identifier (for targeted clear).
Definition openswmm_forcing.h:87
@ SWMM_FORCE_NODE_HEAD_BOUNDARY
Definition openswmm_forcing.h:89
@ SWMM_FORCE_NODE_QUALITY
Definition openswmm_forcing.h:90
@ SWMM_FORCE_LINK_SETTING
Definition openswmm_forcing.h:92
@ SWMM_FORCE_SUBCATCH_EVAP
Definition openswmm_forcing.h:94
@ SWMM_FORCE_LINK_FLOW
Definition openswmm_forcing.h:91
@ SWMM_FORCE_GAGE_RAINFALL
Definition openswmm_forcing.h:95
@ SWMM_FORCE_SUBCATCH_RAINFALL
Definition openswmm_forcing.h:93
@ SWMM_FORCE_NODE_LAT_INFLOW
Definition openswmm_forcing.h:88