OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm_transport_impl.cpp File Reference

E6 — ARD transport configuration surface. See the header for the read-only-rows decision and its reason. More...

#include "openswmm_api_common.hpp"
#include "../../../include/openswmm/engine/openswmm_transport.h"
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
Include dependency graph for openswmm_transport_impl.cpp:

Functions

SWMM_ENGINE_API int swmm_transport_get_configured (SWMM_Engine engine, int *configured)
 1 if a transport.ard component is configured on the model.
 
SWMM_ENGINE_API int swmm_transport_get_dispersion_mode (SWMM_Engine engine, int *mode)
 The dispersion mode (SWMM_TransportDispersionMode).
 
SWMM_ENGINE_API int swmm_transport_set_dispersion_mode (SWMM_Engine engine, int mode)
 Set the dispersion mode.
 
SWMM_ENGINE_API int swmm_transport_get_dispersion_value (SWMM_Engine engine, double *value)
 VALUE-mode coefficient, display units (ft²/s or m²/s).
 
SWMM_ENGINE_API int swmm_transport_set_dispersion_value (SWMM_Engine engine, double value)
 Set the VALUE-mode coefficient (must be >= 0 and finite).
 
SWMM_ENGINE_API int swmm_transport_get_target_dx (SWMM_Engine engine, double *dx)
 TARGET_DX, display length units; 0 means engine default.
 
SWMM_ENGINE_API int swmm_transport_set_target_dx (SWMM_Engine engine, double dx)
 Set TARGET_DX (must be >= 0 and finite; 0 restores default).
 
SWMM_ENGINE_API int swmm_transport_conduit_disp_count (SWMM_Engine engine, int *count)
 Number of per-conduit dispersion override rows.
 
SWMM_ENGINE_API int swmm_transport_get_conduit_disp (SWMM_Engine engine, int index, int *link_index, double *value)
 Override row index: link index + coefficient (display units).
 
SWMM_ENGINE_API int swmm_transport_boundary_count (SWMM_Engine engine, int *count)
 Number of [TRANSPORT_BOUNDARIES] rows (raw, as configured).
 
SWMM_ENGINE_API int swmm_transport_get_boundary (SWMM_Engine engine, int index, char *element, int elem_len, char *species, int spec_len, int *is_ts, double *value, char *ts_name, int ts_len)
 Read boundary row index.
 
SWMM_ENGINE_API int swmm_transport_source_count (SWMM_Engine engine, int *count)
 Number of [TRANSPORT_SOURCES] rows (raw, as configured).
 
SWMM_ENGINE_API int swmm_transport_get_source (SWMM_Engine engine, int index, char *element, int elem_len, char *species, int spec_len, int *is_ts, double *value, char *ts_name, int ts_len)
 Read source row index. Same contract as the boundary reader; value is the VALUE-mode mass rate (species mass units per second; negative = extraction, D-NS1).
 

Detailed Description

E6 — ARD transport configuration surface. See the header for the read-only-rows decision and its reason.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0

Function Documentation

◆ swmm_transport_boundary_count()

SWMM_ENGINE_API int swmm_transport_boundary_count ( SWMM_Engine engine,
int * count )

Number of [TRANSPORT_BOUNDARIES] rows (raw, as configured).

◆ swmm_transport_conduit_disp_count()

SWMM_ENGINE_API int swmm_transport_conduit_disp_count ( SWMM_Engine engine,
int * count )

Number of per-conduit dispersion override rows.

◆ swmm_transport_get_boundary()

SWMM_ENGINE_API int swmm_transport_get_boundary ( SWMM_Engine engine,
int index,
char * element,
int elem_len,
char * species,
int spec_len,
int * is_ts,
double * value,
char * ts_name,
int ts_len )

Read boundary row index.

Parameters
elementNode name buffer (may be NULL to skip).
elem_lenIts capacity, including the terminator.
speciesSpecies name buffer (may be NULL).
spec_lenIts capacity.
is_ts1 if TIMESERIES mode. The series name is returned in ts_name when set; value is the VALUE-mode concentration otherwise (species units).

◆ swmm_transport_get_conduit_disp()

SWMM_ENGINE_API int swmm_transport_get_conduit_disp ( SWMM_Engine engine,
int index,
int * link_index,
double * value )

Override row index: link index + coefficient (display units).

◆ swmm_transport_get_configured()

SWMM_ENGINE_API int swmm_transport_get_configured ( SWMM_Engine engine,
int * configured )

1 if a transport.ard component is configured on the model.

◆ swmm_transport_get_dispersion_mode()

SWMM_ENGINE_API int swmm_transport_get_dispersion_mode ( SWMM_Engine engine,
int * mode )

The dispersion mode (SWMM_TransportDispersionMode).

◆ swmm_transport_get_dispersion_value()

SWMM_ENGINE_API int swmm_transport_get_dispersion_value ( SWMM_Engine engine,
double * value )

VALUE-mode coefficient, display units (ft²/s or m²/s).

◆ swmm_transport_get_source()

SWMM_ENGINE_API int swmm_transport_get_source ( SWMM_Engine engine,
int index,
char * element,
int elem_len,
char * species,
int spec_len,
int * is_ts,
double * value,
char * ts_name,
int ts_len )

Read source row index. Same contract as the boundary reader; value is the VALUE-mode mass rate (species mass units per second; negative = extraction, D-NS1).

◆ swmm_transport_get_target_dx()

SWMM_ENGINE_API int swmm_transport_get_target_dx ( SWMM_Engine engine,
double * dx )

TARGET_DX, display length units; 0 means engine default.

◆ swmm_transport_set_dispersion_mode()

SWMM_ENGINE_API int swmm_transport_set_dispersion_mode ( SWMM_Engine engine,
int mode )

Set the dispersion mode.

Setting VALUE without a coefficient leaves the previous coefficient in force — set both. Marks the config present.

◆ swmm_transport_set_dispersion_value()

SWMM_ENGINE_API int swmm_transport_set_dispersion_value ( SWMM_Engine engine,
double value )

Set the VALUE-mode coefficient (must be >= 0 and finite).

◆ swmm_transport_set_target_dx()

SWMM_ENGINE_API int swmm_transport_set_target_dx ( SWMM_Engine engine,
double dx )

Set TARGET_DX (must be >= 0 and finite; 0 restores default).

◆ swmm_transport_source_count()

SWMM_ENGINE_API int swmm_transport_source_count ( SWMM_Engine engine,
int * count )

Number of [TRANSPORT_SOURCES] rows (raw, as configured).