body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #f9f9f9;
}
.calculator-wrapper {
background: #ffffff;
padding: 30px;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
margin-bottom: 40px;
border-top: 5px solid #0056b3;
}
h1 {
text-align: center;
color: #0056b3;
margin-bottom: 20px;
}
.input-group {
margin-bottom: 20px;
}
label {
display: block;
font-weight: 600;
margin-bottom: 8px;
color: #444;
}
input[type="number"] {
width: 100%;
padding: 12px;
border: 1px solid #ddd;
border-radius: 6px;
font-size: 16px;
box-sizing: border-box;
transition: border-color 0.3s;
}
input[type="number"]:focus {
border-color: #0056b3;
outline: none;
}
.row {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
.col {
flex: 1;
min-width: 250px;
}
.section-title {
font-size: 1.1em;
color: #0056b3;
border-bottom: 2px solid #eee;
padding-bottom: 10px;
margin-bottom: 15px;
margin-top: 0;
}
button.calc-btn {
background-color: #0056b3;
color: white;
border: none;
padding: 15px 30px;
font-size: 18px;
font-weight: bold;
border-radius: 6px;
cursor: pointer;
width: 100%;
transition: background-color 0.2s;
margin-top: 10px;
}
button.calc-btn:hover {
background-color: #004494;
}
#results {
margin-top: 25px;
padding: 20px;
background-color: #eef7ff;
border-radius: 8px;
display: none;
border-left: 5px solid #0056b3;
}
.result-row {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
font-size: 16px;
}
.result-row.final {
font-weight: bold;
font-size: 20px;
color: #0056b3;
border-top: 1px solid #cce5ff;
padding-top: 10px;
margin-top: 10px;
}
.content-section h2 {
color: #2c3e50;
margin-top: 30px;
}
.content-section p {
margin-bottom: 15px;
}
.formula-box {
background: #eee;
padding: 15px;
border-radius: 5px;
font-family: monospace;
text-align: center;
font-size: 1.1em;
margin: 20px 0;
}
.error-msg {
color: #dc3545;
display: none;
margin-top: 10px;
font-weight: bold;
}
About the Mixed Air Temperature Calculation
In HVAC systems, the Mixed Air Temperature (MAT) is the temperature of the air stream that results from mixing the return air (recirculated from the building) with the outdoor air (ventilation). Calculating this value is critical for diagnosing system performance, verifying economizer operation, and ensuring energy efficiency.
The Mixed Air Formula
The calculation uses a weighted average based on the volume of air (measured in Cubic Feet per Minute or CFM) coming from each source. The physics relies on the conservation of energy and mass.
Tmixed = [(Treturn × Vreturn) + (Toutdoor × Voutdoor)] / Vtotal
Where:
- Tmixed = Mixed Air Temperature
- Treturn = Return Air Temperature
- Vreturn = Return Air Volume (CFM)
- Toutdoor = Outdoor Air Temperature
- Voutdoor = Outdoor Air Volume (CFM)
- Vtotal = Total Air Volume (Return + Outdoor)
Why is MAT Important?
1. Economizer Diagnostics: If an air handler is in economizer mode (using cool outside air to cool the building), the mixed air temperature should be close to the setpoint (often 55°F). If the calculation differs significantly from the sensor reading, dampers may be stuck or actuators might be failed.
2. Energy Efficiency: Improper mixing or excessive outdoor air intake during extreme weather (very hot or very cold days) puts a massive load on heating and cooling coils. Verifying the MAT helps technicians adjust damper positions to optimize the outdoor air percentage.
3. Freeze Protection: In cold climates, if the mixed air temperature drops too low due to too much outdoor air or poor mixing, it can trip freezestats or damage water coils.
Example Calculation
Imagine a commercial air handling unit operating under the following conditions:
- Return Air: 72°F at 15,000 CFM
- Outdoor Air: 95°F at 5,000 CFM
First, calculate the total CFM: 15,000 + 5,000 = 20,000 CFM.
Next, apply the weighted average formula:
Numerator = (72 × 15,000) + (95 × 5,000) = 1,080,000 + 475,000 = 1,555,000
MAT = 1,555,000 / 20,000 = 77.75°F
This calculator automates this math, allowing HVAC technicians and engineers to quickly verify system parameters in the field.
function calculateMixedAir() {
// Get input elements by ID
var returnTempInput = document.getElementById("returnTemp");
var returnCFMInput = document.getElementById("returnCFM");
var outdoorTempInput = document.getElementById("outdoorTemp");
var outdoorCFMInput = document.getElementById("outdoorCFM");
// Get output elements
var resultDiv = document.getElementById("results");
var errorDiv = document.getElementById("error-message");
var resTotalCFM = document.getElementById("res-totalCFM");
var resOutdoorPct = document.getElementById("res-outdoorPct");
var resMixedTemp = document.getElementById("res-mixedTemp");
// Parse values
var tReturn = parseFloat(returnTempInput.value);
var vReturn = parseFloat(returnCFMInput.value);
var tOutdoor = parseFloat(outdoorTempInput.value);
var vOutdoor = parseFloat(outdoorCFMInput.value);
// Validation
if (isNaN(tReturn) || isNaN(vReturn) || isNaN(tOutdoor) || isNaN(vOutdoor)) {
errorDiv.style.display = "block";
resultDiv.style.display = "none";
return;
}
var totalCFM = vReturn + vOutdoor;
if (totalCFM <= 0) {
errorDiv.innerText = "Total airflow (CFM) must be greater than zero.";
errorDiv.style.display = "block";
resultDiv.style.display = "none";
return;
}
// Reset error message
errorDiv.style.display = "none";
// Calculation Logic: Weighted Average
// T_mixed = ((T_return * V_return) + (T_outdoor * V_outdoor)) / V_total
var totalHeatFactor = (tReturn * vReturn) + (tOutdoor * vOutdoor);
var mixedTemp = totalHeatFactor / totalCFM;
// Calculate Outdoor Air Percentage
var outdoorPercentage = (vOutdoor / totalCFM) * 100;
// Update UI
resTotalCFM.innerText = totalCFM.toLocaleString() + " CFM";
resOutdoorPct.innerText = outdoorPercentage.toFixed(1) + "%";
resMixedTemp.innerText = mixedTemp.toFixed(2) + " °F";
// Show results
resultDiv.style.display = "block";
}