UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

70 lines 2.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StructureWeirSubmergedLarinier = 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"); /** * Equation de la fente noyé * d'après Larinier, M., Travade, F., Porcher, J.-P., Gosset, C., 1992. * Passes à poissons : expertise et conception des ouvrages de franchissement */ class StructureWeirSubmergedLarinier extends internal_modules_3.RectangularStructure { constructor(prms, dbg = false) { super(prms, dbg); this.setLoiDebit(internal_modules_5.LoiDebit.WeirSubmergedLarinier); this.prms.CdWSL.visible = true; } /** * paramètres castés au bon type */ get prms() { return this._prms; } /** * vérification que l'ennoiement est supérieur à une valeur donnée */ checkSubmergence(res) { this.checkSubmergenceMin(res, 0.5); } Calc(sVarCalc, rInit) { var _a; this.currentResultElement = super.Calc(sVarCalc, rInit); const h2h1ratio = this.prms.h2.v / this.prms.h1.v; if (!((_a = this.parent) === null || _a === void 0 ? void 0 : _a.inhibitSubmergenceError)) if (h2h1ratio < 0.7 || h2h1ratio > 0.9) { this._result.resultElement.addMessage(new internal_modules_1.Message(internal_modules_1.MessageCode.WARNING_SLOT_SUBMERGENCE_NOT_BETWEEN_07_AND_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 data = this.getResultData(); const v = this.prms.CdWSL.v * this.prms.L.v * internal_modules_4.Structure.R2G * this.prms.h1.v * Math.sqrt(this.prms.h1.v - this.prms.h2.v); return new internal_modules_2.Result(v, this, data); } getFlowRegime() { return internal_modules_4.StructureFlowRegime.SUBMERGED; } getFlowMode() { return internal_modules_4.StructureFlowMode.WEIR; } /** * paramétrage de la calculabilité des paramètres */ setParametersCalculability() { super.setParametersCalculability(); this.prms.L.calculability = internal_modules_1.ParamCalculability.DICHO; this.prms.CdWSL.calculability = internal_modules_1.ParamCalculability.DICHO; } } exports.StructureWeirSubmergedLarinier = StructureWeirSubmergedLarinier; //# sourceMappingURL=structure_weir_submerged_larinier.js.map