UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

68 lines 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StructureKivi = 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"); const internal_modules_6 = require("../internal_modules"); class StructureKivi extends internal_modules_4.Structure { constructor(prms, dbg = false) { super(prms, dbg); this.setLoiDebit(internal_modules_5.LoiDebit.KIVI); } /** * paramètres castés au bon type */ get prms() { return this._prms; } CalcQ() { const res = new internal_modules_3.Result(0, this, this.getResultData()); // p : pelle let p = this.prms.ZDV.v - this.prms.ZRAM.v; let h1p; if (p < 0.1) { // - p ne doit pas être inférieur à 0,10 m (Norme NF X10-311-1983) res.resultElement.addMessage(new internal_modules_2.Message(internal_modules_2.MessageCode.WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE)); p = 0.1; } h1p = this.prms.h1.v / p; if (h1p > 2.5) { // - h/p ne doit pas être supérieur à 2,5 (Norme NF X10-311-1983) res.resultElement.addMessage(new internal_modules_2.Message(internal_modules_2.MessageCode.WARNING_STRUCTUREKIVI_HP_TROP_ELEVE)); h1p = 2.5; } const cd = this.prms.alpha.v + this.prms.beta.v * h1p; let Q = cd * this.prms.L.v * internal_modules_4.Structure.R2G * Math.pow(this.prms.h1.v, 1.5); if (res.resultElement.values.ENUM_StructureFlowRegime === internal_modules_4.StructureFlowRegime.SUBMERGED) { Q = (0, internal_modules_6.Villemonte)(this.prms.h1.v, this.prms.h2.v, 1.5) * Q; } res.resultElement.vCalc = Q; return res; } getFlowRegime() { if (this.prms.h2.v > 0) { return internal_modules_4.StructureFlowRegime.SUBMERGED; } else { return internal_modules_4.StructureFlowRegime.FREE; } } 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.alpha.calculability = internal_modules_1.ParamCalculability.DICHO; this.prms.beta.calculability = internal_modules_1.ParamCalculability.FREE; this.prms.ZRAM.calculability = internal_modules_1.ParamCalculability.FREE; } } exports.StructureKivi = StructureKivi; //# sourceMappingURL=structure_kivi.js.map