jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
74 lines • 2.53 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParTypePF = void 0;
const internal_modules_1 = require("../internal_modules");
const internal_modules_2 = require("../internal_modules");
const internal_modules_3 = require("../internal_modules");
/**
* Intermediate class for common stuff between PLANE and FATOU pass types
*/
class ParTypePF extends internal_modules_1.ParTypeAbstract {
/**
* Math.sqrt(9.81)
*/
get RG() {
return 3.13209;
}
CalcH() {
const qStar = this.CalcQStar();
return this.prms.L.v * (this.c2h * Math.pow(qStar, 2) + this.c1h * qStar + this.c0h);
}
CalcHa(qStar) {
if (qStar === undefined) {
qStar = this.CalcQStar();
}
// @TODO L.V (grand V) pour la vérification de ha p/r aux abaques ? Fait foirer le calcul de L …
return this.prms.L.v * (this.c2ha * Math.pow(qStar, 2) + this.c1ha * qStar + this.c0ha);
}
CalcQStar() {
return this.prms.Q.V / (this.RG * Math.pow(this.prms.L.v, 2.5));
}
get minQstar() {
return 0.0065;
}
get maxQstar() {
return 0.35;
}
CalcQFromQStar(qStar) {
return qStar * this.RG * Math.pow(this.prms.L.v, 2.5);
}
CalcLFromQStar(qStar) {
return Math.pow(qStar * this.RG / this.prms.Q.v, 0.4);
}
CalcQFromHa() {
const x = this.ha / this.prms.L.v;
const y = this.doCalcQYFromHa(x);
return this.CalcQFromQStar(y);
}
/** calculates the number of baffles Nb based on the baffles spacing P */
CalcNb() {
return this.CalcLs() / this.P + 1;
}
checkInput() {
let fatal = false;
const messages = [];
// L; when calculated, see Par.Calc()
if (this.prms.L.valueMode !== internal_modules_3.ParamValueMode.CALCUL) {
if (this.prms.L.v < 0.3 || this.prms.L.v > 1.3) {
fatal = true;
const m = new internal_modules_2.Message(internal_modules_2.MessageCode.ERROR_PAR_L);
m.extraVar.min = 0.3;
m.extraVar.max = 1.3;
messages.push(m);
}
else if (this.prms.L.v > 1) {
const m = new internal_modules_2.Message(internal_modules_2.MessageCode.WARNING_PAR_L);
m.extraVar.max = 1;
messages.push(m);
}
}
return { fatal, messages };
}
}
exports.ParTypePF = ParTypePF;
//# sourceMappingURL=par_type_pf.js.map