How to Calculate Evaporation Rate in Cooling Tower

Cooling Tower Evaporation Rate Calculator

Professional tool for HVAC engineers and water treatment specialists

Imperial (GPM / °F) Metric (m³/hr / °C)
Gallons Per Minute (GPM)
Degrees Fahrenheit (°F)
Degrees Fahrenheit (°F)
Typically 3.0 to 7.0

Calculation Results

Cooling Range: 0 °F

Evaporation Rate: 0 GPM

Blowdown Rate: 0 GPM

Total Makeup Water: 0 GPM

Understanding Cooling Tower Evaporation Rate

The evaporation rate is a critical metric in cooling tower management. It represents the volume of water converted to steam to reject heat from the system. Accurate calculation helps in determining chemical dosage, water costs, and environmental compliance.

The Physics of Evaporation Calculation

While precise calculations involve complex thermodynamics (enthalpy of air), the industry standard uses a simplified formula based on the cooling range (the difference between the inlet and outlet water temperatures).

  • Imperial Formula: E = Q × Range × 0.0008
  • Metric Formula: E = Q × Range × 0.00153

Where Q is the flow rate and Range is the temperature drop. The factor 0.0008 (Imperial) assumes that for every 10°F of cooling, approximately 0.8% to 1% of the water is evaporated.

Key Variables Explained

Cycles of Concentration (COC): This is the ratio of dissolved solids in the tower water to those in the makeup water. Higher COC saves water but increases the risk of scaling and corrosion. It is used to calculate Blowdown (the water intentionally drained to remove concentrated solids).

Total Makeup Water: This is the sum of Evaporation, Blowdown, and Drift loss. It represents the total amount of fresh water your facility must supply to the cooling tower.

Practical Example

Suppose you have a cooling tower operating at 1,000 GPM. The hot water enters at 95°F and leaves at 85°F (Range = 10°F). If your COC is set to 4.0:

  1. Evaporation: 1,000 × 10 × 0.0008 = 8 GPM
  2. Blowdown: 8 / (4.0 – 1) = 2.67 GPM
  3. Makeup Water: 8 + 2.67 = 10.67 GPM
function updateLabels() { var sys = document.getElementById("unitSystem").value; var flowLabel = document.getElementById("flowLabel"); var t1Label = document.getElementById("tempLabel1"); var t2Label = document.getElementById("tempLabel2"); var unitTemp = document.getElementsByClassName("unitTemp"); var unitFlow = document.getElementsByClassName("unitFlow"); if (sys === "imperial") { flowLabel.innerText = "Gallons Per Minute (GPM)"; t1Label.innerText = "Degrees Fahrenheit (°F)"; t2Label.innerText = "Degrees Fahrenheit (°F)"; for (var i = 0; i < unitTemp.length; i++) unitTemp[i].innerText = "°F"; for (var j = 0; j < unitFlow.length; j++) unitFlow[j].innerText = "GPM"; } else { flowLabel.innerText = "Cubic Meters Per Hour (m³/hr)"; t1Label.innerText = "Degrees Celsius (°C)"; t2Label.innerText = "Degrees Celsius (°C)"; for (var i = 0; i < unitTemp.length; i++) unitTemp[i].innerText = "°C"; for (var j = 0; j < unitFlow.length; j++) unitFlow[j].innerText = "m³/hr"; } } function calculateEvaporation() { var sys = document.getElementById("unitSystem").value; var Q = parseFloat(document.getElementById("flowRate").value); var T1 = parseFloat(document.getElementById("tempIn").value); var T2 = parseFloat(document.getElementById("tempOut").value); var coc = parseFloat(document.getElementById("coc").value); if (isNaN(Q) || isNaN(T1) || isNaN(T2) || isNaN(coc) || Q <= 0) { alert("Please enter valid positive numbers for all fields."); return; } var range = T1 – T2; if (range <= 0) { alert("Inlet temperature must be higher than outlet temperature."); return; } if (coc <= 1) { alert("Cycles of Concentration (COC) must be greater than 1."); return; } var factor = (sys === "imperial") ? 0.0008 : 0.00153; // Logic: E = Q * Range * Factor var evaporation = Q * range * factor; // Blowdown Calculation: B = E / (COC – 1) var blowdown = evaporation / (coc – 1); // Drift (Simplified as 0.01% of Flow Rate) var drift = Q * 0.0001; // Makeup = Evap + Blowdown + Drift var makeup = evaporation + blowdown + drift; document.getElementById("resRange").innerText = range.toFixed(2); document.getElementById("resEvap").innerText = evaporation.toFixed(2); document.getElementById("resBlow").innerText = blowdown.toFixed(2); document.getElementById("resMake").innerText = makeup.toFixed(2); document.getElementById("resultsArea").style.display = "block"; }

Leave a Comment