Please enter valid positive numbers for all fields.
Total Heat Input:0 MMBtu/hr
Total Gross Power:0 MW
Net Plant Output:0 MW
Net Plant Heat Rate:0 Btu/kWh
Thermal Efficiency:0%
Understanding Combined Cycle Heat Rate
In power generation thermodynamics, Heat Rate is the critical metric used to measure the efficiency of a power plant. Unlike "efficiency" which is expressed as a percentage, heat rate represents the thermal energy input required to generate one kilowatt-hour (kWh) of electricity. A lower heat rate indicates a more efficient facility, as less fuel is consumed to produce the same amount of power.
How Combined Cycle Power Plants (CCPP) Work
A Combined Cycle Power Plant utilizes both a gas turbine and a steam turbine to generate electricity, maximizing the energy extracted from the fuel source.
Gas Cycle (Brayton Cycle): Natural gas or oil is burned in a combustion turbine, driving a generator.
Steam Cycle (Rankine Cycle): The hot exhaust gases from the gas turbine, which would otherwise be wasted, are routed to a Heat Recovery Steam Generator (HRSG). This creates steam to drive a secondary steam turbine.
Because waste heat is repurposed, combined cycle plants achieve significantly lower heat rates (and higher efficiencies) than simple cycle plants.
Formulas Used in This Calculation
To calculate the Net Plant Heat Rate, we determine the total energy input and divide it by the net electrical output.
Net Output (kW) = (GT Output + ST Output – Aux Load) × 1000
Net Heat Rate (Btu/kWh) = Heat Input / Net Output
Thermal Efficiency is derived directly from the heat rate. Since 1 kWh of electricity is thermally equivalent to 3,412 Btu:
Efficiency (%) = (3,412 / Net Heat Rate) × 100
Why Monitoring Heat Rate Matters
For power plant operators, a deviation in heat rate can signify equipment degradation, fouling in the compressor, or issues within the HRSG. Continuous monitoring helps in optimizing fuel costs, reducing carbon footprint, and scheduling maintenance effectively. Typical modern combined cycle plants achieve heat rates between 6,000 and 7,500 Btu/kWh.
function calculateCCHeatRate() {
// Get input values
var fuelFlow = document.getElementById('fuelFlow').value;
var heatingValue = document.getElementById('heatingValue').value;
var gtOutput = document.getElementById('gtOutput').value;
var stOutput = document.getElementById('stOutput').value;
var auxLoad = document.getElementById('auxLoad').value;
var errorMsg = document.getElementById('errorMsg');
var resultBox = document.getElementById('resultBox');
// Validate inputs
if (fuelFlow === "" || heatingValue === "" || gtOutput === "" || stOutput === "" || auxLoad === "") {
errorMsg.style.display = "block";
resultBox.style.display = "none";
return;
}
// Convert to numbers
fuelFlow = parseFloat(fuelFlow);
heatingValue = parseFloat(heatingValue);
gtOutput = parseFloat(gtOutput);
stOutput = parseFloat(stOutput);
auxLoad = parseFloat(auxLoad);
// Check for negative numbers or zero where inappropriate
if (fuelFlow <= 0 || heatingValue <= 0 || gtOutput < 0 || stOutput < 0 || auxLoad < 0) {
errorMsg.style.display = "block";
resultBox.style.display = "none";
return;
}
errorMsg.style.display = "none";
// 1. Calculate Total Heat Input (Btu/hr)
var totalHeatInputBtu = fuelFlow * heatingValue;
var totalHeatInputMMBtu = totalHeatInputBtu / 1000000; // Convert to MMBtu for display
// 2. Calculate Total Gross Power (MW)
var grossPower = gtOutput + stOutput;
// 3. Calculate Net Plant Output (MW and kW)
var netPowerMW = grossPower – auxLoad;
var netPowerKW = netPowerMW * 1000; // Convert to kW for Heat Rate calc
// Handle edge case: Net power 0 or negative
if (netPowerKW <= 0) {
errorMsg.innerText = "Net Output is zero or negative. Check Aux Load.";
errorMsg.style.display = "block";
resultBox.style.display = "none";
return;
}
// 4. Calculate Net Heat Rate (Btu/kWh)
var heatRate = totalHeatInputBtu / netPowerKW;
// 5. Calculate Efficiency (%)
// 1 kWh = 3412.14 Btu
var efficiency = (3412.14 / heatRate) * 100;
// Display Results
document.getElementById('resHeatInput').innerText = totalHeatInputMMBtu.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + " MMBtu/hr";
document.getElementById('resGrossPower').innerText = grossPower.toLocaleString(undefined, {minimumFractionDigits: 1, maximumFractionDigits: 1}) + " MW";
document.getElementById('resNetPower').innerText = netPowerMW.toLocaleString(undefined, {minimumFractionDigits: 1, maximumFractionDigits: 1}) + " MW";
document.getElementById('resHeatRate').innerText = Math.round(heatRate).toLocaleString() + " Btu/kWh";
document.getElementById('resEfficiency').innerText = efficiency.toFixed(2) + "%";
resultBox.style.display = "block";
}