.sthr-calculator-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: #f9f9f9;
border: 1px solid #e0e0e0;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.sthr-header {
text-align: center;
margin-bottom: 25px;
background-color: #2c3e50;
color: white;
padding: 15px;
border-radius: 6px 6px 0 0;
}
.sthr-header h2 {
margin: 0;
font-size: 24px;
}
.sthr-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
@media (max-width: 600px) {
.sthr-grid {
grid-template-columns: 1fr;
}
}
.sthr-input-group {
margin-bottom: 15px;
}
.sthr-input-group label {
display: block;
margin-bottom: 5px;
font-weight: 600;
color: #333;
}
.sthr-input-group input {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box; /* Ensures padding doesn't affect width */
}
.sthr-input-group small {
color: #666;
font-size: 0.85em;
}
.sthr-controls {
grid-column: 1 / -1;
display: flex;
gap: 10px;
margin-top: 10px;
}
.sthr-btn {
flex: 1;
padding: 12px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
font-weight: bold;
transition: background-color 0.2s;
}
.sthr-btn-calc {
background-color: #e67e22;
color: white;
}
.sthr-btn-calc:hover {
background-color: #d35400;
}
.sthr-btn-reset {
background-color: #95a5a6;
color: white;
}
.sthr-btn-reset:hover {
background-color: #7f8c8d;
}
.sthr-results {
grid-column: 1 / -1;
margin-top: 20px;
padding: 20px;
background-color: #ffffff;
border: 1px solid #ddd;
border-radius: 4px;
display: none; /* Hidden by default */
}
.sthr-result-item {
margin-bottom: 15px;
border-bottom: 1px solid #eee;
padding-bottom: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}
.sthr-result-item:last-child {
border-bottom: none;
margin-bottom: 0;
}
.sthr-result-label {
font-weight: 600;
color: #555;
}
.sthr-result-value {
font-size: 20px;
font-weight: 700;
color: #2c3e50;
}
.sthr-highlight {
color: #e67e22;
font-size: 24px;
}
.sthr-article {
max-width: 800px;
margin: 40px auto 0;
padding: 0 20px;
line-height: 1.6;
color: #333;
}
.sthr-article h2 {
color: #2c3e50;
border-bottom: 2px solid #e67e22;
padding-bottom: 10px;
margin-top: 30px;
}
.sthr-article h3 {
color: #34495e;
margin-top: 25px;
}
.sthr-article ul {
background: #fdfdfd;
padding: 20px 40px;
border-left: 4px solid #e67e22;
}
.sthr-article code {
background: #eee;
padding: 2px 5px;
border-radius: 3px;
}
function calculateHeatRate() {
// 1. Get Input Values
var flow = document.getElementById('steamFlow').value;
var powerMW = document.getElementById('powerOutput').value;
var hIn = document.getElementById('enthalpyIn').value;
var hOut = document.getElementById('enthalpyOut').value;
// 2. Validate Inputs
if (flow === "" || powerMW === "" || hIn === "" || hOut === "") {
alert("Please fill in all fields to calculate the heat rate.");
return;
}
flow = parseFloat(flow);
powerMW = parseFloat(powerMW);
hIn = parseFloat(hIn);
hOut = parseFloat(hOut);
if (flow <= 0 || powerMW <= 0) {
alert("Steam flow and Power Output must be greater than zero.");
return;
}
if (hIn <= hOut) {
alert("Inlet Enthalpy must be higher than Outlet Enthalpy for the turbine to do work.");
return;
}
// 3. Perform Calculations
// Convert Power from MW to kW for the Heat Rate formula (Btu/kWh)
var powerKW = powerMW * 1000;
// Calculate Heat Added to the cycle (Btu/hr)
// Formula: Flow (lbs/hr) * (h_in – h_out) (Btu/lb)
var heatInputBtuHr = flow * (hIn – hOut);
// Convert Heat Input to MMBtu/hr for display (1 MMBtu = 1,000,000 Btu)
var heatInputMMBtu = heatInputBtuHr / 1000000;
// Calculate Heat Rate (Btu/kWh)
// Formula: Heat Input (Btu/hr) / Power Output (kW)
var heatRate = heatInputBtuHr / powerKW;
// Calculate Thermal Efficiency (%)
// Constant: 3412.14 Btu = 1 kWh
// Formula: 3412.14 / Heat Rate * 100
var efficiency = (3412.14 / heatRate) * 100;
// 4. Update UI
document.getElementById('resultHeatRate').innerHTML = heatRate.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0}) + " Btu/kWh";
document.getElementById('resultEfficiency').innerHTML = efficiency.toFixed(2) + "%";
document.getElementById('resultHeatInput').innerHTML = heatInputMMBtu.toFixed(2) + " MMBtu/hr";
// Show result container
document.getElementById('resultsArea').style.display = "block";
}
function resetCalculator() {
document.getElementById('steamFlow').value = '';
document.getElementById('powerOutput').value = '';
document.getElementById('enthalpyIn').value = '';
document.getElementById('enthalpyOut').value = '';
document.getElementById('resultsArea').style.display = "none";
}
How to Calculate Heat Rate of a Steam Turbine
The heat rate is one of the most critical performance metrics for any thermal power plant. It represents the efficiency of the conversion of thermal energy (fuel or steam) into electrical energy. Specifically, for a steam turbine, calculating the heat rate helps engineers understand how much heat energy is required to generate one kilowatt-hour (kWh) of electricity.
A lower heat rate indicates a more efficient turbine, meaning less fuel (and consequently lower cost and emissions) is required to produce the same amount of power.
The Steam Turbine Heat Rate Formula
In the Imperial system, Heat Rate is typically expressed in Btu/kWh (British Thermal Units per kilowatt-hour). The fundamental calculation involves determining the total heat energy added to the steam cycle and dividing it by the electrical power output.
The formula used in the calculator above is:
- Heat Rate (Btu/kWh) = Heat Input (Btu/hr) / Power Output (kW)
Where Heat Input is derived from the thermodynamics of the steam:
- Heat Input (Btu/hr) = Mass Flow Rate (lbs/hr) × (Inlet Enthalpy – Outlet Enthalpy)
Understanding the Variables
- Main Steam Flow Rate ($\dot{m}$): The mass of steam passing through the turbine per hour, measured in pounds per hour (lbs/hr).
- Inlet Steam Enthalpy ($h_{in}$): The total energy content of the steam entering the turbine, measured in Btu/lb. This depends on the pressure and temperature of the steam.
- Outlet/Feedwater Enthalpy ($h_{out}$): The energy content of the steam or condensate leaving the turbine cycle. In a simplified Rankine cycle, this is often the enthalpy of the feedwater returning to the boiler.
- Gross Power Output ($P$): The electrical output generated by the turbine generator, usually measured in Megawatts (MW). Note that 1 MW = 1,000 kW.
Calculation Example
Let's look at a practical example to understand how the math works for a mid-sized industrial steam turbine.
Given Parameters:
- Steam Flow: 500,000 lbs/hr
- Inlet Enthalpy (High Pressure/Temp): 1,450 Btu/lb
- Outlet Enthalpy (Condensate): 300 Btu/lb
- Power Output: 50 MW (which is 50,000 kW)
Step 1: Calculate Heat Input
Heat Input = 500,000 × (1,450 – 300)
Heat Input = 500,000 × 1,150
Heat Input = 575,000,000 Btu/hr
Step 2: Calculate Heat Rate
Heat Rate = 575,000,000 Btu/hr / 50,000 kW
Heat Rate = 11,500 Btu/kWh
Converting Heat Rate to Thermal Efficiency
While Heat Rate is the standard in the US power industry, thermal efficiency (percentage) is often used in physics and thermodynamics. They are inversely related. Since 1 kWh of electricity is physically equivalent to 3,412.14 Btu of heat energy, a perfectly efficient machine (100% efficiency) would have a heat rate of 3,412 Btu/kWh.
To convert Heat Rate to Efficiency:
Efficiency (%) = 3,412 / Heat Rate × 100
Using our example of 11,500 Btu/kWh:
Efficiency = 3,412 / 11,500 × 100 = 29.67%
Factors Affecting Heat Rate
Several factors can degrade a turbine's heat rate over time, leading to higher operational costs:
- Blade Deposits: Silica or copper deposits on turbine blades alter the aerodynamic profile, reducing efficiency.
- Seal Leakage: Worn labyrinth seals allow steam to bypass the working stages of the turbine.
- Condenser Performance: Poor vacuum in the condenser increases the backpressure, reducing the energy extracted from the steam.
- Throttle Conditions: Operating below design temperature or pressure reduces the available enthalpy drop.