jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
49 lines • 2.16 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StructureWeirVillemonte = void 0;
const internal_modules_1 = require("../internal_modules");
const internal_modules_2 = require("../internal_modules");
const internal_modules_3 = require("../internal_modules");
const internal_modules_4 = require("../internal_modules");
const internal_modules_5 = require("../internal_modules");
class StructureWeirVillemonte extends internal_modules_4.StructureWeirFree {
constructor(prms, dbg = false) {
super(prms, dbg);
this.setLoiDebit(internal_modules_3.LoiDebit.WeirVillemonte);
}
Calc(sVarCalc, rInit) {
this.currentResultElement = super.Calc(sVarCalc, rInit);
if ((this.prms.h2.v / this.prms.h1.v) > 0.9) {
this._result.resultElement.addMessage(new internal_modules_1.Message(internal_modules_1.MessageCode.WARNING_NOTCH_SUBMERGENCE_GREATER_THAN_09, {
submergencePerc: this.computeSubmergencePercentage().toString()
}));
}
return this._result;
}
/**
* Calcul analytique Q = f(Cd, L, h1, h2, W) seuil dénoyé
* @param sVarCalc Variable à calculer (doit être "Q")
*/
CalcQ() {
const r = super.CalcQ();
if (r.ok && r.resultElement.values.ENUM_StructureFlowRegime !== internal_modules_2.StructureFlowRegime.FREE) {
r.vCalc = (0, internal_modules_5.Villemonte)(this.prms.h1.v, this.prms.h2.v, 1.5) * r.vCalc;
}
return r;
}
getFlowRegime() {
if (this.prms.Z2.v <= this.prms.ZDV.v) {
return internal_modules_2.StructureFlowRegime.FREE;
}
else {
// La réduction de débit s'applique dès que Z2 > ZDV (Villemonte, 1946)
if (this.prms.h2.v < 2 / 3 * this.prms.h1.v) {
// Yc = 2 / 3 * H1 (Jameson, 1925)
return internal_modules_2.StructureFlowRegime.PARTIAL;
}
return internal_modules_2.StructureFlowRegime.SUBMERGED;
}
}
}
exports.StructureWeirVillemonte = StructureWeirVillemonte;
//# sourceMappingURL=structure_weir_villemonte.js.map