jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
45 lines • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StructureWeirFree = 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 seuil dénoyé
*/
class StructureWeirFree extends internal_modules_3.RectangularStructure {
constructor(prms, dbg = false) {
super(prms, dbg);
this.setLoiDebit(internal_modules_5.LoiDebit.WeirFree);
this.prms.CdWR.visible = true;
}
Calc(sVarCalc, rInit) {
this.currentResultElement = super.Calc(sVarCalc, rInit);
// do not check h2 for derived classes (ex: StructureWeirVillemonte)
if (this.loiDebit === internal_modules_5.LoiDebit.WeirFree && this.prms.h2.v > 0) {
this._result.resultElement.addMessage(new internal_modules_1.Message(internal_modules_1.MessageCode.WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION, {
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.CdWR.v * this.prms.L.v * internal_modules_4.Structure.R2G * Math.pow(this.prms.h1.v, 1.5);
return new internal_modules_2.Result(v, this, data);
}
getFlowRegime() {
return internal_modules_4.StructureFlowRegime.FREE;
}
getFlowMode() {
return internal_modules_4.StructureFlowMode.WEIR;
}
}
exports.StructureWeirFree = StructureWeirFree;
//# sourceMappingURL=structure_weir_free.js.map