UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

49 lines 2.16 kB
"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