UNPKG

jalhyd

Version:

JaLHyd, a Javascript Library for Hydraulics

115 lines 3.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PabNombre = 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"); const internal_modules_6 = require("../internal_modules"); class PabNombre extends internal_modules_3.Nub { constructor(prms, dbg = false) { super(prms, dbg); this.setCalculatorType(internal_modules_2.CalculatorType.PabNombre); this._defaultCalculatedParam = prms.N; this.resetDefaultCalculatedParam(); } /** * paramètres castés au bon type */ get prms() { return this._prms; } Equation(sVarCalc) { let rounded = false; if (sVarCalc !== "N" && !Number.isInteger(this.prms.N.v)) { this.prms.N.v = Math.round(this.prms.N.v); rounded = true; } let v; let DHR; let NB; let DHB; let NH; let DHH; switch (sVarCalc) { case "DHT": v = this.prms.N.v * this.prms.DH.v; break; case "N": const divAndMod = (0, internal_modules_1.floatDivAndMod)(this.prms.DHT.v, this.prms.DH.v); v = divAndMod.q; DHR = divAndMod.r; // harmonisation ? if (!(0, internal_modules_1.isEqual)(DHR, 0)) { // vers le bas if (v > 0) { NB = v; DHB = this.prms.DHT.v / NB; } // vers le haut NH = v + 1; DHH = this.prms.DHT.v / NH; } break; case "DH": v = this.prms.DHT.v / this.prms.N.v; break; default: throw new Error("PabNombre.Equation() : invalid variable name " + sVarCalc); } const r = new internal_modules_6.Result(v, this); if (DHR !== undefined) { r.resultElement.values.DHR = DHR; } if (NB !== undefined) { r.resultElement.values.NB = NB; } if (DHB !== undefined) { r.resultElement.values.DHB = DHB; } if (NH !== undefined) { r.resultElement.values.NH = NH; } if (DHH !== undefined) { r.resultElement.values.DHH = DHH; } if (rounded) { const m = new internal_modules_5.Message(internal_modules_5.MessageCode.WARNING_VALUE_ROUNDED_TO_INTEGER); m.extraVar.symbol = "N"; m.extraVar.rounded = this.prms.N.v; r.resultElement.log.add(m); } return r; } /** * paramétrage de la calculabilité des paramètres */ setParametersCalculability() { this.prms.DHT.calculability = internal_modules_4.ParamCalculability.EQUATION; this.prms.N.calculability = internal_modules_4.ParamCalculability.EQUATION; this.prms.DH.calculability = internal_modules_4.ParamCalculability.EQUATION; } static resultsUnits() { return PabNombre._resultsUnits; } exposeResults() { this._resultsFamilies = { DHR: undefined, NB: undefined, NH: undefined, DHB: undefined, DHH: undefined }; } } exports.PabNombre = PabNombre; /** * { symbol => string } map that defines units for extra results */ PabNombre._resultsUnits = { DHR: "m", DHB: "m", DHH: "m" }; //# sourceMappingURL=pab_nombre.js.map