jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
56 lines • 2.35 kB
JavaScript
"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