UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

72 lines 3.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StructureGateCem88d = 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 CEM88D : déversoir / orifice (pelle importante) Cemagref 1988 */ class StructureGateCem88d extends internal_modules_3.RectangularStructure { constructor(prms, dbg = false) { super(prms, dbg); this.setLoiDebit(internal_modules_5.LoiDebit.GateCem88d); this._isZDVcalculable = false; this.prms.W.visible = true; this.prms.CdWR.visible = true; } /** * Calcul analytique Q = f(Cd, L, h1, h2, W) CEM88D * @param sVarCalc Variable à calculer (doit être "Q") */ CalcQ() { const data = this.getResultData(); let v; const cd = this.prms.CdWR.v * this.prms.L.v * internal_modules_4.Structure.R2G; const b1 = Math.sqrt(this.prms.h1.v); const b2 = Math.sqrt(this.prms.h1.v - this.prms.h2.v); const cd1 = cd * 2.5981; // cd * 3*sqrt(3)/2 this.debug("StructureWeirCem88d.Equation b1=" + b1 + " b2=" + b2 + " cd1=" + cd1); switch (data.ENUM_StructureFlowMode) { case internal_modules_4.StructureFlowMode.WEIR: switch (data.ENUM_StructureFlowRegime) { case internal_modules_4.StructureFlowRegime.FREE: v = cd * this.prms.h1.v * b1; break; case internal_modules_4.StructureFlowRegime.SUBMERGED: v = cd1 * this.prms.h2.v * b2; this.debug("StructureWeirCem88d.Equation WEIR SUBMERGED Q=" + v); break; } break; case internal_modules_4.StructureFlowMode.ORIFICE: const b3 = Math.pow(this.prms.h1.v - this.W, 1.5); switch (data.ENUM_StructureFlowRegime) { case internal_modules_4.StructureFlowRegime.FREE: v = cd * (this.prms.h1.v * b1 - b3); break; case internal_modules_4.StructureFlowRegime.PARTIAL: v = cd1 * b2 * this.prms.h2.v - cd * b3; break; case internal_modules_4.StructureFlowRegime.SUBMERGED: v = cd1 * b2 * this.W; this.debug("StructureWeirCem88d.Equation ORIFICE SUBMERGED Q=" + v); break; } } this.debug("StructureWeirCem88d.Equation(h1=" + this.prms.h1.v + ",h2=" + this.prms.h2.v + ",W=" + this.W + ") => Q=" + v); return new internal_modules_2.Result(v, this, data); } /** * paramétrage de la calculabilité des paramètres */ setParametersCalculability() { super.setParametersCalculability(); this.prms.W.calculability = internal_modules_1.ParamCalculability.DICHO; } } exports.StructureGateCem88d = StructureGateCem88d; //# sourceMappingURL=structure_gate_cem88d.js.map