34 #define CODEVERSION 20301 35 #define MAGICNUMBER 516114521 36 #define ENGINE_VERSION 201 // Used for binary hydraulics file 37 #define EOFMARK 0x1A // Use 0x04 for UNIX systems 38 #define MAXTITLE 3 // Max. # title lines 39 #define TITLELEN 79 // Max. # characters in a title line 40 #define MAXID 31 // Max. # characters in ID name 41 #define MAXMSG 255 // Max. # characters in message text 42 #define MAXLINE 1024 // Max. # characters read from input line 43 #define MAXFNAME 259 // Max. # characters in file name 44 #define MAXTOKS 40 // Max. items per line of input 50 #define MISSING -1.E10 // Missing value indicator 51 #define SET_CLOSED -1.E10 // Link set closed indicator 52 #define SET_OPEN 1.E10 // Link set open indicator 54 #define DIFFUS 1.3E-8 // Diffusivity of chlorine 56 #define VISCOS 1.1E-5 // Kinematic viscosity of water 58 #define MINPDIFF 0.1 // PDA min. pressure difference (psi or m) 59 #define SEPSTR " \t\n\r" // Token separator characters 63 #define PI 3.141592654 71 #define GPMperCFS 448.831 72 #define AFDperCFS 1.9837 73 #define MGDperCFS 0.64632 74 #define IMGDperCFS 0.5382 75 #define LPSperCFS 28.317 76 #define LPMperCFS 1699.0 77 #define CMSperCFS 0.028317 78 #define CMHperCFS 101.94 79 #define CMDperCFS 2446.6 80 #define MLDperCFS 2.4466 81 #define M3perFT3 0.028317 82 #define LperFT3 28.317 84 #define PSIperFT 0.4333 85 #define KPAperPSI 6.895 86 #define BARperPSI 0.068948 87 #define KWperHP 0.7457 88 #define SECperDAY 86400 95 #define MEMCHECK(x) (((x) == NULL) ? 101 : 0 ) 96 #define FREE(x) do { free(x); (x) = NULL; } while(0) 103 #define INT(x) ((int)(x)) // integer portion of x 104 #define FRAC(x) ((x)-(int)(x)) // fractional part of x 105 #define ABS(x) (((x)<0) ? -(x) : (x)) // absolute value of x 106 #define MIN(x,y) (((x)<=(y)) ? (x) : (y)) // minimum of x and y 107 #define MAX(x,y) (((x)>=(y)) ? (x) : (y)) // maximum of x and y 108 #define ROUND(x) (((x)>=0) ? (int)((x)+.5) : (int)((x)-.5)) 110 #define MOD(x,y) ((x)%(y)) // x modulus y 111 #define SQR(x) ((x)*(x)) // x-squared 112 #define SGN(x) (((x)<0) ? (-1) : (1)) // sign of x 113 #define UCHAR(x) (((x) >= 'a' && (x) <= 'z') ? ((x)&~32) : (x)) 121 #define ERRCODE(x) (errcode = ((errcode>100) ? (errcode) : (x))) 297 _TITLE, _JUNCTIONS, _RESERVOIRS, _TANKS, _PIPES, _PUMPS,
298 _VALVES, _CONTROLS, _RULES, _DEMANDS, _SOURCES, _EMITTERS,
299 _PATTERNS, _CURVES, _QUALITY, _STATUS, _ROUGHNESS, _ENERGY,
300 _REACTIONS, _MIXING, _REPORT, _TIMES, _OPTIONS,
301 _COORDS, _VERTICES, _LABELS, _BACKDROP, _TAGS, _LEAKAGE, _END
424 StatusType InitStatus;
566 double consumerDemand;
567 double emitterDemand;
568 double leakageDemand;
569 double deficitDemand;
570 double storageDemand;
594 InpFname[MAXFNAME + 1],
597 LineComment[MAXMSG + 1];
668 Rpt1Fname[MAXFNAME+1],
669 Rpt2Fname[MAXFNAME+1],
674 void (*reportCallback)(
void*,
void*,
const char*);
675 void *reportCallbackUserData;
683 HydFname[MAXFNAME+1],
684 OutFname[MAXFNAME+1];
827 ChemUnits[MAXID + 1];
918 Title[MAXTITLE][TITLELEN+1],
919 MapFname[MAXFNAME+1],
920 TmpHydFname[MAXFNAME+1],
921 TmpOutFname[MAXFNAME+1],
922 TmpStatFname[MAXFNAME+1];
924 void (* viewprog) (
char *);
struct Project * EN_Project
The EPANET Project wrapper object.
Definition: epanet2_2.h:49