Skip to content

Hydraulic Analysis Functions

These functions are used to perform a hydraulic analysis.

Function Description
solveH Runs a complete hydraulic simulation with results for all time periods written to a temporary hydraulics file.
useHydFile Uses a previously saved binary hydraulics file to supply a project's hydraulics.
openH Opens a project's hydraulic solver.
initH Initializes a network prior to running a hydraulic analysis.
runH Computes a hydraulic solution for the current point in time.
nextH Determines the length of time until the next hydraulic event occurs in an extended period simulation.
saveH Transfers a project's hydraulics results from its temporary hydraulics file to its binary output file, where results are only reported at uniform reporting intervals.
saveHydFile Saves a project's temporary hydraulics file to disk.
closeH Closes the hydraulic solver freeing all of its allocated memory.

solveH

Runs a complete hydraulic simulation with results for all time periods written to a temporary hydraulics file.

solveH(): void

Use solveH to generate a complete hydraulic solution which can stand alone or be used as input to a water quality analysis. This function will not allow one to examine intermediate hydraulic results as they are generated. It can also be followed by calls to saveH and report to write hydraulic results to the report file.

The sequence openH - initH - runH - nextH - closeH can be used instead to gain access to results at intermediate time periods and directly adjust link status and control settings as a simulation proceeds.


useHydFile

Uses a previously saved binary hydraulics file to supply a project's hydraulics.

useHydFile(filename: string): void

Parameters

Parameter Type Description
filename String the name of the binary file containing hydraulic results.

Call this function to re-use a set of hydraulic analysis results saved previously. This can save computational time if water quality analyses are being made under the same set of hydraulic conditions.

Do not call this function while the hydraulics solver is open.


openH

Opens a project's hydraulic solver.

openH(): void

Call openH prior to running the first hydraulic analysis using the initH - runH - nextH sequence. Multiple analyses can be made before calling closeH to close the hydraulic solver.

Do not call this function if solveH is being used to run a complete hydraulic analysis or if hydraulics are being supplied by a previously saved hydraulics file using useHydFile.


initH

Initializes a network prior to running a hydraulic analysis.

initH(initFlag: InitHydOption): void

Parameters

Parameter Type Description
initFlag InitHydOption a 2-digit initialization flag (see InitHydOption).

This function initializes storage tank levels, link status and settings, and the simulation time clock prior to running a hydraulic analysis.

The initialization flag is a two digit number where the 1st (left) digit indicates if link flows should be re-initialized (1) or not (0), and the 2nd digit indicates if hydraulic results should be saved to a temporary binary hydraulics file (1) or not (0).

Be sure to call initH prior to running a hydraulic analysis using a runH - nextH loop.

Choose to save hydraulics results if you will be:

  • making a subsequent water quality run,
  • using report to generate a report
  • using saveHydFile to save the binary hydraulics file.

There is no need to save hydraulics if you will be writing custom code to process hydraulic results as they are generated using the functions getNodeValue and getLinkValue.


runH

Computes a hydraulic solution for the current point in time.

runH(): Number

Returns

Number The current simulation time in seconds.

This function is used in a loop with nextH to run an extended period hydraulic simulation.

initH must have been called prior to running the runH - nextH loop.


nextH

Determines the length of time until the next hydraulic event occurs in an extended period simulation.

nextH(): Number

Returns

Number The time (in seconds) until the next hydraulic event or 0 if at the end of the full simulation duration.

This function is used in a loop with runH to run an extended period hydraulic simulation.

The return value is automatically computed as the smaller of:

  • the time interval until the next hydraulic time step begins
  • the time interval until the next reporting time step begins
  • the time interval until the next change in demands occurs
  • the time interval until a tank becomes full or empty
  • the time interval until a control or rule fires.

saveH

Transfers a project's hydraulics results from its temporary hydraulics file to its binary output file, where results are only reported at uniform reporting intervals.

saveH(): void

saveH is used when only a hydraulic analysis is run and results at uniform reporting intervals need to be transferred to a project's binary output file. Such would be the case when results are to be written in formatted fashion to the project's report file using report.


saveHydFile

Saves a project's temporary hydraulics file to disk.

saveHydFile( filename: String): void

Parameters

Parameter Type Description
filename String the name of the file to be created.

Use this function to save the current set of hydraulics results to a file, either for post-processing or to be used at a later time by calling the useHydFile function.

The hydraulics file contains nodal demands and heads and link flows, status, and settings for all hydraulic time steps, even intermediate ones.

Before calling this function hydraulic results must have been generated and saved by having called solveH or the initH - runH - nextH sequence with the initflag argument of initH set to InitHydOption.Save or InitHydOption.SaveAndInit.


closeH

Closes the hydraulic solver freeing all of its allocated memory.

closeH(): void

Call closeH after all hydraulics analyses have been made using initH - runH - nextH. Do not call this function if solveH is being used.