OpenSWMM Engine  6.0.0-alpha.3
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.3)
Loading...
Searching...
No Matches
openswmm_pollutants.h
Go to the documentation of this file.
1
15
16#ifndef OPENSWMM_POLLUTANTS_H
17#define OPENSWMM_POLLUTANTS_H
18
19#include "openswmm_engine.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/* =========================================================================
26 * Identity
27 * ========================================================================= */
28
35
42SWMM_ENGINE_API int swmm_pollutant_index(SWMM_Engine engine, const char* id);
43
50SWMM_ENGINE_API const char* swmm_pollutant_id(SWMM_Engine engine, int idx);
51
52/* =========================================================================
53 * Creation (BUILDING state only)
54 * ========================================================================= */
55
63SWMM_ENGINE_API int swmm_pollutant_add(SWMM_Engine engine, const char* id, int units);
64
65/* =========================================================================
66 * Property setters (BUILDING or OPENED)
67 * ========================================================================= */
68
85SWMM_ENGINE_API int swmm_pollutant_set_units(SWMM_Engine engine, int idx, int units);
86
94SWMM_ENGINE_API int swmm_pollutant_set_kdecay(SWMM_Engine engine, int idx, double k);
95
103SWMM_ENGINE_API int swmm_pollutant_set_rain_conc(SWMM_Engine engine, int idx, double conc);
104
112SWMM_ENGINE_API int swmm_pollutant_set_gw_conc(SWMM_Engine engine, int idx, double conc);
113
121SWMM_ENGINE_API int swmm_pollutant_set_init_conc(SWMM_Engine engine, int idx, double conc);
122
130SWMM_ENGINE_API int swmm_pollutant_get_units(SWMM_Engine engine, int idx, int* units);
131
132/* =========================================================================
133 * Property getters
134 * ========================================================================= */
135
143SWMM_ENGINE_API int swmm_pollutant_get_kdecay(SWMM_Engine engine, int idx, double* k);
144
152SWMM_ENGINE_API int swmm_pollutant_get_rain_conc(SWMM_Engine engine, int idx, double* conc);
153
161SWMM_ENGINE_API int swmm_pollutant_get_gw_conc(SWMM_Engine engine, int idx, double* conc);
162
170SWMM_ENGINE_API int swmm_pollutant_get_init_conc(SWMM_Engine engine, int idx, double* conc);
171
179SWMM_ENGINE_API int swmm_pollutant_set_rdii_conc(SWMM_Engine engine, int idx, double conc);
180
188SWMM_ENGINE_API int swmm_pollutant_get_rdii_conc(SWMM_Engine engine, int idx, double* conc);
189
199SWMM_ENGINE_API int swmm_pollutant_set_dwf_conc(SWMM_Engine engine, int idx, double conc);
200
208SWMM_ENGINE_API int swmm_pollutant_get_dwf_conc(SWMM_Engine engine, int idx, double* conc);
209
217SWMM_ENGINE_API int swmm_pollutant_set_mwt(SWMM_Engine engine, int idx, double mwt);
218
226SWMM_ENGINE_API int swmm_pollutant_get_mwt(SWMM_Engine engine, int idx, double* mwt);
227
236SWMM_ENGINE_API int swmm_pollutant_set_co_pollutant(SWMM_Engine engine, int idx, int co_idx, double frac);
237
246SWMM_ENGINE_API int swmm_pollutant_get_co_pollutant(SWMM_Engine engine, int idx, int* co_idx, double* frac);
247
255SWMM_ENGINE_API int swmm_pollutant_set_snow_only(SWMM_Engine engine, int idx, int flag);
256
264SWMM_ENGINE_API int swmm_pollutant_get_snow_only(SWMM_Engine engine, int idx, int* flag);
265
266/* =========================================================================
267 * Runtime quality injection
268 * ========================================================================= */
269
278SWMM_ENGINE_API int swmm_node_set_quality(SWMM_Engine engine, int node_idx, int pollut_idx, double conc);
279
288SWMM_ENGINE_API int swmm_link_set_quality(SWMM_Engine engine, int link_idx, int pollut_idx, double conc);
289
290#ifdef __cplusplus
291} /* extern "C" */
292#endif
293
294#endif /* OPENSWMM_POLLUTANTS_H */
#define SWMM_ENGINE_API
Definition openswmm_2d.h:37
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_pollutant_get_dwf_conc(SWMM_Engine engine, int idx, double *conc)
Get the default dry weather sanitary flow concentration.
Definition openswmm_pollutants_impl.cpp:190
SWMM_ENGINE_API int swmm_pollutant_count(SWMM_Engine engine)
Get the total number of pollutants in the model.
Definition openswmm_pollutants_impl.cpp:22
SWMM_ENGINE_API int swmm_pollutant_set_gw_conc(SWMM_Engine engine, int idx, double conc)
Set the pollutant concentration in groundwater.
Definition openswmm_pollutants_impl.cpp:88
SWMM_ENGINE_API int swmm_pollutant_set_kdecay(SWMM_Engine engine, int idx, double k)
Set the first-order decay coefficient for a pollutant.
Definition openswmm_pollutants_impl.cpp:72
SWMM_ENGINE_API int swmm_pollutant_set_mwt(SWMM_Engine engine, int idx, double mwt)
Set the molecular weight of a pollutant.
Definition openswmm_pollutants_impl.cpp:198
SWMM_ENGINE_API int swmm_pollutant_index(SWMM_Engine engine, const char *id)
Look up a pollutant's zero-based index by its string identifier.
Definition openswmm_pollutants_impl.cpp:27
SWMM_ENGINE_API int swmm_pollutant_set_co_pollutant(SWMM_Engine engine, int idx, int co_idx, double frac)
Set a co-pollutant relationship (concentration = fraction * co-pollutant).
Definition openswmm_pollutants_impl.cpp:214
SWMM_ENGINE_API int swmm_pollutant_get_units(SWMM_Engine engine, int idx, int *units)
Get the concentration units code for a pollutant.
Definition openswmm_pollutants_impl.cpp:122
SWMM_ENGINE_API int swmm_pollutant_add(SWMM_Engine engine, const char *id, int units)
Add a new pollutant to the model.
Definition openswmm_pollutants_impl.cpp:43
SWMM_ENGINE_API int swmm_link_set_quality(SWMM_Engine engine, int link_idx, int pollut_idx, double conc)
Set the pollutant concentration in a link (runtime override).
Definition openswmm_pollutants_impl.cpp:262
SWMM_ENGINE_API int swmm_pollutant_set_init_conc(SWMM_Engine engine, int idx, double conc)
Set the initial concentration throughout the conveyance system.
Definition openswmm_pollutants_impl.cpp:96
SWMM_ENGINE_API int swmm_pollutant_get_rdii_conc(SWMM_Engine engine, int idx, double *conc)
Get the RDII concentration.
Definition openswmm_pollutants_impl.cpp:174
SWMM_ENGINE_API int swmm_pollutant_set_rdii_conc(SWMM_Engine engine, int idx, double conc)
Set the RDII (Rainfall-Dependent Infiltration/Inflow) concentration.
Definition openswmm_pollutants_impl.cpp:166
SWMM_ENGINE_API const char * swmm_pollutant_id(SWMM_Engine engine, int idx)
Get the string identifier of a pollutant by index.
Definition openswmm_pollutants_impl.cpp:32
SWMM_ENGINE_API int swmm_pollutant_set_dwf_conc(SWMM_Engine engine, int idx, double conc)
Set the default dry weather sanitary flow concentration.
Definition openswmm_pollutants_impl.cpp:182
SWMM_ENGINE_API int swmm_pollutant_get_init_conc(SWMM_Engine engine, int idx, double *conc)
Get the initial concentration throughout the conveyance system.
Definition openswmm_pollutants_impl.cpp:158
SWMM_ENGINE_API int swmm_pollutant_get_mwt(SWMM_Engine engine, int idx, double *mwt)
Get the molecular weight of a pollutant.
Definition openswmm_pollutants_impl.cpp:206
SWMM_ENGINE_API int swmm_pollutant_get_rain_conc(SWMM_Engine engine, int idx, double *conc)
Get the pollutant concentration in rainfall.
Definition openswmm_pollutants_impl.cpp:142
SWMM_ENGINE_API int swmm_pollutant_set_snow_only(SWMM_Engine engine, int idx, int flag)
Set whether a pollutant only builds up during snowfall events.
Definition openswmm_pollutants_impl.cpp:232
SWMM_ENGINE_API int swmm_pollutant_get_gw_conc(SWMM_Engine engine, int idx, double *conc)
Get the pollutant concentration in groundwater.
Definition openswmm_pollutants_impl.cpp:150
SWMM_ENGINE_API int swmm_pollutant_get_snow_only(SWMM_Engine engine, int idx, int *flag)
Get whether a pollutant only builds up during snowfall events.
Definition openswmm_pollutants_impl.cpp:240
SWMM_ENGINE_API int swmm_pollutant_set_rain_conc(SWMM_Engine engine, int idx, double conc)
Set the pollutant concentration in rainfall.
Definition openswmm_pollutants_impl.cpp:80
SWMM_ENGINE_API int swmm_pollutant_get_kdecay(SWMM_Engine engine, int idx, double *k)
Get the first-order decay coefficient.
Definition openswmm_pollutants_impl.cpp:134
SWMM_ENGINE_API int swmm_node_set_quality(SWMM_Engine engine, int node_idx, int pollut_idx, double conc)
Set the pollutant concentration at a node (runtime override).
Definition openswmm_pollutants_impl.cpp:252
SWMM_ENGINE_API int swmm_pollutant_get_co_pollutant(SWMM_Engine engine, int idx, int *co_idx, double *frac)
Get a co-pollutant relationship.
Definition openswmm_pollutants_impl.cpp:223
SWMM_ENGINE_API int swmm_pollutant_set_units(SWMM_Engine engine, int idx, int units)
Change the concentration units of an existing pollutant.
Definition openswmm_pollutants_impl.cpp:108