有限要素法によるケーブル(電線)の電気設計

すべての自然法則偏微分方程式(Partial Differential Equation) で表現されます。 理由はあらゆる測定値が場所と時間によって変化し、 変化は微分(differentiate)で表現できるためです。

微分方程式は無限小の空間と無限小の時間に於ける物理量の関係ですが、 物理量に連続性があれば、 無限小の世界では、すべての物理量が比例しますから、 法則の把握が極めて容易になります。

一方、可視的な空間で比例関係が成り立つのは稀で、 現実の問題を解く場合は、 無限小の量を無限個集めなければならず、 この集計作業が積分(integration)操作になります。

一般に、積分は微分に比べて難しくて、 解析的計算を実行するのは極めて難しいか、 できないケースが多いため、 いろいろな近似解法が開発されてきました。 中でも有限要素法(Finit Element Method)は利点が多く、 広い分野で使われています。

有限要素法に関する文献は山程あるのですが、 誰もが気軽に読めるとは言えませんので、 少しでも取り付きやすくしたいという意図で、 1990 年代に社内教育を目的に開発したのがこの教材です。

上記のテキストでは有限要素法の計算に下記のプログラム FreeFEMが使われていますが、 ブラウザで表示される計算結果は そのプログラムが出力する画像を埋め込んでいるわけではなくて、 X11による画像出力の代わりに 画像(イメージ)データを出力するように書き換えた専用プログラムで、 その都度計算(表示)しています。 この変形版のソースコードは入れてありませんが、 ニーズがあれば追加します。

FreeFEM

1950 年代に構造解析から誕生した有限要素法(Finit Element Method) は偏微分方程式の標準的な数値解法の一つとして定着しましたが、

  1. 複雑な境界形状に良く適合した要素分割ができる
  2. ポテンシャル分布に適応した自由な要素分割ができる
  3. 材料定数の取扱が容易
といった際だった利点の半面、構造データとプログラムの作成が面倒で、 気軽に使えるものではありませんでした。

しかし、 1987 年にUniversité Pierre et Marie CurieOlivier Pironneauによって開発されたMacFemという見事なアイデアで、 この状況は一変します。 このプログラムはGfemと称するPascal風言語により、

  1) 境界形状と材料定数
  2) 境界条件
  3) 偏微分方程式
を記述するだけで、メッシュの自動生成から数値解を求める作業のすべてをやって くれますから、何とも気軽にいろいろな問題を解くことができます。

MacFemと、その後継PCFemMacintoshPascal で書かれましたが、 C. Prud'homme,F. Hechtなどの後継者によって引き継がれ、 1992 年にC++で書き直されたのが、この教材で使われるFreeFEMです。

この版は私が現役時代にFreeFEM Release 2.0をもとに、 社内用教材として使いやすいように機能を追加し、 気づいた bug をいくつか修正し、 c++のその後の仕様変更に対応するための書き換えを続けてきたもので、 長年、外部非公開で使われてきました。

今から覚えるなら最新の FreeFEM++ をお勧めしますが、 多くの人々にとって弱形式より偏微分方程式で書くほうがわかりやすく、 これはこれで利点があります。

このソースコードはFreeBSD-8.4gccFreeBSD-10.2clangでコンパイルできるようにしてありますが、 Linuxなど他のUnixでも使えると思います。

注1 - FreeFEM の歴史

FreeFEMは、その後 1996 年から 2001 年までの FreeFEM+を経た後、 1998 年には偏微分方程式(strong form)を弱形式(weak form)で扱う FreeFEM++へと方向転換し、 現在も活発な開発が続いています。

注2 - 弱形式 (weak form)

弱形式Greenの公式で 2階の偏微分方程式を1次導関数の積分に変形したものですが、 連続性と微分可能性の制約がゆるやか(weak)になり、 適用可能な問題が増えるとともに、 全体マトリクス(剛性マトリクス)が対称行列になり、 計算も容易になります。

注3 - 電気工学分野の有限要素法

電気工学分野での有限要素法の草分けはPeter P.Silvesterで、 余裕があれば下記の文献をお勧めします。

  Peter P.Silvester and Ronald L.Frerrari,- Finit elements for electrical engineers
	Cambridge University Press, ISBN 0-521-44505-1
なお、Silvester はUnixやコンピュータの本を含めて、 優れた本を書いていますが、
  P.Silvester,- Modern Electromagnetic Filels
	Prentice-Hall, 1968
が素晴らしい出来で、中古でも見付かったら、ぜひ入手してください。

また、FreeFEMの原著者による読みやすい本

  Brigitte Lucquin, Oliver Pironneau,- Introduction to Scientific Computing
	Wiley, ISBN 0-471-97266-5
では、プログラミング言語として CFortranと共にFreeFEMを併用しています。

平林浩一, 2016-03-02