jalhyd
Version:
JaLHyd, a Javascript Library for Hydraulics
70 lines • 2.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParTypeChevron = void 0;
const internal_modules_1 = require("../internal_modules");
const internal_modules_2 = require("../internal_modules");
const internal_modules_3 = require("../internal_modules");
class ParTypeChevron extends internal_modules_1.ParTypeSC {
constructor(prms) {
super(prms);
this.type = internal_modules_2.ParType.CHEVRON;
}
// tslint:disable-next-line:variable-name
CalcZRFromZD(ZDv) {
return ZDv + (4 * this.prms.a.v * this.prms.S.v - this.prms.a.v) / Math.sqrt(1 + this.prms.S.v * this.prms.S.v);
}
// tslint:disable-next-line:variable-name
CalcZDFromZR(ZRv) {
return ZRv - (4 * this.prms.a.v * this.prms.S.v - this.prms.a.v) / Math.sqrt(1 + this.prms.S.v * this.prms.S.v);
}
CalcP() {
return 4 * this.prms.a.v;
}
get minQstar() {
return 0.7;
}
get maxQstar() {
return 8.1;
}
addExtraResults(res) {
super.addExtraResults(res);
res.resultElement.values.B = this.CalcB();
}
checkInput() {
const status = super.checkInput();
// M, round to 1
if (this.prms.M.v % 1 > 0.001 && this.prms.M.v % 1 < 0.999) {
const m = new internal_modules_3.Message(internal_modules_3.MessageCode.WARNING_PAR_M_ROUNDED_TO_1);
this.prms.M.v = Math.round(this.prms.M.v);
m.extraVar.val = this.prms.M.v;
status.messages.push(m);
}
// M, max. 2*N
if (this.prms.M.v > this.prms.N.v * 2) {
status.fatal = true;
const m = new internal_modules_3.Message(internal_modules_3.MessageCode.ERROR_PAR_M_GREATER_THAN_2_N);
m.extraVar.max = this.prms.N.v * 2;
status.messages.push(m);
}
return status;
}
get coef() {
return {
"h": {
"c0": [0, -4.97686, 1.30546],
"c1": [0, 0.176261, 0.661656],
"c2": [0, -0.0733832, -0.00839864]
},
"ha": {
"c0": [0, 5.02138, 0.709434],
"c1": [0, -2.47998, 1.25363],
"c2": [0, 0.188324, -0.0427461]
}
};
}
CalcB() {
return 6 * this.prms.a.v * this.prms.N.v + 0.5 * this.prms.a.v * this.prms.M.v;
}
}
exports.ParTypeChevron = ParTypeChevron;
//# sourceMappingURL=par_type_chevron.js.map