hydroflow 1.2.4
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
A Dlibrary 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
 [x] Sharpcrested weir
 [x] Broadcrested weir
 [ ] Ogeeshaped weir
[ ] Reservoir construction and operation studies
Usage
Only one import is necessary to use the library.
import hydroflow;
All submodules will be imported by this module.
Solutions:
1. Rectangular Open Channel
Say we are given a rectangular channel problem and the unknown is the depth of the water in the channel:
 Given  Value   :  :   Dicharge, Q  1.0 m<sup>3</sup>   Bed Slope, S  0.001   Base Width, b  1.0 m   Manning's Roughness Coefficient, n  0.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);
}
}
Using Different Unit
By default, the unit used is in metric. There are two (2) units available, the other is the english system.
To set the unit to english:
RectangularOpenChannel roc = new RectangularOpenChannel();
roc.setUnit = roc.Units.ENGLISH;
2. Analysis of SharpCrested (Gated) Weirs
Currently, the analysis for sharpcrested weirs only support metric system (meters, meters/second, cubic meters/sec).
SharpCrestedWeir scw = new SharpCrestedWeir();
scw.setDischarge = 100;
scw.setUSApronElev = 50;
scw.setDSApronElev = 49.4;
scw.setCrestLength = 30;
scw.setCrestElev = 52;
scw.setTailwaterElev = 52.5;
if (scw.analysis())
{
// If the analysis has returned no error during
// calculation and error checking.
writeln("Afflux elevation: ", scw.getAffluxElevation);
}
else
{
// Displays the error message.
writeln(scw.errorMessage);
}
 Registered by Alexius Academia
 1.2.4 released 4 years ago
 alexiusacademia/hydroflow
 MIT
 Copyright © 2019, Alexius Academia
 Authors:
 Dependencies:
 none
 Versions:

1.2.4 2019Mar02 1.2.3 2019Mar02 1.2.2 2019Feb25 1.2.1 2019Feb21 1.2.0 2019Feb19  Download Stats:


0 downloads today

0 downloads this week

0 downloads this month

34 downloads total

 Score:
 0.8
 Short URL:
 hydroflow.dub.pm