Pressure Drop Calculator
// Input validation
const errors = {
"friction-factor": f <= 0 || isNaN(f),
"duct-length": L <= 0 || isNaN(L),
"duct-diameter": D <= 0 || isNaN(D),
"air-density": rho <= 0 || isNaN(rho),
"air-velocity": v <= 0 || isNaN(v),
};
let hasError = false;
for (const key in errors) {
const errorMessage = document.getElementById(`error-${key}`);
if (errors[key]) {
errorMessage.textContent = "Please provide a valid positive number.";
hasError = true;
} else {
errorMessage.textContent = "";
}
}
if (hasError) {
document.getElementById("result-box").classList.add("hidden");
return;
}
// Formula: ΔP = (f * (L / D) * ρ * v²) / 2
const pressureDrop = (f * (L / D) * rho * Math.pow(v, 2)) / 2;
// Display the result
const resultBox = document.getElementById('result-box');
const resultSpan = document.getElementById('result');
resultSpan.textContent = pressureDrop.toFixed(2);
resultBox.classList.remove("hidden");
}