「この部屋には6畳用のエアコンで十分ですよ」
家電量販店でよく聞くこのセリフ。でも待ってください。6畳用って、本当に正しいんでしょうか?
窓が大きくて西日がガンガン当たる部屋と、北側にあって日がほとんど入らない部屋。天井が3mある古い物件と、現代のマンション。同じ6畳でも、必要なエアコンの能力は全然違うはずです。
実は「畳数でエアコンを選ぶ」という習慣、設計の世界ではほとんど通用しません。プロは「熱負荷計算」という方法で、部屋ごとに必要な冷暖房能力を数値で決めているんです。
今日は、ブラウザで動く「空調熱負荷計算機」を題材に、この計算の全貌を解説します。最後には、あなた自身でコードを書いて計算できるようになりますよ。
ざっくり本質:部屋の「熱の収支」を考える
熱負荷計算の本質は、たった一文で表せます。
「部屋の中の熱が、どれだけ増えるか/減るか」を全部足し算したもの
冷房のときを考えてみましょう。暑い夏の日、部屋の中の熱はこんなルートで増えます:
- 外壁・屋根・窓から、外の熱がジワジワ侵入してくる(貫流熱)
- 窓から、太陽の日射がガラスを通して入ってくる(日射熱)
- 人間・パソコン・照明が熱を出している(内部発熱)
- 換気で外の暑い空気が入ってくる(換気負荷)
暖房のときは、逆に外に逃げる熱を計算します。
つまり、熱負荷 = 入ってくる熱の合計 - 逃げていく熱の合計。この差を埋めるだけの能力がエアコンに必要、というわけです。
数式で理解する:熱負荷計算の核心
では、実際の計算式を見てみましょう。今回のシミュレーターが使っている式はこちらです:
Q_{sens}= \underbrace{(U_w A_w + U_r A_r + U_g A_g)\Delta T}_{\text{貫流熱}}+ \underbrace{I \cdot A_g \cdot SHGC}_{\text{日射}}+ \underbrace{Q_{light}+Q_{equip}+Q_{people,s}}_{\text{内部発熱}}+ \underbrace{\dot{V}\rho c_p\Delta T}_{\text{換気}}
記号の意味を一つずつ見ていきましょう。
各項の解説
① 貫流熱(壁・屋根・窓からの熱の出入り)
- $U_w, U_r, U_g$:壁・屋根・窓の熱貫流率(W/m²K)。数値が小さいほど断熱性能が高い
- $A_w, A_r, A_g$:壁・屋根・窓の面積(m²)
- $\Delta T$:室内外温度差(K)。冷房なら外気温-室温、暖房なら室温-外気温
これ、要するに「断熱材の性能 × 表面積 × 温度差」で熱の逃げやすさを計算しているんです。
② 日射熱(窓から入る太陽の熱)
- $I$:日射強度(W/m²)。地域や窓の向きで変わる
- $A_g$:窓面積(m²)
- $SHGC$:日射熱取得係数。ガラスの性能値で、小さいほど日射をカット
③ 内部発熱(人・機器・照明)
- $Q_{light}$:照明の発熱(W)
- $Q_{equip}$:機器の発熱(W)
- $Q_{people,s}$:人体からの顕熱発熱(W)
人が発する熱には「温度を上げる顕熱」と「湿度を上げる潜熱」があるんです。ここでは顕熱だけを扱います。
④ 換気負荷(外気の導入による熱負荷)
- $\dot{V}$:換気量(m³/s)
- $\rho$:空気密度(約1.2 kg/m³)
- $c_p$:空気の比熱(約1005 J/kgK)
- $\Delta T$:内外温度差
「換気すればするほど外の熱が入ってくる」という直感を、数式で表したものです。
コードで実装する:JavaScriptで熱負荷計算機を作る
では、実際に計算するコードを書いてみましょう。今回のシミュレーターのロジックを、ブラウザで動くJavaScriptで再現します。
/**
* 空調熱負荷計算機(コアロジック)
* 外壁・窓・人員・照明からの熱負荷を計算
*/
class HVACLoadCalculator {
constructor() {
// 物理定数
this.rho = 1.2; // 空気密度 [kg/m³]
this.cp = 1005; // 空気比熱 [J/kgK]
}
/**
* 熱負荷を計算するメインメソッド
* @param {Object} params - 入力パラメータ
* @returns {Object} 計算結果
*/
calculate(params) {
// --- 1. 面積計算(標準的な部屋形状を想定) ---
const floorArea = params.floorWidth * params.floorDepth; // 床面積 [m²]
const wallHeight = params.ceilingHeight; // 天井高 [m]
const perimeter = 2 * (params.floorWidth + params.floorDepth); // 外周長 [m]
// 壁面積 = 外周長 × 天井高 - 窓面積
const wallArea = perimeter * wallHeight - params.windowArea;
// 屋根面積(最上階想定)= 床面積
const roofArea = floorArea;
// --- 2. 貫流熱(壁・屋根・窓) ---
const tempDiff = params.isCooling
? params.outdoorTemp - params.indoorTemp // 冷房時
: params.indoorTemp - params.outdoorTemp; // 暖房時
const conductionHeat =
params.uWall * wallArea * tempDiff + // 壁
params.uRoof * roofArea * tempDiff + // 屋根
params.uWindow * params.windowArea * tempDiff; // 窓
// --- 3. 日射熱(窓から入る太陽熱) ---
const solarHeat =
params.solarRadiation * params.windowArea * params.shgc;
// --- 4. 内部発熱 ---
const internalHeat =
params.lightingHeat + // 照明
params.equipmentHeat + // 機器
params.peopleCount * params.peopleSensible; // 人体(顕熱)
// --- 5. 換気負荷 ---
const ventilationHeat =
params.ventilationRate * this.rho * this.cp * tempDiff;
// --- 6. 総合熱負荷 ---
const totalLoad = conductionHeat + solarHeat + internalHeat + ventilationHeat;
// --- 7. 潜熱負荷(簡易計算) ---
// 換気による潜熱 + 人体からの潜熱
const latentVent = params.ventilationRate * this.rho *
2500 * (params.outdoorHumidity - params.indoorHumidity);
const latentPeople = params.peopleCount * params.peopleLatent;
const totalLatent = latentVent + latentPeople;
// SHR(顕熱比)= 顕熱負荷 / 全熱負荷
const totalHeat = totalLoad + totalLatent;
const shr = totalHeat > 0 ? totalLoad / totalHeat : 0;
// 推奨エアコン容量(安全率1.2倍)
const recommendedCapacity = totalLoad * 1.2;
return {
conductionHeat: Math.round(conductionHeat),
solarHeat: Math.round(solarHeat),
internalHeat: Math.round(internalHeat),
ventilationHeat: Math.round(ventilationHeat),
totalSensible: Math.round(totalLoad),
totalLatent: Math.round(totalLatent),
totalHeat: Math.round(totalHeat),
shr: Math.round(shr * 100) / 100,
recommendedCapacity: Math.round(recommendedCapacity)
};
}
}
// --- 使用例 ---
const calc = new HVACLoadCalculator();
// 東京の夏、オフィス想定
const result = calc.calculate({
floorWidth: 6, // 部屋の幅 [m]
floorDepth: 5, // 部屋の奥行 [m]
ceilingHeight: 2.7, // 天井高 [m]
windowArea: 6, // 窓面積 [m²]
uWall: 0.53, // 壁の熱貫流率 [W/m²K]
uRoof: 0.38, // 屋根の熱貫流率 [W/m²K]
uWindow: 5.8, // 窓の熱貫流率(シングルガラス)[W/m²K]
shgc: 0.6, // 日射熱取得係数
solarRadiation: 300, // 日射強度 [W/m²]
indoorTemp: 26, // 室温 [°C]
outdoorTemp: 35, // 外気温 [°C]
indoorHumidity: 0.005, // 室内絶対湿度 [kg/kg]
outdoorHumidity: 0.015, // 外気絶対湿度 [kg/kg]
lightingHeat: 300, // 照明発熱 [W](10W/m² × 30m²)
equipmentHeat: 300, // 機器発熱 [W]
peopleCount: 4, // 人数
peopleSensible: 60, // 一人あたり顕熱発熱 [W]
peopleLatent: 40, // 一人あたり潜熱発熱 [W]
ventilationRate: 0.1, // 換気量 [m³/s]
isCooling: true // 冷房モード
});
console.log('=== 熱負荷計算結果 ===');
console.log(`貫流熱: ${result.conductionHeat} W`);
console.log(`日射熱: ${result.solarHeat} W`);
console.log(`内部発熱: ${result.internalHeat} W`);
console.log(`換気負荷: ${result.ventilationHeat} W`);
console.log(`顕熱負荷合計: ${result.totalSensible} W`);
console.log(`潜熱負荷合計: ${result.totalLatent} W`);
console.log(`全熱負荷: ${result.totalHeat} W`);
console.log(`SHR(顕熱比): ${result.shr}`);
console.log(`推奨エアコン容量: ${result.recommendedCapacity} W`);
このコード、ブラウザの開発者ツールに貼り付ければそのまま動きます。ぜひ試してみてください。
数値例で確かめる:実際に計算してみる
上のコードの使用例で、具体的に計算してみましょう。
条件設定:
- 東京の夏、南向きのオフィス
- 部屋サイズ:6m × 5m(30m²、約18畳)
- 窓面積:6m²(南面に大きな窓)
- 窓:シングルガラス(U値5.8)
- 外気温35°C、室温26°C
- 4人在室、照明・機器各300W
計算過程:
① 貫流熱
- 壁面積 = 外周長(22m) × 天井高(2.7m) - 窓面積(6m²) = 53.4 m²
- 壁貫流 = 0.53 × 53.4 × (35-26) = 254.7 W
- 屋根貫流 = 0.38 × 30 × (35-26) = 102.6 W
- 窓貫流 = 5.8 × 6 × (35-26) = 313.2 W
- 合計:670.5 W
② 日射熱
- 300(W/m²) × 6(m²) × 0.6 = 1080 W
③ 内部発熱
- 300 + 300 + 4×60 = 840 W
④ 換気負荷
- 0.1(m³/s) × 1.2(kg/m³) × 1005(J/kgK) × 9(K) = 1085.4 W
⑤ 総顕熱負荷
- 670.5 + 1080 + 840 + 1085.4 = 3675.9 W → 約3.7 kW
⑥ 推奨エアコン容量
- 3.7 kW × 1.2(安全率)= 4.4 kW
この結果、約4.4kWのエアコンが必要という計算になります。一般的な18畳用エアコンが4.0〜5.6kWなので、畳数から選ぶのと大きくはズレません。しかし、窓の性能や日射条件で結果は大きく変わることを、次の実験で見ていきましょう。
シミュレーターで遊ぶ:3つの実験
実験1:窓の性能を変えてみる
先ほどの条件で、窓を**シングルガラス(U値5.8, SHGC 0.6)からトリプルLow-E(U値1.0, SHGC 0.3)**に変更します。
変化する項目:
- 窓からの貫流熱:313W → 54W(▲259W)
- 日射熱:1080W → 540W(▲540W)
- 総合負荷:3.7kW → 2.9kW(▲約22%)
たった窓を変えただけで、エアコン1台分近くの負荷が減るんです。これが「断熱リフォーム」の効果の大きさです。
実験2:地域を変えてみる
同じ建物を**札幌(冬 -12°C)**に持っていくとどうなるか。
- 暖房時の温度差:20°C - (-12°C) = 32°C
- 貫流熱:約2.4kW(東京の夏の約3.6倍!)
- 換気負荷:約3.9kW(同3.6倍)
- 暖房負荷合計:約6.5kW
北海道の冬は、夏の冷房よりはるかに大きな暖房能力が必要になるんです。これが「寒冷地仕様のエアコン」が存在する理由です。
実験3:内部発熱を極端に変える
サーバールームを想定:機器発熱を300W → 3000Wに変更。
- 内部発熱:840W → 3540W(+2700W)
- 総合負荷:3.7kW → 6.4kW(約1.7倍!)
サーバールームでは内部発熱が支配的になるため、断熱をいくら強化しても効果が限定的です。むしろ、サーバー自体の効率や空調の効率的な配置が重要になります。
現場でハマるポイント:知らないと痛い目を見る3つの落とし穴
1. 「最大負荷=常時負荷」ではない
このツールで計算するのは、最も暑い(寒い)時間帯のピーク負荷です。東京の夏なら、日射が最も強い14時頃を想定しています。
でも、実際のエアコンが動いている時間の大半は、ピークよりずっと小さい負荷(部分負荷)なんです。省エネを考えるなら、**IPLV(部分負荷効率)**という指標も見る必要があります。
2. デフォルト値を鵜呑みにしない
「照明発熱のデフォルトが10 W/m²」と書いてあっても、あなたのオフィスが全部LEDで5 W/m²なら、そこを修正しないと負荷を過大評価してしまいます。
逆に、サーバールームや厨房のように内部発熱が大きい部屋では、デフォルト値では能力不足になる可能性が高いです。
3. 「隙間風」と「隣室の影響」は計算に入っていない
この計算機は、外気に面した単一空間を想定しています。でも実務では:
- 隣の暑い部屋からの熱移動
- ドアの開閉による空気の流入
- 天井裏や床下を通じた熱の移動
これらが実際の負荷を10〜20%も変えることがあります。概算を終えたら、「この部屋は本当に孤立しているか?」と疑ってみる習慣をつけましょう。
まとめ:熱負荷計算を味方につける
今日学んだことを、3つのポイントにまとめます。
-
熱負荷計算の本質は「熱の収支」:貫流・日射・内部発熱・換気の4つを足し算するだけ。ただし、それぞれの項に適切な数値を入れるのがプロの仕事。
-
パラメータの影響を体感できる:窓の性能を変えるだけで22%も負荷が変わる。断熱改修の効果を定量的に評価できるのが、この計算の強み。
-
限界を理解して使う:ピーク負荷しか計算しない、隙間風や隣室の影響は無視、などの制約を把握した上で、概算ツールとして賢く活用する。
最後に、今回解説したシミュレーターはこちらです:
▶ 空調熱負荷 計算機 — ブラウザで即動作、登録不要
「自分の部屋だったらどうなる?」と気になった方は、ぜひ実際にパラメータをいじってみてください。数値がリアルタイムで変わるので、直感的に理解できるはずです。
NovaSolverでは、今回紹介したもの以外にも700以上の工学シミュレーターを無料公開中です。建築・設備設計に興味がある方は、他のツールも覗いてみてください。