32#ifndef OPENSWMM_INFRASTRUCTURE_H
33#define OPENSWMM_INFRASTRUCTURE_H
74 double n_right,
double n_channel);
152 double* n_right,
double* n_channel);
214 double x_left,
double x_right);
230 double* x_left,
double* x_right);
258 double y_factor,
double length_factor);
275 double* y_factor,
double* length_factor);
338 double* station,
double* elevation);
460 double h_curb,
double sx,
double n_road,
461 double gutter_depres,
double gutter_width,
int sides,
462 double back_width,
double back_slope,
double back_n);
528 double* h_curb,
double* sx,
double* n_road,
529 double* gutter_depres,
double* gutter_width,
int* sides,
530 double* back_width,
double* back_slope,
double* back_n);
588 const char* grate_type,
double open_area,
589 double splash_veloc);
654 double* width,
char* grate_type,
int grate_buflen,
655 double* open_area,
double* splash_veloc);
1044 int treatment_count);
1075 int treatment_count,
1131 double* saturation);
1292 double* bottom,
double* top,
double* moisture);
1310 double* pressure,
double* head,
double* water);
1370 double roughness,
double slope);
1393 double fc,
double wp,
double ksat,
double kslope);
1413 double void_frac,
double ksat);
1496 double void_ratio,
double frac_imperv,
double ksat,
1497 double clog_factor,
double regen_days);
1522 double void_frac,
double roughness);
1587 double* roughness,
double* slope);
1607 double* fc,
double* wp,
double* ksat,
double* kslope);
1625 double* void_frac,
double* ksat);
1662 double* void_ratio,
double* frac_imperv,
double* ksat,
1663 double* clog_factor,
double* regen_days);
1681 double* void_frac,
double* roughness);
1712 int number,
double area,
double width,
double init_sat,
1713 double from_imperv);
1747 int* lid_idx,
int* number,
double* area,
double* width,
1748 double* init_sat,
double* from_imperv,
int* to_perv,
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:55
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_transect_get_bank_stations(SWMM_Engine engine, int idx, double *x_left, double *x_right)
Get the left and right bank stations for a transect.
Definition openswmm_infrastructure_impl.cpp:161
SWMM_ENGINE_API int swmm_lid_node_bottom_state_get(SWMM_Engine engine, int node, SWMM_LidBottomState *out)
Read the last accepted LID-to-mesh exchange diagnostics without advancing time.
Definition openswmm_lid_nodes_impl.cpp:496
SWMM_ENGINE_API int swmm_transect_add_station(SWMM_Engine engine, int idx, double station, double elevation)
Add a station–elevation data point to a transect.
Definition openswmm_infrastructure_impl.cpp:93
SWMM_ENGINE_API int swmm_transect_get_roughness(SWMM_Engine engine, int idx, double *n_left, double *n_right, double *n_channel)
Get the Manning's roughness values for a transect.
Definition openswmm_infrastructure_impl.cpp:135
SWMM_GrateType
Definition openswmm_infrastructure.h:691
@ SWMM_GRATE_P_BAR_30
Definition openswmm_infrastructure.h:694
@ SWMM_GRATE_P_BAR_50
Definition openswmm_infrastructure.h:692
@ SWMM_GRATE_P_BAR_50x100
Definition openswmm_infrastructure.h:693
@ SWMM_GRATE_TILT_BAR_45
Definition openswmm_infrastructure.h:696
@ SWMM_GRATE_GENERIC
Definition openswmm_infrastructure.h:699
@ SWMM_GRATE_TILT_BAR_30
Definition openswmm_infrastructure.h:697
@ SWMM_GRATE_RETICULINE
Definition openswmm_infrastructure.h:698
@ SWMM_GRATE_CURVED_VANE
Definition openswmm_infrastructure.h:695
SWMM_ENGINE_API int swmm_lid_get_pavement(SWMM_Engine engine, int idx, double *thick, double *void_ratio, double *frac_imperv, double *ksat, double *clog_factor, double *regen_days)
Read the stored pavement layer parameters.
Definition openswmm_infrastructure_impl.cpp:1438
SWMM_ThroatType
Definition openswmm_infrastructure.h:703
@ SWMM_THROAT_VERTICAL
Definition openswmm_infrastructure.h:706
@ SWMM_THROAT_HORIZONTAL
Definition openswmm_infrastructure.h:704
@ SWMM_THROAT_INCLINED
Definition openswmm_infrastructure.h:705
SWMM_ENGINE_API int swmm_inlet_index(SWMM_Engine engine, const char *id)
Look up an inlet's zero-based index by its string identifier.
Definition openswmm_infrastructure_impl.cpp:573
SWMM_ENGINE_API int swmm_lid_get_surface(SWMM_Engine engine, int idx, double *storage, double *roughness, double *slope)
Read the stored surface layer parameters.
Definition openswmm_infrastructure_impl.cpp:1372
SWMM_ENGINE_API int swmm_transect_index(SWMM_Engine engine, const char *id)
Look up a transect's zero-based index by its string identifier.
Definition openswmm_infrastructure_impl.cpp:110
SWMM_ENGINE_API int swmm_lid_get_removal(SWMM_Engine engine, int idx, int constituent, double *percent)
Read a constituent underdrain-removal percentage.
Definition openswmm_infrastructure_impl.cpp:1191
SWMM_InletHostKind
Definition openswmm_infrastructure.h:814
@ SWMM_INLET_HOST_LINK
Definition openswmm_infrastructure.h:814
@ SWMM_INLET_HOST_NODE
Definition openswmm_infrastructure.h:814
SWMM_ENGINE_API int swmm_node_get_lid_bottom(SWMM_Engine engine, int node, int *mode)
Read a node's bottom exchange ownership mode.
Definition openswmm_lid_nodes_impl.cpp:325
SWMM_ENGINE_API int swmm_inlet_get_comment(SWMM_Engine engine, int idx, char *buf, int buflen)
Copy an inlet design comment.
Definition openswmm_infrastructure_impl.cpp:843
SWMM_ENGINE_API int swmm_transect_rename(SWMM_Engine engine, int idx, const char *new_id)
Rename an existing transect.
Definition openswmm_infrastructure_impl.cpp:284
SWMM_ENGINE_API int swmm_lid_index(SWMM_Engine engine, const char *id)
Look up a LID control's zero-based index by its string identifier.
Definition openswmm_infrastructure_impl.cpp:1337
SWMM_ENGINE_API int swmm_lid_count(SWMM_Engine engine)
Get the total number of LID controls in the model.
Definition openswmm_infrastructure_impl.cpp:1331
SWMM_ENGINE_API int swmm_lid_set_pavement(SWMM_Engine engine, int idx, double thick, double void_ratio, double frac_imperv, double ksat, double clog_factor, double regen_days)
Set the porous-pavement layer properties for a LID control.
Definition openswmm_infrastructure_impl.cpp:1279
SWMM_ENGINE_API int swmm_lid_set_drain(SWMM_Engine engine, int idx, double coeff, double expon, double offset)
Set the underdrain properties for a LID control.
Definition openswmm_infrastructure_impl.cpp:1165
SWMM_ENGINE_API int swmm_lid_node_outlet_get(SWMM_Engine engine, int link, int *layer, int *top)
Read a link's LID layer anchor.
Definition openswmm_lid_nodes_impl.cpp:368
SWMM_ENGINE_API int swmm_inlet_usage_find_node(SWMM_Engine engine, int node_idx)
Find the first inlet-usage row hosted by a node.
Definition openswmm_infrastructure_impl.cpp:874
SWMM_ENGINE_API int swmm_transect_set_bank_stations(SWMM_Engine engine, int idx, double x_left, double x_right)
Set the left and right bank stations for a transect.
Definition openswmm_infrastructure_impl.cpp:150
SWMM_ENGINE_API int swmm_transect_set_modifiers(SWMM_Engine engine, int idx, double x_factor, double y_factor, double length_factor)
Set the station, elevation, and meander modifiers for a transect.
Definition openswmm_infrastructure_impl.cpp:198
SWMM_ENGINE_API int swmm_lid_node_outlet_set(SWMM_Engine engine, int link, int layer, int top)
Set or remove a link's LID layer anchor.
Definition openswmm_lid_nodes_impl.cpp:384
SWMM_ENGINE_API int swmm_transect_get_encroachment_stations(SWMM_Engine engine, int idx, double *x_left, double *x_right)
Get the left and right encroachment stations for a transect (BQ-TR-02).
Definition openswmm_infrastructure_impl.cpp:185
SWMM_ENGINE_API int swmm_transect_set_roughness(SWMM_Engine engine, int idx, double n_left, double n_right, double n_channel)
Set Manning's roughness for left overbank, right overbank, and channel.
Definition openswmm_infrastructure_impl.cpp:81
SWMM_ENGINE_API int swmm_transect_set_encroachment_stations(SWMM_Engine engine, int idx, double x_left, double x_right)
Set the left and right encroachment stations for a transect (BQ-TR-02).
Definition openswmm_infrastructure_impl.cpp:174
SWMM_ENGINE_API int swmm_inlet_set_params(SWMM_Engine engine, int idx, double length, double width, const char *grate_type, double open_area, double splash_veloc)
Set the geometric parameters for an inlet.
Definition openswmm_infrastructure_impl.cpp:545
SWMM_ENGINE_API int swmm_transect_set_comments(SWMM_Engine engine, int idx, const char *text)
Set the free-form comments / description for a transect.
Definition openswmm_infrastructure_impl.cpp:225
SWMM_ENGINE_API int swmm_lid_set_surface(SWMM_Engine engine, int idx, double storage, double roughness, double slope)
Set the surface layer properties for a LID control.
Definition openswmm_infrastructure_impl.cpp:1077
SWMM_ENGINE_API int swmm_inlet_get_design(SWMM_Engine engine, int idx, SWMM_InletDesign *out)
Read every field of an inlet design.
Definition openswmm_infrastructure_impl.cpp:697
SWMM_ENGINE_API const char * swmm_street_id(SWMM_Engine engine, int idx)
Get the string identifier of a street by index.
Definition openswmm_infrastructure_impl.cpp:445
SWMM_ENGINE_API int swmm_transect_get_modifiers(SWMM_Engine engine, int idx, double *x_factor, double *y_factor, double *length_factor)
Get the station, elevation, and meander modifiers for a transect.
Definition openswmm_infrastructure_impl.cpp:210
SWMM_ENGINE_API int swmm_transect_count(SWMM_Engine engine)
Get the total number of transects in the model.
Definition openswmm_infrastructure_impl.cpp:104
SWMM_ENGINE_API int swmm_lid_node_treatment_count(SWMM_Engine engine, int control)
Count per-layer treatment rows flattened top-to-bottom.
Definition openswmm_lid_nodes_impl.cpp:111
SWMM_InletCurveKind
Definition openswmm_infrastructure.h:710
@ SWMM_INLET_CURVE_NONE
Definition openswmm_infrastructure.h:711
@ SWMM_INLET_CURVE_RATING
Definition openswmm_infrastructure.h:713
@ SWMM_INLET_CURVE_DIVERSION
Definition openswmm_infrastructure.h:712
SWMM_ENGINE_API int swmm_lid_get_drainmat(SWMM_Engine engine, int idx, double *thick, double *void_frac, double *roughness)
Read the stored drainmat layer parameters.
Definition openswmm_infrastructure_impl.cpp:1460
SWMM_ENGINE_API int swmm_lid_get_type(SWMM_Engine engine, int idx, int *type)
Read a LID control's type code. Inverse of the type argument to swmm_lid_add.
Definition openswmm_infrastructure_impl.cpp:1363
SWMM_ENGINE_API int swmm_street_count(SWMM_Engine engine)
Get the total number of street definitions in the model.
Definition openswmm_infrastructure_impl.cpp:427
SWMM_ENGINE_API int swmm_lid_richards_statistics_get(SWMM_Engine engine, int node, SWMM_LidRichardsStatistics *out)
Read the last stored Richards adaptive-solver report.
Definition openswmm_lid_nodes_impl.cpp:480
SWMM_ENGINE_API int swmm_transect_get_station(SWMM_Engine engine, int idx, int station_idx, double *station, double *elevation)
Get a single station–elevation pair from a transect.
Definition openswmm_infrastructure_impl.cpp:257
SWMM_ENGINE_API int swmm_inlet_get_params(SWMM_Engine engine, int idx, double *length, double *width, char *grate_type, int grate_buflen, double *open_area, double *splash_veloc)
Read an inlet's geometric parameters. Inverse of swmm_inlet_set_params.
Definition openswmm_infrastructure_impl.cpp:616
SWMM_ENGINE_API int swmm_lid_node_treatment_get(SWMM_Engine engine, int control, int row, SWMM_LidLayerTreatment *out)
Read a flattened per-layer treatment row.
Definition openswmm_lid_nodes_impl.cpp:122
SWMM_ENGINE_API int swmm_lid_node_configure_flow(SWMM_Engine engine, int control, const SWMM_LidNodeLayer *layers, int count, const SWMM_LidLayerTreatment *treatment, int treatment_count, const SWMM_LidRichardsOptions *options, const SWMM_LidRichardsMaterial *material)
Atomically configure a NODE control stack, treatment and flow formulation.
Definition openswmm_lid_nodes_impl.cpp:220
SWMM_ENGINE_API int swmm_street_rename(SWMM_Engine engine, int idx, const char *new_id)
Rename a street cross-section in place.
Definition openswmm_infrastructure_impl.cpp:362
SWMM_ENGINE_API int swmm_lid_usage_count(SWMM_Engine engine)
Count LID-usage rows across all subcatchments.
Definition openswmm_infrastructure_impl.cpp:1508
SWMM_ENGINE_API int swmm_inlet_usage_remove(SWMM_Engine engine, int usage_idx)
Remove an inlet-usage row and shift later row indices.
Definition openswmm_infrastructure_impl.cpp:972
SWMM_ENGINE_API int swmm_street_add(SWMM_Engine engine, const char *id)
Add a new street cross-section definition.
Definition openswmm_infrastructure_impl.cpp:339
SWMM_ENGINE_API int swmm_lid_usage_remove(SWMM_Engine engine, int usage_idx)
Erase a subcatchment LID-usage row and shift later indices.
Definition openswmm_infrastructure_impl.cpp:1546
SWMM_LidNodeLayerKind
Definition openswmm_infrastructure.h:937
@ SWMM_LID_NODE_MEDIA
Definition openswmm_infrastructure.h:939
@ SWMM_LID_NODE_BOTTOM
Definition openswmm_infrastructure.h:941
@ SWMM_LID_NODE_SURFACE
Definition openswmm_infrastructure.h:938
@ SWMM_LID_NODE_AGGREGATE
Definition openswmm_infrastructure.h:940
SWMM_ENGINE_API int swmm_lid_get_storage(SWMM_Engine engine, int idx, double *thick, double *void_frac, double *ksat)
Read the stored storage layer parameters.
Definition openswmm_infrastructure_impl.cpp:1408
SWMM_ENGINE_API int swmm_lid_usage_add(SWMM_Engine engine, int subcatch_idx, int lid_idx, int number, double area, double width, double init_sat, double from_imperv)
Assign a LID control to a subcatchment.
Definition openswmm_infrastructure_impl.cpp:1479
SWMM_ENGINE_API int swmm_lid_node_state_count(SWMM_Engine engine, int node)
Count initialized runtime profile cells.
Definition openswmm_lid_nodes_impl.cpp:422
SWMM_ENGINE_API int swmm_inlet_usage_find_link(SWMM_Engine engine, int link_idx)
Find the first inlet-usage row hosted by a link.
Definition openswmm_infrastructure_impl.cpp:868
SWMM_ENGINE_API int swmm_lid_set_removal(SWMM_Engine engine, int idx, int constituent, double percent)
Assign a constituent underdrain-removal percentage.
Definition openswmm_infrastructure_impl.cpp:1218
SWMM_ENGINE_API int swmm_lid_set_storage(SWMM_Engine engine, int idx, double thick, double void_frac, double ksat)
Set the storage layer properties for a LID control.
Definition openswmm_infrastructure_impl.cpp:1137
SWMM_ENGINE_API int swmm_inlet_usage_get(SWMM_Engine engine, int usage_idx, SWMM_InletUsage *out)
Read a complete inlet placement row.
Definition openswmm_infrastructure_impl.cpp:880
SWMM_ENGINE_API int swmm_inlet_count(SWMM_Engine engine)
Get the total number of inlet definitions in the model.
Definition openswmm_infrastructure_impl.cpp:567
SWMM_ENGINE_API int swmm_inlet_usage_set(SWMM_Engine engine, const SWMM_InletUsage *usage, int *usage_idx)
Validate and upsert one inlet placement per host.
Definition openswmm_infrastructure_impl.cpp:903
SWMM_ENGINE_API const char * swmm_lid_id(SWMM_Engine engine, int idx)
Get the string identifier of a LID control by index.
Definition openswmm_infrastructure_impl.cpp:1345
SWMM_ENGINE_API int swmm_inlet_set_design(SWMM_Engine engine, int idx, const SWMM_InletDesign *design)
Validate and replace the type-specific inlet design.
Definition openswmm_infrastructure_impl.cpp:735
SWMM_ENGINE_API int swmm_lid_add(SWMM_Engine engine, const char *id, int type)
Add a new LID (Low Impact Development) control.
Definition openswmm_infrastructure_impl.cpp:1018
SWMM_ENGINE_API int swmm_lid_node_layer_get(SWMM_Engine engine, int control, int row, SWMM_LidNodeLayer *out)
Read one authored or derived NODE layer.
Definition openswmm_lid_nodes_impl.cpp:41
SWMM_ENGINE_API int swmm_lid_rename(SWMM_Engine engine, int idx, const char *new_id)
Rename an LID control in place.
Definition openswmm_infrastructure_impl.cpp:1049
SWMM_ENGINE_API int swmm_street_get_params(SWMM_Engine engine, int idx, double *t_crown, double *h_curb, double *sx, double *n_road, double *gutter_depres, double *gutter_width, int *sides, double *back_width, double *back_slope, double *back_n)
Read back the geometric parameters of a street cross-section.
Definition openswmm_infrastructure_impl.cpp:454
SWMM_ENGINE_API int swmm_street_set_params(SWMM_Engine engine, int idx, double t_crown, double h_curb, double sx, double n_road, double gutter_depres, double gutter_width, int sides, double back_width, double back_slope, double back_n)
Set the geometric parameters for a street cross-section.
Definition openswmm_infrastructure_impl.cpp:404
SWMM_ENGINE_API int swmm_lid_node_configure(SWMM_Engine engine, int control, const SWMM_LidNodeLayer *layers, int count, const SWMM_LidLayerTreatment *treatment, int treatment_count)
Atomically configure a NODE control stack and treatment.
Definition openswmm_lid_nodes_impl.cpp:142
SWMM_InletType
Definition openswmm_infrastructure.h:680
@ SWMM_INLET_CUSTOM
Definition openswmm_infrastructure.h:687
@ SWMM_INLET_DROP_GRATE
Definition openswmm_infrastructure.h:685
@ SWMM_INLET_COMBO
Definition openswmm_infrastructure.h:683
@ SWMM_INLET_DROP_CURB
Definition openswmm_infrastructure.h:686
@ SWMM_INLET_SLOTTED
Definition openswmm_infrastructure.h:684
@ SWMM_INLET_CURB
Definition openswmm_infrastructure.h:682
@ SWMM_INLET_GRATE
Definition openswmm_infrastructure.h:681
SWMM_ENGINE_API int swmm_transect_get_comments(SWMM_Engine engine, int idx, char *buf, int buflen)
Get the free-form comments / description for a transect.
Definition openswmm_infrastructure_impl.cpp:234
SWMM_ENGINE_API int swmm_lid_get_drain(SWMM_Engine engine, int idx, double *coeff, double *expon, double *offset)
Read the stored drain layer parameters.
Definition openswmm_infrastructure_impl.cpp:1423
SWMM_ENGINE_API int swmm_transect_get_station_count(SWMM_Engine engine, int idx)
Get the number of station–elevation points stored for a transect.
Definition openswmm_infrastructure_impl.cpp:248
SWMM_ENGINE_API int swmm_inlet_set_comment(SWMM_Engine engine, int idx, const char *text)
Replace an inlet design comment.
Definition openswmm_infrastructure_impl.cpp:850
SWMM_ENGINE_API int swmm_inlet_add(SWMM_Engine engine, const char *id, const char *type)
Add a new inlet definition.
Definition openswmm_infrastructure_impl.cpp:491
SWMM_ENGINE_API int swmm_lid_richards_material_get(SWMM_Engine engine, int control, int row, SWMM_LidRichardsMaterial *out)
Read a control's Richards material.
Definition openswmm_lid_nodes_impl.cpp:207
SWMM_ENGINE_API int swmm_lid_node_layers_set(SWMM_Engine engine, int control, const SWMM_LidNodeLayer *rows, int count)
Replace NODE layers while preserving compatible treatment and flow settings.
Definition openswmm_lid_nodes_impl.cpp:54
SWMM_ENGINE_API int swmm_node_set_lid(SWMM_Engine engine, int node, int control, double saturation)
Assign or clear a storage-node LID and synchronize its geometry.
Definition openswmm_lid_nodes_impl.cpp:278
SWMM_ENGINE_API int swmm_transect_clear_stations(SWMM_Engine engine, int idx)
Remove all station–elevation pairs from a transect.
Definition openswmm_infrastructure_impl.cpp:274
SWMM_ENGINE_API int swmm_transect_add(SWMM_Engine engine, const char *id)
Add a new transect for irregular cross-sections.
Definition openswmm_infrastructure_impl.cpp:45
SWMM_ENGINE_API int swmm_lid_set_soil(SWMM_Engine engine, int idx, double thick, double porosity, double fc, double wp, double ksat, double kslope)
Set the soil layer properties for a LID control.
Definition openswmm_infrastructure_impl.cpp:1105
SWMM_ENGINE_API int swmm_lid_get_soil(SWMM_Engine engine, int idx, double *thick, double *porosity, double *fc, double *wp, double *ksat, double *kslope)
Read the stored soil layer parameters.
Definition openswmm_infrastructure_impl.cpp:1387
SWMM_ENGINE_API int swmm_lid_node_layer_count(SWMM_Engine engine, int control)
Count authored or derived stack layers, including a BOTTOM row when present.
Definition openswmm_lid_nodes_impl.cpp:33
SWMM_ENGINE_API const char * swmm_inlet_id(SWMM_Engine engine, int idx)
Get the string identifier of an inlet by index.
Definition openswmm_infrastructure_impl.cpp:585
SWMM_ENGINE_API int swmm_lid_usage_get(SWMM_Engine engine, int usage_idx, int *subcatch_idx, int *lid_idx, int *number, double *area, double *width, double *init_sat, double *from_imperv, int *to_perv, double *from_perv)
Read one LID usage row by global index.
Definition openswmm_infrastructure_impl.cpp:1515
SWMM_ENGINE_API int swmm_street_index(SWMM_Engine engine, const char *id)
Look up a street's zero-based index by its string identifier.
Definition openswmm_infrastructure_impl.cpp:433
SWMM_ENGINE_API int swmm_inlet_usage_count(SWMM_Engine engine)
Count inlet-usage rows of both host kinds.
Definition openswmm_infrastructure_impl.cpp:862
SWMM_ENGINE_API int swmm_lid_node_base_area(SWMM_Engine engine, int node, double *area)
Read the authored geometric area at a storage LID base.
Definition openswmm_lid_nodes_impl.cpp:346
SWMM_ENGINE_API int swmm_lid_node_state_get(SWMM_Engine engine, int node, int row, int *layer, double *bottom, double *top, double *moisture)
Read one initialized LID profile cell.
Definition openswmm_lid_nodes_impl.cpp:431
SWMM_ENGINE_API int swmm_inlet_get_type(SWMM_Engine engine, int idx, char *buf, int buflen)
Read an inlet's type string (the value passed to swmm_inlet_add).
Definition openswmm_infrastructure_impl.cpp:640
SWMM_ENGINE_API int swmm_transect_remove(SWMM_Engine engine, int idx)
Remove a transect by index.
Definition openswmm_infrastructure_impl.cpp:309
SWMM_ENGINE_API const char * swmm_transect_id(SWMM_Engine engine, int idx)
Get the string identifier of a transect by index.
Definition openswmm_infrastructure_impl.cpp:122
SWMM_ENGINE_API int swmm_node_get_lid(SWMM_Engine engine, int node, int *control, double *saturation)
Read a node LID-control assignment and initial saturation.
Definition openswmm_lid_nodes_impl.cpp:183
SWMM_ENGINE_API int swmm_lid_set_drainmat(SWMM_Engine engine, int idx, double thick, double void_frac, double roughness)
Set the drainage-mat layer properties for a LID control.
Definition openswmm_infrastructure_impl.cpp:1312
SWMM_ENGINE_API int swmm_inlet_rename(SWMM_Engine engine, int idx, const char *new_id)
Rename an inlet design in place.
Definition openswmm_infrastructure_impl.cpp:501
SWMM_ENGINE_API int swmm_lid_richards_state_get(SWMM_Engine engine, int node, int row, double *pressure, double *head, double *water)
Read one Richards cell's pressure, total head and complete water volume.
Definition openswmm_lid_nodes_impl.cpp:456
SWMM_ENGINE_API int swmm_node_set_lid_bottom(SWMM_Engine engine, int node, int mode)
Select bottom ownership for one assigned storage LID.
Definition openswmm_lid_nodes_impl.cpp:334
SWMM_LidNodeBottom
Definition openswmm_infrastructure.h:1154
@ SWMM_LID_BOTTOM_CURRENT
Definition openswmm_infrastructure.h:1155
@ SWMM_LID_BOTTOM_MESH_AQUIFER
Definition openswmm_infrastructure.h:1157
@ SWMM_LID_BOTTOM_SEALED
Definition openswmm_infrastructure.h:1156
SWMM_ENGINE_API int swmm_lid_richards_options_get(SWMM_Engine engine, int control, SWMM_LidRichardsOptions *out)
Read a control's Richards options.
Definition openswmm_lid_nodes_impl.cpp:195
SWMM_InletPlacement
Definition openswmm_infrastructure.h:717
@ SWMM_INLET_ON_SAG
Definition openswmm_infrastructure.h:720
@ SWMM_INLET_ON_GRADE
Definition openswmm_infrastructure.h:719
@ SWMM_INLET_AUTOMATIC
Definition openswmm_infrastructure.h:718
Complete description of an inlet design. All dimensions are in the project's display units (ft or m; ...
Definition openswmm_infrastructure.h:727
char curve_id[64]
Definition openswmm_infrastructure.h:743
double slot_length
Definition openswmm_infrastructure.h:740
int type
Definition openswmm_infrastructure.h:728
int grate_type
Definition openswmm_infrastructure.h:732
int throat
Definition openswmm_infrastructure.h:738
int curve_kind
Definition openswmm_infrastructure.h:744
double grate_width
Definition openswmm_infrastructure.h:731
double curb_length
Definition openswmm_infrastructure.h:736
double curb_height
Definition openswmm_infrastructure.h:737
double splash_veloc
Definition openswmm_infrastructure.h:734
double grate_length
Definition openswmm_infrastructure.h:730
double open_area
Definition openswmm_infrastructure.h:733
double slot_width
Definition openswmm_infrastructure.h:741
Definition openswmm_infrastructure.h:816
int capture_node_idx
Definition openswmm_infrastructure.h:820
int host_kind
Definition openswmm_infrastructure.h:817
double local_depress
Definition openswmm_infrastructure.h:824
double pct_clogged
Definition openswmm_infrastructure.h:822
int placement
Definition openswmm_infrastructure.h:826
int num_inlets
Definition openswmm_infrastructure.h:821
int design_idx
Definition openswmm_infrastructure.h:819
double local_width
Definition openswmm_infrastructure.h:825
int host_idx
Definition openswmm_infrastructure.h:818
double flow_limit
Definition openswmm_infrastructure.h:823
Definition openswmm_infrastructure.h:1207
int cell
Definition openswmm_infrastructure.h:1209
double reserved_up_m3
Definition openswmm_infrastructure.h:1215
double sampled_lid_head_m
Definition openswmm_infrastructure.h:1214
int valid_sample
Definition openswmm_infrastructure.h:1209
double accepted_up_m3
Definition openswmm_infrastructure.h:1216
double pending_up_m3
Definition openswmm_infrastructure.h:1212
double aquifer_head_m
Definition openswmm_infrastructure.h:1210
double requested_down_m3
Definition openswmm_infrastructure.h:1215
double sample_start_s
Definition openswmm_infrastructure.h:1213
double groundwater_residual_m3
Definition openswmm_infrastructure.h:1212
double reserved_down_m3
Definition openswmm_infrastructure.h:1215
double contact_area_m2
Definition openswmm_infrastructure.h:1210
double up_cumulative_m3
Definition openswmm_infrastructure.h:1211
double net_rate_m3s
Definition openswmm_infrastructure.h:1216
double accepted_down_m3
Definition openswmm_infrastructure.h:1216
double pending_down_m3
Definition openswmm_infrastructure.h:1212
double net_cumulative_m3
Definition openswmm_infrastructure.h:1211
double sample_end_s
Definition openswmm_infrastructure.h:1213
double sampled_aquifer_head_m
Definition openswmm_infrastructure.h:1214
double sampled_aquifer_time_s
Definition openswmm_infrastructure.h:1213
double surface_head_m
Definition openswmm_infrastructure.h:1210
int flow_model
Definition openswmm_infrastructure.h:1208
double down_cumulative_m3
Definition openswmm_infrastructure.h:1211
double requested_up_m3
Definition openswmm_infrastructure.h:1215
double aquifer_time_s
Definition openswmm_infrastructure.h:1210
Definition openswmm_infrastructure.h:987
const char * expression
Definition openswmm_infrastructure.h:992
int pollutant
Definition openswmm_infrastructure.h:989
double removal_percent
Definition openswmm_infrastructure.h:990
double decay_per_day
Definition openswmm_infrastructure.h:991
int layer
Definition openswmm_infrastructure.h:988
Definition openswmm_infrastructure.h:943
int kind
Definition openswmm_infrastructure.h:944
double params[7]
Definition openswmm_infrastructure.h:945
Definition openswmm_infrastructure.h:956
double specific_storage
Definition openswmm_infrastructure.h:957
double alpha
Definition openswmm_infrastructure.h:957
double n
Definition openswmm_infrastructure.h:957
double theta_r
Definition openswmm_infrastructure.h:957
double l
Definition openswmm_infrastructure.h:957
Definition openswmm_infrastructure.h:950
int model
Definition openswmm_infrastructure.h:951
double max_step
Definition openswmm_infrastructure.h:952
double atol
Definition openswmm_infrastructure.h:952
double rtol
Definition openswmm_infrastructure.h:952
int cells_per_layer
Definition openswmm_infrastructure.h:951
Definition openswmm_infrastructure.h:1311
double min_step
Definition openswmm_infrastructure.h:1313
int rejected
Definition openswmm_infrastructure.h:1312
int rhs
Definition openswmm_infrastructure.h:1312
int newton
Definition openswmm_infrastructure.h:1312
int accepted
Definition openswmm_infrastructure.h:1312
double balance_m3
Definition openswmm_infrastructure.h:1313