@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
JavaScript
;
/**
* 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