UNPKG

@ppramanik62/lab-works

Version:

A comprehensive command-line toolkit for hydraulic turbine calculations, supporting Francis Turbine and Pelton Wheel computations with interactive mode and validation.

71 lines 2.54 kB
"use strict"; /** * Pure calculation functions for Kaplan Turbine */ Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateKaplan = exports.calculatePower = exports.calculateTorque = exports.calculateParameters = exports.calculateQ = exports.calculateHa = void 0; const constants_1 = require("../../shared/constants"); /** * Calculate available head (Ha) */ const calculateHa = (pressureGaugeReadingPositive) => { const { vertical_height_pressure_gauge, h0 } = constants_1.KAPLAN_CONSTANTS; return ((pressureGaugeReadingPositive * 10000 * constants_1.g) / constants_1.gamma + vertical_height_pressure_gauge + h0); }; exports.calculateHa = calculateHa; /** * Calculate discharge (Q) */ const calculateQ = (lhs_mercury, rhs_mercury) => { const { Cd, d1, d2, Sm } = constants_1.KAPLAN_CONSTANTS; const A1 = (Math.PI * Math.pow(d1, 2)) / 4; const A2 = (Math.PI * Math.pow(d2, 2)) / 4; const Hm = (lhs_mercury - rhs_mercury) * 0.01; const a = 2 * constants_1.g * Hm * (Sm - 1); const b = Math.pow(A1, 2) - Math.pow(A2, 2); return Cd * A1 * A2 * Math.sqrt(a / b); }; exports.calculateQ = calculateQ; /** * Calculate performance parameters */ const calculateParameters = (N, Q, T, Pt, Ha) => { const N1 = N / Math.sqrt(Ha); const Q1 = Q / Math.sqrt(Ha); const T1 = T / Ha; const Pt1 = Pt / Math.pow(Ha, 1.5); const Pa = constants_1.gamma * Q * Ha; const eta = (Pt / Pa) * 100; return { N1, Q1, T1, Pt1, Pa, eta }; }; exports.calculateParameters = calculateParameters; /** * Calculate torque from weights */ const calculateTorque = (w1, w2) => { const { r_brake_wheel, r_rope } = constants_1.KAPLAN_CONSTANTS; return (w1 - w2) * constants_1.g * (r_brake_wheel + r_rope); }; exports.calculateTorque = calculateTorque; /** * Calculate power from torque and RPM */ const calculatePower = (N, T) => { return (2 * Math.PI * N * T) / 60; }; exports.calculatePower = calculatePower; /** * Main calculation function */ const calculateKaplan = (pg, w1, w2, rpm, lhs_mercury, rhs_mercury) => { const T = (0, exports.calculateTorque)(w1, w2); const Pt = (0, exports.calculatePower)(rpm, T); const Ha = (0, exports.calculateHa)(pg); const Q = (0, exports.calculateQ)(lhs_mercury, rhs_mercury); const { N1, Q1, T1, Pt1, Pa, eta } = (0, exports.calculateParameters)(rpm, Q, T, Pt, Ha); return { Ha, N1, Q1, T1, Pt1, Pa, eta }; }; exports.calculateKaplan = calculateKaplan; //# sourceMappingURL=formulas.js.map