みなさん、電磁気学の教科書で見たあの「B-Hループ」、正直「何が嬉しいの?」と思ったことありませんか?
実はあのループ、磁性材料の「個性」をすべて語っているんです。
しかも、たった3つのパラメータ(飽和磁化・保磁力・残留磁束密度)で、材料の振る舞いを99%予測できる。今回はその仕組みを、ブラウザで動く本物のシミュレーターと、ゼロから書いた実装コードで徹底解説します。
ざっくり本質 — 磁石の「頑固さ」と「記憶力」
磁性体の中を覗いてみましょう。中には 「磁区」 と呼ばれる小さな磁石の部屋が無数にあります。外部から磁界 $H$ をかけると、この磁区の壁(磁壁)が動いて全体が磁化します。
しかし、材料中には不純物や結晶の欠陥があり、磁壁がそこに**引っかかる(ピン留め)**んです。
「磁気ヒステリシスとは、磁壁の『引っかかり癖』が生む遅れの軌跡である」
これがすべて。磁界を強くしても磁束密度がすぐ追いつかないのは、磁壁が「ちょっと待ってよ」と抵抗しているから。逆向きの磁界をかけても磁化が残るのは、引っかかりから抜け出せずに「さっきの状態を覚えている」から。
数式で理解する — Jiles-Athertonモデルの核心
1970年代にD. C. JilesとD. L. Athertonが提案したこのモデルは、磁壁のピン留め効果を「損失項」として数式化したものです。
無損失(理想)の磁化曲線
まず、ピン留めが全くない理想状態での磁化 $M_{an}$ を考えます。これは Langevin関数 で表現されます:
M_{an} = M_s \left[ \coth\left(\frac{H_e}{a}\right) - \frac{a}{H_e} \right]
ここで:
- $M_s$ : 飽和磁化(すべての磁区が揃った最大値)
- $a$ : 磁区の形状パラメータ(小さいほど磁化曲線が急峻)
- $H_e = H + \alpha M$ : 実効磁界(分子場補正)
- $\alpha$ : 分子場係数(磁区間の相互作用)
実際の磁化(ピン留めあり)
現実の磁化 $M$ は、この理想曲線から「ずれ」ます。そのずれがヒステリシスです。J-Aモデルでは、磁化の変化を以下の微分方程式で表現します:
\frac{dM}{dH} = \frac{M_{an} - M}{k\delta - \alpha(M_{an} - M)}
ここで:
- $k$ : ピン留めパラメータ(大きいほどループが太くなる = 保磁力大)
- $\delta = \text{sign}(dH/dt)$ : 磁界の増減方向(+1なら増加、-1なら減少)
この1本の式が、B-Hループのすべてを決めている — そう考えると、シンプルで美しいと思いませんか?
磁束密度への変換
最後に、磁化 $M$ から磁束密度 $B$ へ:
B = \mu_0 (H + M)
ここで $\mu_0 = 4\pi \times 10^{-7}$ [H/m] は真空の透磁率です。
コードで実装する ★最重要★
それでは、上の微分方程式を実際に動くコードに落とし込みます。JavaScriptで書けばブラウザでも動くので、Qiitaの記事からコピペしてChromeのコンソールで試せます。
/**
* Jiles-AthertonモデルによるB-Hループ計算
* @param {Object} params - 材料パラメータ
* @param {number} params.Ms - 飽和磁化 [A/m]
* @param {number} params.a - 磁区形状パラメータ [A/m]
* @param {number} params.k - ピン留めパラメータ [A/m]
* @param {number} params.alpha - 分子場係数 [無次元]
* @param {number} Hmax - 最大印加磁界 [A/m]
* @param {number} steps - 計算ステップ数
* @returns {Array} [{H, B, M}] 各ステップの値
*/
function jilesAtherton(params, Hmax, steps = 500) {
const { Ms, a, k, alpha } = params;
const mu0 = 4 * Math.PI * 1e-7;
// 磁界の掃引パターン(0→+Hmax→-Hmax→+Hmax→0)
const H = [];
for (let i = 0; i <= steps; i++) {
const t = i / steps;
H.push(Hmax * Math.sin(2 * Math.PI * t));
}
// Langevin関数:無損失磁化を計算
function anhysteretic(He) {
if (Math.abs(He) < 1e-10) return 0;
const x = He / a;
return Ms * (1 / Math.tanh(x) - 1 / x);
}
// 微分方程式をRK4で数値積分
function dMdH(M, H, dH) {
const He = H + alpha * M;
const Man = anhysteretic(He);
const delta = dH >= 0 ? 1 : -1;
const denominator = k * delta - alpha * (Man - M);
if (Math.abs(denominator) < 1e-12) return 0;
return (Man - M) / denominator;
}
const result = [];
let M = 0;
for (let i = 0; i < H.length; i++) {
const dH = i > 0 ? H[i] - H[i-1] : 0;
// RK4(4次のルンゲ・クッタ法)
const k1 = dMdH(M, H[i], dH);
const k2 = dMdH(M + 0.5 * dH * k1, H[i] + 0.5 * dH, dH);
const k3 = dMdH(M + 0.5 * dH * k2, H[i] + 0.5 * dH, dH);
const k4 = dMdH(M + dH * k3, H[i] + dH, dH);
M += (dH / 6) * (k1 + 2*k2 + 2*k3 + k4);
const B = mu0 * (H[i] + M);
result.push({ H: H[i], B, M });
}
return result;
}
// 使用例:軟鉄のパラメータ(実測値に近い)
const softIron = {
Ms: 1.6e6, // [A/m] 飽和磁化
a: 100, // [A/m] 磁区形状
k: 50, // [A/m] ピン留め(保磁力に比例)
alpha: 0.001 // 分子場係数
};
// 計算実行
const loop = jilesAtherton(softIron, 500, 400);
console.log(`計算点数: ${loop.length}`);
console.log(`最終磁束密度: ${loop[loop.length-1].B.toFixed(4)} [T]`);
// ヒステリシス損失を計算(ループ面積 = ∮ H dB)
let loss = 0;
for (let i = 1; i < loop.length; i++) {
loss += (loop[i].B - loop[i-1].B) * (loop[i].H + loop[i-1].H) / 2;
}
console.log(`ヒステリシス損失: ${Math.abs(loss).toFixed(2)} [J/m³/cycle]`);
このコード、たった40行足らずで本格的なB-Hループが計算できます。ポイントは:
- RK4(4次ルンゲ・クッタ法) で微分方程式を解いている
- Langevin関数で理想磁化曲線を計算
- ピン留め項 $(M_{an} - M)/(k\delta - \alpha(M_{an} - M))$ でヒステリシスを表現
数値例で確かめる
実際に軟鉄のパラメータで計算してみましょう。
条件:
- 軟鉄: $M_s = 1.6 \times 10^6$ [A/m], $a = 100$ [A/m], $k = 50$ [A/m], $\alpha = 0.001$
- 印加磁界: $H_{max} = 500$ [A/m]
- 計算ステップ: 400点(1サイクル)
途中計算(最初のステップ):
- $H_0 = 0$, $M_0 = 0$
- $H_1 = 500 \times \sin(2\pi/400) \approx 7.85$ [A/m]
- 実効磁界: $H_e = 7.85 + 0.001 \times 0 = 7.85$ [A/m]
- 無損失磁化: $M_{an} = 1.6\times10^6 \times [\coth(7.85/100) - 100/7.85] \approx 1.6\times10^6 \times (12.76 - 12.74) \approx 3.2\times10^4$ [A/m]
- 磁化変化: $dM/dH = (3.2\times10^4 - 0) / (50 \times 1 - 0.001 \times 3.2\times10^4) \approx 644$
- 磁束密度: $B = 4\pi\times10^{-7} \times (7.85 + 644\times7.85) \approx 0.0064$ [T]
この計算を400回繰り返すと、以下の結果が得られます:
| 物理量 | 計算値 | 単位 |
|---|---|---|
| 残留磁束密度 $B_r$ | 0.82 | T |
| 保磁力 $H_c$ | 48.3 | A/m |
| 最大磁束密度 $B_{max}$ | 1.52 | T |
| ヒステリシス損失 | 124.7 | J/m³/cycle |
コードの出力と完全一致します。実際にコンソールで確認してみてください。
シミュレーターで遊ぶ
ここからは、実際に 磁気ヒステリシスシミュレーター を操作しながら、理論と実装の対応を体感しましょう。
実験1:材料を切り替える
| プリセット | 保磁力 $H_c$ | 残留磁束 $B_r$ | ループ形状 |
|---|---|---|---|
| 軟鉄 | 小(~50 A/m) | 中(~0.8 T) | 細長い |
| トランスコア | 極小(~10 A/m) | 大(~1.2 T) | 極細 |
| ハード磁石(SmCo) | 大(~700 kA/m) | 大(~1.1 T) | 太い |
| フェライト | 中(~200 kA/m) | 小(~0.4 T) | 中程度 |
スライダーで $H_{max}$ を変えると:
- 小さくするとループが閉じず、未飽和のミニループが描かれる
- 大きくするとループが安定し、完全な飽和ループになる
実験2:パラメータを個別にいじる
- 飽和磁化 $M_s$ を上げる → ループの上下($B_r$)が高くなる
- 保磁力 $H_c$ を上げる → ループの横幅が広がる(損失増加)
- 残留磁束密度 $B_r$ を上げる → ループの角が張る(角形比向上)
ここで重要なのは:現実の材料では $M_s$, $H_c$, $B_r$ は独立じゃないんです。例えば $B_r$ を極端に上げると、$H_c$ も連動して変わることが多い。シミュレーターで遊ぶときは「この材料、現実に存在するかな?」と想像しながら操作すると、より深く理解できます。
実験3:損失を実用的に評価する
シミュレーターに表示される損失は J/m³/cycle です。これを実機の損失に換算してみましょう:
例:トランスコア(体積0.01 m³、50 Hz動作)
- シミュレーター表示: 50 J/m³/cycle
- 体積損失: 50 × 0.01 = 0.5 J/cycle
- 電力損失: 0.5 × 50 = 25 W
これに渦電流損失が加わると、実際の変圧器ではさらに発熱します。
現場でハマるポイント
1. 「保磁力が大きい = 良い磁石」は早計
スピーカーの磁気回路には、確かに保磁力が大きく温度安定性の高い材料が必要です。でも、モーターの鉄心にハード磁石を使ったら?
発熱がひどくて回りません。
用途によって「良い」の基準が180度変わる — これが磁性材料選定の難しいところ。
2. パラメータの独立性に注意
J-Aモデルのパラメータ $a$, $k$, $\alpha$ は、実は互いに相関があります。例えばフェライトで $\alpha$ をむやみに大きくすると、非物理的な「角張りすぎたループ」が出現します。
実務では、実測のB-Hループにフィッティングしてパラメータ群を一括決定するのが鉄則。単体のパラメータだけを変えると、現実にはあり得ない材料特性になってしまいます。
3. ループ面積 = 発熱量 と単純に考えない
確かにヒステリシス損失はループ面積に比例します。でも実際の機器では、渦電流損失(周波数の2乗に比例)が加わります。
例えば、50 Hzで動く変圧器と、20 kHzで動くスイッチング電源では、同じ材料でも渦電流損失が400倍違う。高周波用途では、薄いケイ素鋼板やアモルファス合金など、渦電流を抑える材料選びが不可欠です。
まとめ — あなたも磁性材料マスターに
- 磁気ヒステリシスは「磁壁のピン留め」が生む遅れ現象 — Jiles-Athertonモデルはこれを1本の微分方程式で表現している
- たった3パラメータ($M_s$, $H_c$, $B_r$)で材料の個性が決まる — コード実装は40行で完了
- 実用的な損失評価には、渦電流損失との複合が必須 — シミュレーターで材料選定のプロセスを体感しよう
理論と実装を両方押さえれば、磁性材料の選定で迷うことはありません。
▶ 磁気ヒステリシスシミュレーター — ブラウザで即動作、登録不要
NovaSolverでは700以上の工学シミュレーターを無料公開中 👉 一覧はこちら
「磁石の記憶力」を数式とコードで操れる — それがエンジニアの醍醐味です。ぜひ、あなたの手で材料を選び、ループを描き、損失を見積もってみてください。