hydroflow ~critical-flow

D Library for Hydraulics Engineering.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

hydroflow

v1.0.0

A D-library for hydraulics calculations. This library was created to aide civil engineers and hydraulics engineers in calculation phase of their design or analysis.

Major Features
  • [x] Open Channel

  • [ ] Simple Weirs

  • [ ] Diversion Dam Analysis

  • [ ] Reservoir construction and operation studies

Usage

Only one import is necessary to use the library.

import hydroflow;

All submodules will be imported automatically.

1. Rectangular Open Channel

Say we are given a rectangular channel problem and the unknown is the depth of the water in the channel:

GivenValue
Dicharge, Q1.0 m<sup>3</sup>
Bed Slope, S0.00 1
Base Width, b1.0 m
Manning's Roughness Coefficient, n0.015

To solve this, you may refer to the code below:

import hydroflow;
import std.stdio;

void main()
{
    RectangularOpenChannel roc = new RectangularOpenChannel();

	roc.setUnknown = roc.Unknown.WATER_DEPTH;

	// Set the given values
	roc.setBedSlope = 0.001;
	roc.setDischarge = 1;
	roc.setBaseWidth = 1;
	roc.setManningRoughness = 0.015;
    
    // Now test if the calculation will be successful
    if (roc.solve())
    {
        writeln(roc.getWaterDepth);
    }
}
Authors:
  • Alexius Academia
Dependencies:
none
Versions:
1.2.4 2019-Mar-02
1.2.3 2019-Mar-02
1.2.2 2019-Feb-25
1.2.1 2019-Feb-21
1.2.0 2019-Feb-19
Show all 22 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 0 downloads total

Score:
0.8
Short URL:
hydroflow.dub.pm