UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

86 lines 3.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParTypeSC = 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 SUPERACTIVE and CHEVRON pass types */ class ParTypeSC extends internal_modules_1.ParTypeAbstract { /** * Math.sqrt(2 * 9.81) */ get RG() { return 4.42945; } CalcH() { const qStar = this.CalcQStar(); return this.prms.a.v * (this.c2h * Math.pow(qStar, 2) + this.c1h * qStar + this.c0h); } CalcHa(qStar) { if (qStar === undefined) { qStar = this.CalcQStar(); } return this.prms.a.v * (this.c2ha * Math.pow(qStar, 2) + this.c1ha * qStar + this.c0ha); } CalcQStar() { return (this.prms.Q.V / this.CalcB()) / (this.RG * Math.pow(this.prms.a.v, 1.5)); } CalcQFromQStar(qStar) { return qStar * this.RG * Math.pow(this.prms.a.v, 1.5) * this.CalcB(); } CalcQFromHa() { const x = this.ha / this.prms.a.v; const y = this.doCalcQYFromHa(x); return this.CalcQFromQStar(y); } CalcAw() { return this.CalcH() * this.CalcB(); } /** calculates the number of baffles Nb based on the baffles spacing P */ CalcNb() { return this.CalcLs() / this.P; } checkInput() { let fatal = false; const messages = []; // S if ((0, internal_modules_3.isLowerThan)(this.prms.S.v, 0.1) || (0, internal_modules_3.isGreaterThan)(this.prms.S.v, 0.18)) { fatal = true; const m = new internal_modules_2.Message(internal_modules_2.MessageCode.ERROR_PAR_S); m.extraVar.min = 0.1; m.extraVar.max = 0.18; messages.push(m); } else if ((0, internal_modules_3.isGreaterThan)(this.prms.S.v, 0.16)) { const m = new internal_modules_2.Message(internal_modules_2.MessageCode.WARNING_PAR_S); m.extraVar.min = 0.1; m.extraVar.max = 0.16; messages.push(m); } // N if (this.prms.N.v % 0.5 > 0.001 && this.prms.N.v % 0.5 < 0.499) { const m = new internal_modules_2.Message(internal_modules_2.MessageCode.WARNING_PAR_N_ROUNDED_TO_05); this.prms.N.v = Math.round(this.prms.N.v * 2) / 2; m.extraVar.val = this.prms.N.v; messages.push(m); } // a if ((0, internal_modules_3.isLowerThan)(this.prms.a.v, 0.05) || (0, internal_modules_3.isGreaterThan)(this.prms.a.v, 0.25)) { fatal = true; const m = new internal_modules_2.Message(internal_modules_2.MessageCode.ERROR_PAR_A); m.extraVar.min = 0.05; m.extraVar.max = 0.25; messages.push(m); } else if ((0, internal_modules_3.isGreaterThan)(this.prms.a.v, 0.2)) { const m = new internal_modules_2.Message(internal_modules_2.MessageCode.WARNING_PAR_A); m.extraVar.max = 0.2; messages.push(m); } return { fatal, messages }; } } exports.ParTypeSC = ParTypeSC; //# sourceMappingURL=par_type_sc.js.map