OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
objects.h File Reference

Definitions of data structures. More...

#include <stdio.h>
#include "consts.h"
#include "enums.h"
#include "datetime.h"
#include "mathexpr.h"
#include "inlet.h"
#include "infil.h"
#include "exfil.h"
Include dependency graph for objects.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TFile
 
struct  TableEntry
 
struct  TTable
 
struct  TGage
 
struct  TTemp
 
struct  TWind
 
struct  TSnow
 
struct  TEvap
 
struct  TAdjust
 
struct  TEvent
 
struct  TAquifer
 
struct  TGWaterStats
 
struct  TGroundwater
 
struct  TSnowmelt
 
struct  TSnowpack
 
struct  TSubarea
 
struct  TLandFactor
 
struct  TSubcatch
 
struct  TPattern
 
struct  ExtInflow
 
struct  DwfInflow
 
struct  TRdiiInflow
 
struct  TUnitHyd
 
struct  TTreatment
 
struct  TNode
 
struct  TOutfall
 
struct  TStorage
 
struct  TDivider
 
struct  TXsect
 
struct  TTransect
 
struct  TStreet
 
struct  TShape
 
struct  TLink
 
struct  TConduit
 
struct  TPump
 
struct  TOrifice
 
struct  TWeir
 
struct  TOutlet
 
struct  TPollut
 
struct  TBuildup
 
struct  TWashoff
 
struct  TLanduse
 
struct  TRptFlags
 
struct  TRunoffTotals
 
struct  TLoadingTotals
 
struct  TGwaterTotals
 
struct  TRoutingTotals
 
struct  TTimeStepStats
 
struct  TRainStats
 
struct  TSubcatchStats
 
struct  TNodeStats
 
struct  TStorageStats
 
struct  TOutfallStats
 
struct  TPumpStats
 
struct  TLinkStats
 
struct  TMaxStats
 
struct  TRptField
 
struct  Project
 

Macros

#define MAXPASTRAIN   48
 
#define N_TRANSECT_TBL   51
 
#define N_SHAPE_TBL   51
 
#define TIMELEVELS   6
 

Typedefs

typedef struct TableEntry TTableEntry
 
typedef struct ExtInflow TExtInflow
 
typedef struct DwfInflow TDwfInflow
 

Detailed Description

Definitions of data structures.

Author
L. Rossman
M. Tryby (EPA)
R. Dickinson (CDM)
C. Buahin (EPA)
Date
Created: 2021-11-01
Last updated: 2025-04-11
Version
5.3.0

Most SWMM 5 "objects" are represented as C data structures.

The units shown next to each structure's properties are SWMM's internal units and may be different than the units required for the property as it appears in the input file.

In many structure definitions, a blank line separates the set of input properties from the set of computed output properties.

Update History

  • Build 5.1.007:
    • Data structure for monthly adjustments of temperature, evaporation, and rainfall added.
    • User-supplied equation for deep GW flow added to subcatchment object.
    • Exfiltration added to storage node object.
    • Surcharge option added to weir object.
  • Build 5.1.008:
    • Route to subcatchment option added to Outfall data structure.
    • Hydraulic conductivity added to monthly adjustments data structure.
    • Total LID drain flow and outfall runon added to Runoff Totals.
    • Groundwater statistics object added.
    • Maximum depth for reporting times added to node statistics object.
  • Build 5.1.010:
    • Additional fields added to Weir object to support ROADWAY_WEIR type.
    • New field added to Link object to record when its setting was changed.
    • q1Old and q2Old of Link object restored.
  • Build 5.1.011:
    • Description of oldFlow & newFlow for TGroundwater object modified.
    • Weir shape parameter deprecated.
    • Added definition of a hydraulic event time period (TEvent).
  • Build 5.1.013:
    • New member 'averages' added to the TRptFlags structure.
    • Adjustment patterns added to TSubcatch structure.
    • Members impervRunoff and pervRunoff added to TSubcatchStats structure.
    • Member cdCurve (weir coeff. curve) added to TWeir structure.
  • Build 5.1.015:
    • Support added for multiple infiltration methods within a project.
    • Support added for grouped freqency table of routing time steps.
  • Build 5.2.0:
    • Support added for Street and Inlet objects.
    • Support added for analytical storage shapes.
    • Support added for reporting most frequent non-converging links.
    • Support added for tracking a gage's prior n-hour rainfall total.
    • Removed extIfaceInflow member from ExtInflow struct.
    • Refactored TRptFlags struct.

Build 5.3.0:

  • Modified TFile to support specification of time for saving hotstart files.
  • Adding support for API provided pollutant fluxes and inflows.
  • Added a project structure to hold project-wide settings to for thread safety and rentrancy.
  • Use vectors instead of linked lists for computational efficiency.
  • Use structures of arrays for selected data structures to improve cache performance.

Macro Definition Documentation

◆ MAXPASTRAIN

#define MAXPASTRAIN   48

◆ N_SHAPE_TBL

#define N_SHAPE_TBL   51

◆ N_TRANSECT_TBL

#define N_TRANSECT_TBL   51

◆ TIMELEVELS

#define TIMELEVELS   6

Typedef Documentation

◆ TDwfInflow

typedef struct DwfInflow TDwfInflow

◆ TExtInflow

typedef struct ExtInflow TExtInflow

◆ TTableEntry

typedef struct TableEntry TTableEntry