OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_quality.h
Go to the documentation of this file.
1
17#ifndef OPENSWMM_QUALITY_H
18#define OPENSWMM_QUALITY_H
19
20#include "openswmm_engine.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/* =========================================================================
27 * Landuse API
28 * ========================================================================= */
29
32
34SWMM_ENGINE_API int swmm_landuse_index(SWMM_Engine engine, const char* id);
35
37SWMM_ENGINE_API const char* swmm_landuse_id (SWMM_Engine engine, int idx);
38
40SWMM_ENGINE_API int swmm_landuse_add(SWMM_Engine engine, const char* id);
41
43SWMM_ENGINE_API int swmm_landuse_set_sweep_interval(SWMM_Engine engine, int idx, double days);
44
46SWMM_ENGINE_API int swmm_landuse_get_sweep_interval(SWMM_Engine engine, int idx, double* days);
47
49SWMM_ENGINE_API int swmm_landuse_set_sweep_removal(SWMM_Engine engine, int idx, double frac);
50
52SWMM_ENGINE_API int swmm_landuse_get_sweep_removal(SWMM_Engine engine, int idx, double* frac);
53
54/* =========================================================================
55 * Buildup API — indexed by (landuse_idx, pollutant_idx)
56 * ========================================================================= */
57
70SWMM_ENGINE_API int swmm_buildup_set(SWMM_Engine engine, int lu_idx, int pollut_idx,
71 int func_type, double c1, double c2, double c3,
72 int normalizer);
73
87SWMM_ENGINE_API int swmm_buildup_get(SWMM_Engine engine, int lu_idx, int pollut_idx,
88 int* func_type, double* c1, double* c2, double* c3,
89 int* normalizer);
90
91/* =========================================================================
92 * Washoff API — indexed by (landuse_idx, pollutant_idx)
93 * ========================================================================= */
94
107SWMM_ENGINE_API int swmm_washoff_set(SWMM_Engine engine, int lu_idx, int pollut_idx,
108 int func_type, double coeff, double expon,
109 double sweep_effic, double bmp_effic);
110
124SWMM_ENGINE_API int swmm_washoff_get(SWMM_Engine engine, int lu_idx, int pollut_idx,
125 int* func_type, double* coeff, double* expon,
126 double* sweep_effic, double* bmp_effic);
127
128/* =========================================================================
129 * Treatment API — indexed by (node_idx, pollutant_idx)
130 * ========================================================================= */
131
140SWMM_ENGINE_API int swmm_treatment_set(SWMM_Engine engine, int node_idx, int pollut_idx,
141 const char* expression);
142
152SWMM_ENGINE_API int swmm_treatment_get(SWMM_Engine engine, int node_idx, int pollut_idx,
153 char* buf, int buflen);
154
163SWMM_ENGINE_API int swmm_treatment_clear(SWMM_Engine engine, int node_idx, int pollut_idx);
164
165#ifdef __cplusplus
166} /* extern "C" */
167#endif
168
169#endif /* OPENSWMM_QUALITY_H */
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
OpenSWMM Engine — primary transparent C API (master header).
#define SWMM_ENGINE_API
Definition openswmm_engine.h:87
SWMM_ENGINE_API int swmm_landuse_get_sweep_removal(SWMM_Engine engine, int idx, double *frac)
Get sweep removal fraction (0-1).
Definition openswmm_quality_impl.cpp:101
SWMM_ENGINE_API int swmm_landuse_count(SWMM_Engine engine)
Number of land uses defined.
Definition openswmm_quality_impl.cpp:22
SWMM_ENGINE_API int swmm_landuse_set_sweep_removal(SWMM_Engine engine, int idx, double frac)
Set sweep removal fraction (0-1).
Definition openswmm_quality_impl.cpp:93
SWMM_ENGINE_API int swmm_washoff_get(SWMM_Engine engine, int lu_idx, int pollut_idx, int *func_type, double *coeff, double *expon, double *sweep_effic, double *bmp_effic)
Get washoff function parameters for a (landuse, pollutant) pair.
Definition openswmm_quality_impl.cpp:189
SWMM_ENGINE_API int swmm_landuse_add(SWMM_Engine engine, const char *id)
Add a new land use (BUILDING state only).
Definition openswmm_quality_impl.cpp:43
SWMM_ENGINE_API int swmm_buildup_get(SWMM_Engine engine, int lu_idx, int pollut_idx, int *func_type, double *c1, double *c2, double *c3, int *normalizer)
Get buildup function parameters for a (landuse, pollutant) pair.
Definition openswmm_quality_impl.cpp:138
SWMM_ENGINE_API int swmm_landuse_index(SWMM_Engine engine, const char *id)
Look up a land use by name. Returns -1 if not found.
Definition openswmm_quality_impl.cpp:27
SWMM_ENGINE_API int swmm_treatment_clear(SWMM_Engine engine, int node_idx, int pollut_idx)
Clear a treatment expression for a (node, pollutant) pair.
Definition openswmm_quality_impl.cpp:259
SWMM_ENGINE_API int swmm_landuse_get_sweep_interval(SWMM_Engine engine, int idx, double *days)
Get sweep interval (days between street sweeps).
Definition openswmm_quality_impl.cpp:85
SWMM_ENGINE_API int swmm_buildup_set(SWMM_Engine engine, int lu_idx, int pollut_idx, int func_type, double c1, double c2, double c3, int normalizer)
Set buildup function parameters for a (landuse, pollutant) pair.
Definition openswmm_quality_impl.cpp:113
SWMM_ENGINE_API int swmm_landuse_set_sweep_interval(SWMM_Engine engine, int idx, double days)
Set sweep interval (days between street sweeps).
Definition openswmm_quality_impl.cpp:77
SWMM_ENGINE_API int swmm_washoff_set(SWMM_Engine engine, int lu_idx, int pollut_idx, int func_type, double coeff, double expon, double sweep_effic, double bmp_effic)
Set washoff function parameters for a (landuse, pollutant) pair.
Definition openswmm_quality_impl.cpp:164
SWMM_ENGINE_API const char * swmm_landuse_id(SWMM_Engine engine, int idx)
Return the name of a land use by index. Returns NULL on error.
Definition openswmm_quality_impl.cpp:32
SWMM_ENGINE_API int swmm_treatment_set(SWMM_Engine engine, int node_idx, int pollut_idx, const char *expression)
Set a treatment expression for a (node, pollutant) pair.
Definition openswmm_quality_impl.cpp:215
SWMM_ENGINE_API int swmm_treatment_get(SWMM_Engine engine, int node_idx, int pollut_idx, char *buf, int buflen)
Get a treatment expression for a (node, pollutant) pair.
Definition openswmm_quality_impl.cpp:236