UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

56 lines 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StructureOrificeFree = 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 classique orifice dénoyé */ class StructureOrificeFree extends internal_modules_2.Structure { constructor(prms, dbg = false) { super(prms, dbg); this.setLoiDebit(internal_modules_5.LoiDebit.OrificeFree); this._isZDVcalculable = false; } /** * paramètres castés au bon type */ get prms() { return this._prms; } Calc(sVarCalc, rInit) { this.currentResultElement = super.Calc(sVarCalc, rInit); if (this.loiDebit === internal_modules_5.LoiDebit.OrificeFree && this.prms.Z2.v > this.prms.Zco.v) { this._result.resultElement.addMessage(new internal_modules_3.Message(internal_modules_3.MessageCode.WARNING_ORIFICE_FREE_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION, { submergencePerc: this.computeSubmergencePercentage(this.prms.Z2.v - this.prms.Zco.v).toString() })); } return this._result; } /** * Calcul du débit avec l'équation classique d'un orifice dénoyé */ CalcQ() { const data = this.getResultData(); const v = this.prms.CdO.v * this.prms.S.v * internal_modules_2.Structure.R2G * Math.sqrt(Math.max(0, this.prms.h1.v)); return new internal_modules_4.Result(v, this, data); } getFlowRegime() { return internal_modules_2.StructureFlowRegime.FREE; } getFlowMode() { return internal_modules_2.StructureFlowMode.ORIFICE; } setParametersCalculability() { super.setParametersCalculability(); this.prms.S.calculability = internal_modules_1.ParamCalculability.DICHO; this.prms.CdO.calculability = internal_modules_1.ParamCalculability.DICHO; this.prms.Zco.calculability = internal_modules_1.ParamCalculability.DICHO; this.prms.ZDV.visible = false; } } exports.StructureOrificeFree = StructureOrificeFree; //# sourceMappingURL=structure_orifice_free.js.map