35 #define CODEVERSION 20306 36 #define MAGICNUMBER 516114521 37 #define ENGINE_VERSION 201 // Used for binary hydraulics file 38 #define EOFMARK 0x1A // Use 0x04 for UNIX systems 39 #define MAXTITLE 3 // Max. # title lines 40 #define TITLELEN 79 // Max. # characters in a title line 41 #define MAXID 31 // Max. # characters in ID name 42 #define MAXMSG 255 // Max. # characters in message text 43 #define MAXLINE 1024 // Max. # characters read from input line 44 #define MAXFNAME 259 // Max. # characters in file name 45 #define MAXTOKS (MAXLINE / 2 + 1) // Max. items per line of input 51 #define MISSING -1.E10 // Missing value indicator 52 #define SET_CLOSED -1.E10 // Link set closed indicator 53 #define SET_OPEN 1.E10 // Link set open indicator 55 #define DIFFUS 1.3E-8 // Diffusivity of chlorine 57 #define VISCOS 1.1E-5 // Kinematic viscosity of water 59 #define MINPDIFF 0.1 // PDA min. pressure difference (psi or m) 60 #define SEPSTR " \t\n\r" // Token separator characters 64 #define PI 3.141592654 72 #define GPMperCFS 448.831 73 #define AFDperCFS 1.9837 74 #define MGDperCFS 0.64632 75 #define IMGDperCFS 0.5382 76 #define LPSperCFS 28.317 77 #define LPMperCFS 1699.0 78 #define CMSperCFS 0.028317 79 #define CMHperCFS 101.94 80 #define CMDperCFS 2446.6 81 #define MLDperCFS 2.4466 82 #define M3perFT3 0.028317 83 #define LperFT3 28.317 85 #define PSIperFT 0.4333 86 #define KPAperPSI 6.895 87 #define BARperPSI 0.068948 88 #define KWperHP 0.7457 89 #define SECperDAY 86400 96 #define MEMCHECK(x) (((x) == NULL) ? 101 : 0 ) 97 #define FREE(x) do { free(x); (x) = NULL; } while(0) 104 #define INT(x) ((int)(x)) // integer portion of x 105 #define FRAC(x) ((x)-(int)(x)) // fractional part of x 106 #define ABS(x) (((x)<0) ? -(x) : (x)) // absolute value of x 107 #define MIN(x,y) (((x)<=(y)) ? (x) : (y)) // minimum of x and y 108 #define MAX(x,y) (((x)>=(y)) ? (x) : (y)) // maximum of x and y 109 #define ROUND(x) (((x)>=INT_MAX) ? INT_MAX : ((x)>=0) ? (int)((x)+.5) : \ 110 ((x)>INT_MIN) ? (int)((x)-.5) : INT_MIN) 114 #define MOD(x,y) ((x)%(y)) // x modulus y 115 #define SQR(x) ((x)*(x)) // x-squared 116 #define SGN(x) (((x)<0) ? (-1) : (1)) // sign of x 117 #define UCHAR(x) (((x) >= 'a' && (x) <= 'z') ? ((x)&~32) : (x)) 125 #define ERRCODE(x) (errcode = ((errcode>100) ? (errcode) : (x))) 301 _TITLE, _JUNCTIONS, _RESERVOIRS, _TANKS, _PIPES, _PUMPS,
302 _VALVES, _CONTROLS, _RULES, _DEMANDS, _SOURCES, _EMITTERS,
303 _PATTERNS, _CURVES, _QUALITY, _STATUS, _ROUGHNESS, _ENERGY,
304 _REACTIONS, _MIXING, _REPORT, _TIMES, _OPTIONS,
305 _COORDS, _VERTICES, _LABELS, _BACKDROP, _TAGS, _LEAKAGE, _END
428 StatusType InitStatus;
570 double consumerDemand;
571 double emitterDemand;
572 double leakageDemand;
573 double deficitDemand;
574 double storageDemand;
598 InpFname[MAXFNAME + 1],
601 LineComment[MAXMSG + 1];
673 Rpt1Fname[MAXFNAME+1],
674 Rpt2Fname[MAXFNAME+1],
679 void (*reportCallback)(
void*,
void*,
const char*);
680 void *reportCallbackUserData;
688 HydFname[MAXFNAME+1],
689 OutFname[MAXFNAME+1];
834 ChemUnits[MAXID + 1];
925 Title[MAXTITLE][TITLELEN+1],
926 MapFname[MAXFNAME+1],
927 TmpHydFname[MAXFNAME+1],
928 TmpOutFname[MAXFNAME+1],
929 TmpStatFname[MAXFNAME+1];
931 void (* viewprog) (
char *);
struct Project * EN_Project
The EPANET Project wrapper object.
Definition: epanet2_2.h:49