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.

78 lines 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculatePelton = exports.calculatePower = exports.calculateTorque = exports.calculateParameters = exports.calculateQ = exports.calculateHa = void 0; /** * Pure calculation functions for Pelton Wheel */ const constants_1 = require("../../shared/constants"); /** * Calculate available head (Ha) */ const calculateHa = (pressureGaugeReading) => { const { vertical_height_pressure_gauge } = constants_1.PELTON_CONSTANTS; return ((pressureGaugeReading * 10000 * constants_1.g) / constants_1.gamma + vertical_height_pressure_gauge); }; exports.calculateHa = calculateHa; /** * Calculate discharge (Q) iteratively */ const calculateQ = (h, H, Va) => { const { B } = constants_1.PELTON_CONSTANTS; const a = Math.pow(Va, 2); const b = 2 * constants_1.g; const part1 = h + a / b; const part2 = a / b; const combined = Math.pow(part1, 2.5) - Math.pow(part2, 2.5); const Q = (8 / 15) * constants_1.Cd * Math.sqrt(2 * constants_1.g) * combined; const Va1 = Q / (B * H); return { Q: Number(Q.toFixed(6)), Va1 }; }; 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.PELTON_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 calculatePelton = (pg, w1, w2, rpm, hf) => { const { hi, h1 } = constants_1.PELTON_CONSTANTS; // Convert hf from mm to m const hfMeters = hf * 0.001; const h = hi - hfMeters; const H = h1 + hi - hfMeters; const T = (0, exports.calculateTorque)(w1, w2); const Pt = (0, exports.calculatePower)(rpm, T); const Ha = (0, exports.calculateHa)(pg); const { Va1 } = (0, exports.calculateQ)(h, H, 0); const { Q } = (0, exports.calculateQ)(h, H, Va1); const { N1, Q1, T1, Pt1, Pa, eta } = (0, exports.calculateParameters)(rpm, Q, T, Pt, Ha); return { Ha, N1, Q1, T1, Pt1, Pa, eta }; }; exports.calculatePelton = calculatePelton; //# sourceMappingURL=formulas.js.map