(57)【特許請求の範囲】
【請求項１】
解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション装置において、
解析周波数領域を複数の領域に分割する分割手段と、
上記分割手段の分割する各解析周波数領域の中から、１つの解析周波数を選定する選定手段と、
上記選定手段の選定する解析周波数を解析対象とし、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く第１の解析手段と、
上記分割手段の分割する解析周波数領域毎に、その解析周波数領域の中から解析周波数を選択し、その選択した解析周波数を解析対象として、上記第１の解析手段の分解する係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く第２の解析手段とを備えることを、
特徴とするシミュレーション装置。
【請求項２】
請求項１に記載のシミュレーション装置において、
上記選定手段は、上記分割手段の分割する各解析周波数領域の中から、両端の周波数を除外しつつ１つの解析周波数を選定し、
上記第２の解析手段は、上記選定手段の選定する解析周波数を起点として昇順及び降順に解析周波数を選択することを、
特徴とするシミュレーション装置。
【請求項３】
請求項２に記載のシミュレーション装置において、
上記選定手段は、上記分割手段の分割する各解析周波数領域の概略中間に位置する解析周波数を選定することを、
特徴とするシミュレーション装置。
【請求項４】
請求項１〜３のいずれか１項に記載のシミュレーション装置において、
上記第２の解析手段は、直前の解析処理により求められた解を初期値として連立一次方程式を解くことを、
特徴とするシミュレーション装置。
【請求項５】
請求項１〜４のいずれか１項に記載のシミュレーション装置において、
上記分割手段は、規定のアルゴリズムに従って総計算時間が最小になることを実現する分割形態を求めて、それに従って解析周波数領域を分割することを、
特徴とするシミュレーション装置。
【請求項６】
請求項１〜５のいずれか１項に記載のシミュレーション装置において、
上記分割手段の分割する各解析周波数領域内での解析処理が並列に実行されるように構成されることを、
特徴とするシミュレーション装置。
【請求項７】
解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション装置において、
指定される解析周波数を解析対象として、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く第１の解析手段と、
上記第１の解析手段の解析する解析周波数から昇順及び／又は降順に解析周波数を選択し、その選択した解析周波数を解析対象として、上記第１の解析手段の分解する係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く第２の解析手段と、
上記第２の解析手段が動作しているときに、その動作で得られる所定の指標に基づいて、直接法か反復法のどちらで連立一次方程式を解くのかを判断して、直接法で解くことを判断するときには、上記第２の解析手段の解析処理を停止させて、上記第１の解析手段を起動する解法制御手段とを備えることを、
特徴とするシミュレーション装置。
【請求項８】
請求項７に記載のシミュレーション装置において、
上記解法制御手段は、直接法で解くことを判断するときには、上記第２の解析手段の解析処理を直ちに停止させていくことを、
特徴とするシミュレーション装置。
【請求項９】
請求項７に記載のシミュレーション装置において、
上記解法制御手段は、直接法で解くことを判断するときには、解析中の解析処理が終了する時点で、上記第２の解析手段の解析処理を停止させていくことを、
特徴とするシミュレーション装置。
【請求項１０】
請求項７〜９のいずれか１項に記載のシミュレーション装置において、
上記解法制御手段は、上記第１の解析手段が最後に解析した解析周波数からの周波数距離に従って、直接法か反復法のどちらで連立一次方程式を解くのかを判断することを、
特徴とするシミュレーション装置。
【請求項１１】
請求項７〜９のいずれか１項に記載のシミュレーション装置において、
上記解法制御手段は、上記第１の解析手段の解析時間から設定される判定時間と、上記第２の解析手段の解析時間とを比較することで、直接法か反復法のどちらで連立一次方程式を解くのかを判断することを、
特徴とするシミュレーション装置。
【請求項１２】
請求項７〜９のいずれか１項に記載のシミュレーション装置において、
上記解法制御手段は、上記第１の解析手段の解析時間から設定される判定時間と、上記第２の解析手段の反復一回当たりの解析時間とから許容反復回数を設定して、その許容反復回数と上記第２の解析手段の反復回数とを比較することで、直接法か反復法のどちらで連立一次方程式を解くのかを判断することを、
特徴とするシミュレーション装置。
【請求項１３】
請求項７〜１２のいずれか１項に記載のシミュレーション装置において、
上記第２の解析手段は、直前の解析処理により求められた解を初期値として連立一次方程式を解くことを、
特徴とするシミュレーション装置。
【請求項１４】
解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション方法において、
解析周波数領域を複数の領域に分割する第１の処理過程と、
第１の処理過程で分割した各周波数領域の中から、１つの解析周波数を選定する第２の処理過程と、
第２の処理過程で選定した解析周波数を解析対象とし、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く第３の処理過程と、
第１の処理過程で分割した解析周波数領域毎に、その解析周波数領域の中から解析周波数を選択し、その選択した解析周波数を解析対象として、第３の処理過程で分解した係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く第４の処理過程とを備えることを、
特徴とするシミュレーション方法。
【請求項１５】
解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション方法において、
指定される解析周波数を解析対象として、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く第１の処理過程と、
第１の処理過程で解析した解析周波数から昇順及び／又は降順に解析周波数を選択し、その選択した解析周波数を解析対象として、第１の処理過程で分解した係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く第２の処理過程と、
第２の処理過程が動作しているときに、その動作で得られる所定の指標に基づいて、直接法か反復法のどちらで連立一次方程式を解くのかを判断して、直接法で解くことを判断するときには、第２の処理過程の解析処理を停止させて、第１の処理過程を起動する第３の処理過程とを備えることを、
特徴とするシミュレーション方法。
【請求項１６】
解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション装置の実現に用いられるプログラムが記録されるプログラム記録媒体であって、
解析周波数領域を複数の領域に分割する分割処理と、
上記分割処理の分割する各解析周波数領域の中から、１つの解析周波数を選定する選定処理と、
上記選定処理の選定する解析周波数を解析対象とし、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く第１の解析処理と、
上記分割処理の分割する解析周波数領域毎に、その解析周波数領域の中から解析周波数を選択し、その選択した解析周波数を解析対象として、上記第１の解析処理の分解する係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く第２の解析処理とをコンピュータに実行させるプログラムが記録されることを、
特徴とするプログラム記録媒体。
【請求項１７】
解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション装置の実現に用いられるプログラムが記録されるプログラム記録媒体であって、
指定される解析周波数を解析対象として、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く第１の解析処理と、
上記第１の解析処理の解析する解析周波数から昇順及び／又は降順に解析周波数を選択し、その選択した解析周波数を解析対象として、上記第１の解析処理の分解する係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く第２の解析処理と、
上記第２の解析処理が動作しているときに、その動作で得られる所定の指標に基づいて、直接法か反復法のどちらで連立一次方程式を解くのかを判断して、直接法で解くことを判断するときには、上記第２の解析処理の解析処理を停止させて、上記第１の解析処理を起動する解法制御処理とをコンピュータに実行させるプログラムが記録されることを、
特徴とするプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートするシミュレーション装置及び方法と、そのシミュレーション装置の実現に用いられるプログラムが記録されるプログラム記録媒体とに関し、特に、高速のシミュレーション処理を実現するシミュレーション装置及び方法と、そのシミュレーション装置の実現に用いられるプログラムが記録されるプログラム記録媒体とに関する。
【０００２】
電子機器に対する社会的規制として、一定のレベル以上の不要な電波やノイズを放射してはならないということがあり、各国の規格で厳しく規制されるようになってきた。
【０００３】
このような電波規格を満足させるために、シールド技術やフィルタ技術などのような種々の対策技術が用いられるが、これらの対策技術の採用に当たって、それらがどの程度電波を減少できるのかを定量的に算出できるようにするシミュレーション技術の開発が必要である。
【０００４】
このようなことを背景にして、本出願人は、モーメント法を使って電子機器の放射する電磁界強度を算出するシミュレーション技術の発明を開示してきた。このシミュレーション技術を実用的なものとしていくには、シミュレーション処理を高速に実行できるようにする技術を構築していく必要がある。
【０００５】
【従来の技術】
電磁界解析のシミュレーション方法として、差分法、有限要素法、モーメント法などが知られている。
【０００６】
この中でも、モーメント法は、解析対象の境界面のみを２次元的に離散化するだけでよく、最大４次元の時空間を離散化する必要のある差分法や有限要素法に比べて実用的なシミュレーション方法として期待されている。このモーメント法についての参考文献としては、「H.N.Wang, J.H.Richmond and M.C.Gilreath:"Sinusoidal reaction formulation for radiation and scattering from cond-ucting surface" IEEE TRANSACTIONS ANTENNAS PROPAGATION vol.AP-23 1975 」がある。
【０００７】
これらのシミュレーション方法は、周波数領域で定義される連立一次方程式を解くことで、電子機器の各要素に流れる電流をシミュレートすることになる。これから、このシミュレーション方法を使って、時間領域でのシミュレーションを行う場合には、同一対象における多数の周波数を解析対象とする連立一次方程式を解く必要がある。また、多数の周波数を持つ波源が存在する場合にも、同一対象における多数の周波数を解析対象とする連立一次方程式を解く必要がある。
【０００８】
この連立一次方程式を高速で解くために、従来では、「G.Hoyler,R.Unbehauen "An Efficient Algorithm for The Treatment of Multiple Frequencies with The Metod of Moments" Proceedings of EMC'96 ROMA pp.368-371(1966) 」に記載されるように、ＦＦＳ法（Fast Frequency Stepping 法）を使い、先ず最初に、最低周波数を解析対象として連立一次方程式を導出し、その連立一次方程式の係数行列をコレスキー分解（Ａ＝ＣＣt ）しつつ、直接法を使ってその連立一次方程式を解き、続いて、周波数の昇順に解析周波数を選択し、その解析周波数を解析対象として連立一次方程式を導出して、最初の直接法の求解で得た前処理行列（Ｃ）による反復法を使って、その連立一次方程式を解くという方法を採っていた。
【０００９】
図１９に示すような「Ａｘ＝ｂ」という連立一次方程式（係数行列Ａ＝（ａij）は複素対称行列）を解く方法として、直接法と反復法とがある。
【００１０】
この直接法は、係数行列Ａを図２０に示すような形式にコレスキー分解（対称行列のＬＵ分解）し、図２１に示す算出式に従って、解（ｘi ）を求めていくという方法である。計算オーダーはＯ（ｎ3 )(ｎは係数行列Ａの次数）となる。
【００１１】
一方、共役勾配法と呼ばれる反復法で説明するならば、反復法は、図２２に示すアルゴリズムに従って、第ｋ段階の値「ｘ（ｋ），α（ｋ），ｐ（ｋ）」を用いて第（ｋ＋１）段階の値「ｘ（ｋ＋１）」を求めていくことで、解（ｘi ）を求めていくという方法である。計算オーダーはＯ（Ｋｎ2 )(ｎは係数行列Ａの次数、Ｋは反復回数で最大ｎ）であり、従って直接法よりも計算量的に有利となる。
【００１２】
この反復法で、係数行列Ａが「Ａ≒ＣＣt 」というようにコレスキー分解に近い形になれば、本来の連立一次方程式「Ａｘ＝ｂ」を、
Ｃ-1ＡＣt*-1Ｃt ｘ＝Ｃ-1ｂ
但し、Ｃ-1は行列Ｃの逆行列
Ｃt は行列Ｃの転置行列
Ｃt*-1は行列Ｃの転置行列の逆行列
と変形するときに、行列Ｃ-1ＡＣt*-1が単位行列に近い形となり、速く収束することが期待される。これが前処理付きの共役勾配法と呼ばれるもので、図２３に示すアルゴリズムで実行される。
【００１３】
これから、従来技術では、上述したように、同一対象における多数の周波数を解析対象とする連立一次方程式を解く場合には、ＦＦＳ法を使い、先ず最初に、最低周波数を解析対象として連立一次方程式を導出し、その連立一次方程式の係数行列をコレスキー分解（Ａ＝ＣＣt ）しつつ、直接法を使ってその連立一次方程式を解き、続いて、周波数の昇順に解析周波数を選択し、その解析周波数を解析対象として連立一次方程式を導出して、最初の直接法の求解で得た前処理行列（Ｃ）による反復法を使って、その連立一次方程式を解くという方法を採っていたのである。
【００１４】
【発明が解決しようとする課題】
しかしながら、このような従来技術に従っていると、昇順に選択していく解析周波数が最低周波数から離れていくに従って、前処理行列による前処理が所望の形態から外れていくことで、反復法での解析時間が増加し、これがために高速にシミュレーション処理を実行できないという問題点があった。
【００１５】
すなわち、昇順に選択していく解析周波数が最低周波数から離れていくに従って、行列Ｃ-1ＡＣt*-1が単位行列から外れていくことで、反復法での解析時間が増加し、これがために高速にシミュレーション処理を実行できないという問題点があったのである。
【００１６】
本発明はかかる事情に鑑みてなされたものであって、モーメント法などに従って、解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートする構成を採るときにあって、そのシミュレーション処理を高速に実現できるようにする新たなシミュレーション装置及び方法の提供と、そのシミュレーション装置の実現に用いられるプログラムが記録される新たなプログラム記録媒体の提供とを目的とする。
【００１７】
【課題を解決するための手段】
図１に本発明の原理構成を図示する。
【００１８】
図中、１は本発明を具備するシミュレーション装置であって、解析周波数に応じて定義される連立一次方程式を解くことで、電子機器の各要素に流れる電流をシミュレートするものである。
【００１９】
本発明のシミュレーション装置１は、解析周波数ファイル１０と、係数行列ファイル１１と、解析結果ファイル１２と、分割手段１３と、選定手段１４と、第１の解析手段１５と、第２の解析手段１６と、解法制御手段１７とを備える。
【００２０】
この解析周波数ファイル１０は、解析対象となる周波数の情報を格納する。係数行列ファイル１１は、解析周波数に応じて定義される連立一次方程式の係数行列を格納する。解析結果ファイル１２は、解析結果となる電子機器の各要素に流れる電流の情報を格納する。
【００２１】
分割手段１３は、解析周波数領域を複数の領域に分割する。選定手段１４は、解析周波数を選定する。
【００２２】
第１の解析手段１５は、選定手段１４の選定する解析周波数を解析対象とし、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く。
【００２３】
第２の解析手段１６は、第１の解析手段１５の解析する解析周波数から昇順や降順に従って解析周波数を選択し、その選択した解析周波数を解析対象として、第１の解析手段１５の分解した係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く。
【００２４】
解法制御手段１７は、第２の解析手段１６が動作しているときに、その動作で得られる所定の指標に基づいて、直接法か反復法のどちらで連立一次方程式を解くのかを判断して、直接法で解くことを判断するときには、第２の解析手段１６の解析処理を停止（途中で停止させたり、解析中の解析処理の終了時点で停止させる）させて、第１の解析手段１５を起動する。
【００２５】
ここで、本発明のシミュレーション装置１の持つ機能は具体的にはプログラムで実現されるものであり、このプログラムは、フロッピィディスクなどに記録されたり、サーバなどのディスクなどに記録され、それらからシミュレーション装置１にインストールされてメモリ上で動作することで、本発明を実現することになる。
【００２９】
このように構成される本発明のシミュレーション装置１では、分割手段１３は、例えば規定のアルゴリズムに従って総計算時間が最小になることを実現する分割形態を求めて、それに従って解析周波数領域を複数の領域に分割し、これを受けて、選定手段１４は、分割手段１３の分割した各解析周波数領域の中から、好ましくは概略中間に位置する形態で１つの解析周波数を選定する。
【００３０】
これを受けて、第１の解析手段１５は、選定手段１４の選定した解析周波数を解析対象とし、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く。
【００３１】
そして、第２の解析手段１６は、分割手段１３の分割した各解析周波数領域毎に、その解析周波数領域の中から、例えば選定手段１４の選定した解析周波数を起点として昇順及び降順に解析周波数を選択し、その選択した解析周波数を解析対象として、第１の解析手段１５の分解した係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く。このとき、第２の解析手段１６は、好ましくは、直前の解析処理により求められた解を初期値として連立一次方程式を解く。
【００３２】
このように、本発明のシミュレーション装置１では、解析周波数領域を分割し、その分割した各解析周波数領域毎に、その分割した解析周波数領域の中の１つの周波数を解析対象として、直接法に従って連立一次方程式を解き、それ以外の周波数については、直接法で分解した係数行列を使って連立一次方程式を変形しつつ反復法により解く構成を採るので、反復法で解く周波数と直接法で解く周波数との間の周波数距離が従来技術に比べて小さくなることで、反復法で解く連立一次方程式が所望のものに近い形に変形でき、これにより、高速に解析処理を実行できるようになる。
【００３３】
また、このように構成される本発明のシミュレーション装置１では、第１の解析手段１５は、指定される解析周波数を解析対象として、連立一次方程式の係数行列を規定の形式に分解しつつ、直接法に従って連立一次方程式を解く。
【００３４】
これを受けて、第２の解析手段１６は、第１の解析手段１５の解析した解析周波数から昇順及び／又は降順に解析周波数を選択し、その選択した解析周波数を解析対象として、第１の解析手段１５の分解した係数行列を使って連立一次方程式を変形し、反復法に従ってその変形した連立一次方程式を解く。このとき、第２の解析手段１６は、好ましくは、直前の解析処理により求められた解を初期値として連立一次方程式を解く。
【００３５】
そして、解法制御手段１７は、第２の解析手段１６が動作しているときに、その動作で得られる所定の指標に基づいて、直接法か反復法のどちらで連立一次方程式を解くのかを判断して、直接法で解くことを判断するときには、第２の解析手段１６の解析処理を停止させて第１の解析手段１５を起動する。
【００３６】
例えば、解法制御手段１７は、第１の解析手段１５が最後に解析した解析周波数からの周波数距離に従って、その周波数距離が大きくなるときには、直接法で解くことを判断したり、第１の解析手段１５の解析時間から設定される判定時間と、第２の解析手段１６の解析時間とを比較して、その解析時間が判定時間を超えるときには、直接法で解くことを判断したり、第１の解析手段１５の解析時間から設定される判定時間と、第２の解析手段１６の反復一回当たりの解析時間とから許容反復回数を設定して、第２の解析手段１６の反復回数がその許容反復回数を超えるときには、直接法で解くことを判断する。
【００３７】
このように、本発明のシミュレーション装置１では、直接法で分解した係数行列を使って連立一次方程式を変形しつつ反復法により解く構成を採るときにあって、反復法で解く周波数と直接法で解く周波数との間の周波数距離が大きくなることで、その係数行列を用いる反復法では解析時間が長くなってしまうことになると、直接法を実行することで解析周波数に適合した形で分解される係数行列を得て、それを使って反復法により連立一次方程式を解くようにする構成を採ることから、反復法で解く連立一次方程式が所望のものに近い形に変形でき、これにより、高速に解析処理を実行できるようになる。
【００３８】
このように、本発明のシミュレーション装置１によれば、モーメント法などに従って、解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートする構成を採るときにあって、そのシミュレーション処理を高速に実現できるようになる。
【００３９】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【００４０】
図２に、本発明を具備する電磁界強度算出装置２０の一実施例を図示する。
【００４１】
この電磁界強度算出装置２０は、モーメント法を用いて電子機器の放射する電磁界強度をシミュレートするものであって、シミュレーション対象となる電子機器の構造情報を格納する電子機器データファイル２１と、フロッピィディスクや回線などを介してインストールされて、モーメント法の連立一次方程式を作成する連立一次方程式作成プログラム２２と、連立一次方程式作成プログラム２２の作成するモーメント法の連立一次方程式を格納する連立一次方程式格納ファイル２３と、フロッピィディスクや回線などを介してインストールされて、連立一次方程式格納ファイル２３に格納されるモーメント法の連立一次方程式を解くことで電子機器に流れる電流を算出する連立一次方程式解法プログラム２４と、フロッピィディスクや回線などを介してインストールされて、連立一次方程式解法プログラム２４の算出結果から電子機器の放射する電磁界強度を算出する電磁界強度算出プログラム２５と、電磁界強度算出プログラム２５の算出結果を表示する出力装置２６とを備える。
【００４２】
連立一次方程式作成プログラム２２は、電子機器データファイル２１に格納される電子機器の構造情報に従って、シミュレーション対象の電子機器をメッシュ化するとともに、その電子機器の持つ波源から解析周波数を設定する。そして、その解析周波数について、メッシュ化した要素間の相互インピーダンスや相互アドミッタンスや相互リアクションを所定の計算処理によって求めて、その求めた相互インピーダンスなどと波源とから、メッシュ化した電子機器の各要素に流れる電流や磁流を導出するためのモーメント法の連立一次方程式を作成する処理を行う。
【００４３】
以下、説明の便宜上、電子機器が金属対象物のみからなることを想定する。この場合には、解析周波数での電子機器要素間の相互インピーダンスＺijを求めて、この相互インピーダンスＺijと、解析周波数成分の波源Ｖi と、電子機器要素に流れる解析周波数成分の電流Ｉi との間に成立する図３に示すモーメント法の連立一次方程式を作成することになる。
【００４４】
このとき算出する相互インピーダンスは、具体的には、図４に示すようなモノポール（図中の▲１▼〜▲４▼）を想定することで実行される。
【００４５】
すなわち、要素ｉと要素ｊとの間の相互インピーダンスＺijの一般式は、図５（ａ）に図示する数式で表される。図中、ωは角周波数、ｋは波数、ｒはモノポール間の距離、Ｊ1,Ｊ2 はモノポール上の電流分布の形状、φはモノポール間の傾きを表し、ρ1 ＝（−１／ｊω）×〔∂Ｊ1 ／∂ｔ〕、ρ2 ＝（−１／ｊω）×〔∂Ｊ2 ／∂ｔ〕である。
【００４６】
モノポール上の電流分布Ｊ1,Ｊ2 として、
電流モノポール▲１▼  Ｊ1＝sink(z-z0)/sinkd1 
電流モノポール▲２▼  Ｊ1＝sink(z2-z)/sinkd2 
電流モノポール▲３▼  Ｊ2＝sink(t-t0)/sinkd3 
電流モノポール▲４▼  Ｊ2＝sink(t2-t)/sinkd4 
d1：モノポール▲１▼の長さ、d2：モノポール▲２▼の長さ
d3：モノポール▲３▼の長さ、d4：モノポール▲４▼の長さ
を想定すると、モノポール▲１▼とモノポール▲３▼の相互インピーダンスＺ13と、モノポール▲１▼とモノポール▲４▼の相互インピーダンスＺ14とは、図５（ｂ）に図示する数式のように表される。
【００４７】
モノポール▲２▼とモノポール▲３▼の相互インピーダンスＺ23と、モノポール▲２▼とモノポール▲４▼の相互インピーダンスＺ24とについても同様の数式で表される。これから、要素ｉと要素ｊとの間の相互インピーダンスＺij（＝Ｚ13＋Ｚ14＋Ｚ23＋Ｚ24）が求まる。
【００４８】
このようにして算出される相互インピーダンスは、「Ｚij＝Ｚji」の形態を示す複素対称行列となる。
【００４９】
この連立一次方程式作成プログラム２２の処理を受けて、連立一次方程式管理ファイル２３は、連立一次方程式作成プログラム２２の設定した解析周波数毎に、連立一次方程式作成プログラム２２の算出したその解析周波数での相互インピーダンスＺijと、連立一次方程式作成プログラム２２の抽出したその解析周波数成分の波源Ｖi とを格納することで、連立一次方程式作成プログラム２２の作成したモーメント法の連立一次方程式を格納する。
【００５０】
連立一次方程式解法プログラム２４は、連立一次方程式管理ファイル２３に格納されるモーメント法の連立一次方程式を解くことで、電子機器の各要素に流れる解析周波数成分の電流Ｉi を算出する。このとき、連立一次方程式管理ファイル２３に格納されるモーメント法の連立一次方程式の数が多くなるとき、すなわち、解析周波数が多くなるときには、電子機器に流れる電流を算出するのに多大な時間を要することを考慮して、後述する本発明に特徴的な処理に従って、その算出処理を高速に実行する構成を採っている。
【００５１】
電磁界強度算出プログラム２５は、連立一次方程式解法プログラム２４の算出した電子機器の各要素に流れる電流から、電子機器の放射する電磁界強度を算出する。この算出処理については、公知であるのでその詳細については省略するが、例えば、図６に示すような波源と観測点との関係を想定するとともに、波源の電流分布として図中に示すＪ+ を想定すると、電流Ｊ+ による電界のｚ方向成分Ｅz + とρ方向成分Ｅρ+ とは、図７に示す算出式に従って算出されることになる。
【００５２】
図８に、本発明に関連する技術を実現すべく、連立一次方程式解法プログラム２４の実行する処理フローの一例を図示する。次に、この処理フローに従って本発明に関連する技術について詳細に説明する。
【００５３】
連立一次方程式解法プログラム２４は、シミュレーション対象の電子機器の各要素に流れる電流の算出要求が発行されると、図８の処理フローに示すように、先ず最初に、ステップ１で、連立一次方程式格納ファイル２３に格納される解析周波数の好ましくは概略中間に位置する解析周波数を選択する。
【００５４】
続いて、ステップ２で、連立一次方程式格納ファイル２３から、その選択した解析周波数の相互インピーダンスＺ0 を読み込んで、それを図２０に示すような形式にコレスキー分解（Ｚ0 ＝ＣＣt ）する。続いて、ステップ３で、そのコレスキー分解した相互インピーダンスＺ0 を用いて、図２１に示した算出式に従って、その選択した解析周波数の連立一次方程式「Ｚ0 Ｉ0 ＝Ｖ0 」を直接法で解く。
【００５５】
続いて、ステップ４で、ステップ１で選択した解析周波数を起点として、連立一次方程式格納ファイル２３に格納される解析周波数の中から昇順に解析周波数ｆs （ｓ＝1,2,3,・・）を１つ選択する。続いて、ステップ５で、ステップ２で得た分解行列Ｃを用いて、ステップ４で選択した解析周波数ｆs の連立一次方程式「Ｚs Ｉs ＝Ｖs 」を、「Ｃ-1Ｚs Ｃt*-1Ｃt Ｉs ＝Ｃ-1Ｖs 」と変形し、１つ前の解析周波数ｆs-1 で得た解Ｉs-1 をＩs の初期値として、それを反復法で解く。
【００５６】
ここで、１つ前の解析周波数ｆs-1 で得た解Ｉs-1 をＩs の初期値とするのは、周波数が近いことで、１つ前の解析周波数ｆs-1 で得た解Ｉs-1 とＩs とが大きく異なることはなく、これから、この初期値設定を行うことで、Ｉs を少ない反復回数で求めることができるようになるからである。
【００５７】
続いて、ステップ６で、ステップ４での選択処理により最高の解析周波数まで解いたのか否かを判断して、解いていないことを判断するときは、ステップ４に戻り、解いたことを判断するときには、ステップ７に進んで、ステップ１で選択した解析周波数を起点として、連立一次方程式格納ファイル２３に格納される解析周波数の中から降順に解析周波数ｆ-s（ｓ＝1,2,3,・・）を１つ選択する。
【００５８】
続いて、ステップ８で、ステップ２で得た分解行列Ｃを用いて、ステップ７で選択した解析周波数ｆ-sの連立一次方程式「Ｚ-sＩ-s＝Ｖ-s」を、「Ｃ-1Ｚ-sＣt*-1Ｃt Ｉ-s＝Ｃ-1Ｖ-s」と変形し、上述理由により、１つ前の解析周波数ｆ-s+1で得た解Ｉ-s+1をＩ-sの初期値として、それを反復法で解く。
【００５９】
続いて、ステップ９で、ステップ７での選択処理により最低の解析周波数まで解いたのか否かを判断して、解いていないことを判断するときは、ステップ７に戻り、解いたことを判断するときには、全処理を終了する。
【００６０】
このようにして、連立一次方程式解法プログラム２４は、本発明に関連する技術を実現する場合には、図９に示すように、好ましくは概略中間に位置する解析周波数を起点として、その起点となる解析周波数については直接法を使って連立一次方程式を解き、それ以外の解析周波数については、昇順及び降順に選択しながら、直接法で得た分解行列を使って連立一次方程式を変形して、それを反復法で解くように処理するのである。
【００６１】
これに対して、従来技術では、図中の破線で示すように、最低周波数の解析周波数を起点として、その起点となる解析周波数については直接法を使って連立一次方程式を解き、それ以外の解析周波数については、昇順に選択しながら、直接法で得た分解行列を使って連立一次方程式を変形して、それを反復法で解くように処理していた。
【００６２】
図９に示すように、起点となる周波数から離れるほど、直接法で得た分解行列による連立一次方程式の変形が好ましいものから外れていくために、反復法の反復回数が多くなる。これから、連立一次方程式解法プログラム２４は、図８の処理フローを実行することで、最低周波数の解析周波数を起点とする従来技術よりも高速に連立一次方程式を解くことができることで、電子機器の各要素に流れる電流を高速に算出することができるようになる。
【００６３】
更に、連立一次方程式解法プログラム２４は、この反復法を実行するにあたって、１つ前の解析周波数で得た解を初期値とするという従来技術では開示されていない構成を採ることで、この高速処理を一層確かなものにすることを実現している。
【００６４】
図１０及び図１１に、連立一次方程式解法プログラム２４の実行する処理フローの一実施例を図示する。
【００６５】
この処理フローに従う場合には、連立一次方程式解法プログラム２４は、シミュレーション対象の電子機器の各要素に流れる電流の算出要求が発行されると、先ず最初に、ステップ１で、連立一次方程式格納ファイル２３に格納される解析周波数の好ましくは概略中間に位置する解析周波数を選択する。
【００６６】
続いて、ステップ２で、連立一次方程式格納ファイル２３から、その選択した解析周波数の相互インピーダンスＺ0 を読み込んで、それを図２０に示すような形式にコレスキー分解（Ｚ0 ＝ＣＣt ）し、そのコレスキー分解した相互インピーダンスＺ0 を用いて、図２１に示した算出式に従って、その選択した解析周波数の連立一次方程式「Ｚ0 Ｉ0 ＝Ｖ0 」を直接法で解く。
【００６７】
続いて、ステップ３で、ステップ１で選択した解析周波数を起点として、連立一次方程式格納ファイル２３に格納される解析周波数の中から昇順に解析周波数ｆs （ｓ＝1,2,3,・・）を１つ選択する。続いて、ステップ４で、規定の周期に従って反復法の続行の可否を判断しつつ、ステップ２で得た分解行列Ｃを用いて、ステップ３で選択した解析周波数ｆs の連立一次方程式「Ｚs Ｉs ＝Ｖs 」を、「Ｃ-1Ｚs Ｃt*-1Ｃt Ｉs ＝Ｃ-1Ｖs 」と変形し、１つ前の解析周波数ｆs-1 で得た解Ｉs-1 をＩs の初期値として、それを反復法で解く。
【００６８】
このステップ４で行う反復法続行の可否の判断処理としては、例えば、分解行列Ｃを得た直接法の解析周波数からの周波数距離に判断値を設定して、反復法の解析周波数がこの判断値を超えない間は反復法の続行を判断し、超えるときに反復法の続行不可を判断することで行う。あるいは、分解行列Ｃを得た直接法の解析時間Ｔと、０から１の値の間で設定される係数との乗算値から反復法の許容解析時間Ｔ0 （Ｔ0 ＜Ｔ）を設定して、反復法の解析時間がこの許容解析時間Ｔ0 よりも小さい間は反復法の続行を判断し、大きくなるときに反復法の続行不可を判断することで行う。あるいは、反復法に入ってからの規定反復回数の解析時間を計時することで、反復一回当たりの解析時間ｔ1 を求めて、「Ｋ＝Ｔ0 ／ｔ1 」により許容反復回数Ｋを設定して、反復法の反復回数がこの許容反復回数Ｋよりも小さい間は反復法の続行を判断し、大きくなるときに反復法の続行不可を判断することで行う。
【００６９】
このようにして、ステップ４で、反復法の続行の可否を判断しつつ、「Ｃ-1Ｚs Ｃt*-1Ｃt Ｉs ＝Ｃ-1Ｖs 」と変形した連立一次方程式を反復法を使って解くときに、ステップ５で、反復法の続行可を判断したのか否かを判断して、続行可を判断するときには、ステップ６に進んで、ステップ４の解析処理で解が求まったのか否かを判断する。そして、解が未だ求まっていないことを判断するときには、ステップ４に戻っていくことでステップ４で実行する反復法を続行していく。
【００７０】
一方、ステップ６で、ステップ４の解析処理で解が求まったことを判断するときには、ステップ７に進んで、ステップ３での選択処理により最高の解析周波数まで解いたのか否かを判断して、解いていないことを判断するときは、ステップ３に戻り、解いたことを判断するときには、後述するステップ９（図１１の処理フロー）に進む。
【００７１】
一方、ステップ５で反復法の続行不可を判断するときには、ステップ８に進んで、ステップ４で実行する反復法を中断し、ステップ３で選択した解析周波数ｆs の連立一次方程式「Ｚs Ｉs ＝Ｖs 」を直接法で解くべく、相互インピーダンスＺs を図２０に示すような形式にコレスキー分解（Ｚs ＝ＣＣt ）し、そのコレスキー分解した相互インピーダンスＺs を用いて、図２１に示した算出式に従って、その連立一次方程式「Ｚs Ｉs ＝Ｖs 」を直接法を解いてから、ステップ７に進む。
【００７２】
そして、上述したように、続くステップ７で、ステップ３での選択処理により最高の解析周波数まで解いたのか否かを判断して、解いていないことを判断するときは、ステップ３に戻り、解いたことを判断するときには、後述するステップ９に進む。
【００７３】
ここで、ステップ４で反復法の解析処理を実行するときにあって、ステップ８を経由してきた場合には、ステップ８で得た分解行列Ｃを用いて、ステップ３で選択した解析周波数の連立一次方程式を変形していくことになる。
【００７４】
ステップ３ないしステップ８の処理に従って、ステップ１で選択した解析周波数よりも昇順側にある解析周波数の解析処理を終了すると、ステップ９（図１１の処理フロー）に進んで、ステップ１で選択した解析周波数を起点として、連立一次方程式格納ファイル２３に格納される解析周波数の中から降順に解析周波数ｆ-s（ｓ＝1,2,3,・・）を１つ選択する。
【００７５】
続いて、ステップ１０で、上述した方法を用い規定の周期に従って反復法の続行の可否を判断しつつ、ステップ２で得た分解行列Ｃを用いて、ステップ１０で選択した解析周波数ｆ-sの連立一次方程式「Ｚ-sＩ-s＝Ｖ-s」を、「Ｃ-1Ｚ-sＣt*-1Ｃt Ｉ-s＝Ｃ-1Ｖ-s」と変形し、１つ前の解析周波数ｆ-s+1で得た解Ｉ-s+1をＩ-sの初期値として、それを反復法で解く。
【００７６】
このとき、ステップ１１で、反復法の続行可を判断したのか否かを判断して、続行可を判断するときには、ステップ１２に進んで、ステップ１０の解析処理で解が求まったのか否かを判断する。そして、解が未だ求まっていないことを判断するときには、ステップ１０に戻っていくことでステップ１０で実行する反復法を続行していく。
【００７７】
一方、ステップ１２で、ステップ１０の解析処理で解が求まったことを判断するときには、ステップ１３に進んで、ステップ９での選択処理により最低の解析周波数まで解いたのか否かを判断して、解いていないことを判断するときは、ステップ９に戻り、解いたことを判断するときには、全処理を終了する。
【００７８】
一方、ステップ１１で反復法の続行不可を判断するときには、ステップ１４に進んで、ステップ１０で実行する反復法を中断し、ステップ９で選択した解析周波数ｆ-sの連立一次方程式「Ｚ-sＩ-s＝Ｖ-s」を直接法で解くべく、相互インピーダンスＺ-sを図２０に示すような形式にコレスキー分解（Ｚ-s＝ＣＣt ）し、そのコレスキー分解した相互インピーダンスＺ-sを用いて、図２１に示した算出式に従って、その連立一次方程式「Ｚ-sＩ-s＝Ｖ-s」を直接法を解いてから、ステップ１３に進む。
【００７９】
そして、上述したように、続くステップ１３で、ステップ９での選択処理により最低の解析周波数まで解いたのか否かを判断して、解いていないことを判断するときは、ステップ９に戻り、解いたことを判断するときには、全処理を終了する。
【００８０】
ここで、ステップ１０で反復法の解析処理を実行するときにあって、ステップ１４を経由してきた場合には、ステップ１４で得た分解行列Ｃを用いて、ステップ９で選択した解析周波数の連立一次方程式を変形していくことになる。
【００８１】
このようにして、連立一次方程式解法プログラム２４は、図１０及び図１１の処理フローに従うときには、図１２に示すように、先ず最初に、好ましくは概略中間に位置する解析周波数について、直接法を使って連立一次方程式を解き、続いて、その解析周波数を起点として、解析周波数を昇順及び降順に選択しながら、直接法で得た分解行列を使って連立一次方程式を変形し、それを反復法で解いていく。そして、直接法で解いた解析周波数より周波数距離が離れることで、反復法による解析処理が計算時間を要する状態になることを検出すると、その時点で反復法を中断して直接法を使って連立一次方程式を解き、その後、その直接法で得た分解行列を使って連立一次方程式を変形し、それを反復法で解いていくことを繰り返していくように処理するのである。
【００８２】
この処理構成を採ることで、無条件に反復法を用いていくことによる計算量の増大を防止できることで、電子機器の各要素に流れる電流を高速に算出することができるようになる。
【００８３】
図１０及び図１１の処理フローでは、反復法の続行の不可を判断するときに、その時点で実行している反復法の解析処理を直ちに中断していくという構成を採ったが、もう少しで解が求まるであろうことを考慮して、その時点で実行している反復法の解析処理については最後まで実行する構成を採って、次の解析周波数について直接法を解いていくという構成を採ることも可能である。
【００８４】
図１３及び図１４に、この処理構成を採る場合の処理フローの一実施例を図示する。
【００８５】
すなわち、この処理フローに従う場合には、連立一次方程式解法プログラム２４は、シミュレーション対象の電子機器の各要素に流れる電流の算出要求が発行されると、先ず最初に、ステップ１で、連立一次方程式格納ファイル２３に格納される解析周波数の好ましくは概略中間に位置する解析周波数を選択する。
【００８６】
続いて、ステップ２で、連立一次方程式格納ファイル２３から、その選択した解析周波数の相互インピーダンスＺ0 を読み込んで、それを図２０に示すような形式にコレスキー分解（Ｚ0 ＝ＣＣt ）し、そのコレスキー分解した相互インピーダンスＺ0 を用いて、図２１に示した算出式に従って、その選択した解析周波数の連立一次方程式「Ｚ0 Ｉ0 ＝Ｖ0 」を直接法で解く。
【００８７】
続いて、ステップ３で、ステップ１で選択した解析周波数を起点として、連立一次方程式格納ファイル２３に格納される解析周波数の中から昇順に解析周波数ｆs （ｓ＝1,2,3,・・）を１つ選択する。続いて、ステップ４で、ステップ２で得た分解行列Ｃを用いて、ステップ３で選択した解析周波数ｆs の連立一次方程式「Ｚs Ｉs ＝Ｖs 」を、「Ｃ-1Ｚs Ｃt*-1Ｃt Ｉs ＝Ｃ-1Ｖs 」と変形し、１つ前の解析周波数ｆs-1 で得た解Ｉs-1 をＩs の初期値として、それを反復法で解が求まるまで解く。
【００８８】
続いて、ステップ５で、ステップ３での選択処理により最高の解析周波数まで解いたのか否かを判断して、解いたことを判断するときには、後述するステップ９（図１４の処理フロー）の処理に進み、解いていないことを判断するときは、ステップ６に進んで、ステップ４でかかった反復法の解析時間や反復回数などを使って、上述した方法に従って反復法の続行の可否を判断する。
【００８９】
このステップ６の判断処理により、反復法の続行可を判断するときには、ステップ３に戻り、反復法の続行不可を判断するときには、ステップ７に進んで、昇順の形態に従って次の解析周波数ｆs+1 を選択する。
【００９０】
続いて、ステップ８で、連立一次方程式格納ファイル２３から、その選択した解析周波数ｆs+1 の相互インピーダンスＺs+1 を読み込んで、それを図２０に示すような形式にコレスキー分解（Ｚs+1 ＝ＣＣt ）し、そのコレスキー分解した相互インピーダンスＺ0 を用いて、図２１に示した算出式に従って、その選択した解析周波数の連立一次方程式「Ｚs+1 Ｉs+1 ＝Ｖs+1 」を直接法で解いてから、ステップ３に戻っていく、
ここで、ステップ４で反復法の解析処理を実行するときにあって、ステップ８を経由してきた場合には、ステップ８で得た分解行列Ｃを用いて、ステップ３で選択した解析周波数の連立一次方程式を変形していくことになる。
【００９１】
一方、ステップ５で、最高の解析周波数まで解いたことを判断するときには、ステップ９（図１４の処理フロー）に進んで、ステップ１で選択した解析周波数を起点として、連立一次方程式格納ファイル２３に格納される解析周波数の中から降順に解析周波数ｆ-s（ｓ＝1,2,3,・・）を１つ選択する。
【００９２】
続いて、ステップ１０で、ステップ２で得た分解行列Ｃを用いて、ステップ９で選択した解析周波数ｆ-sの連立一次方程式「Ｚ-sＩ-s＝Ｖ-s」を、「Ｃ-1Ｚ-sＣt*-1Ｃt Ｉ-s＝Ｃ-1Ｖ-s」と変形し、１つ前の解析周波数ｆ-s+1で得た解Ｉ-s+1をＩ-sの初期値として、それを反復法で解が求まるまで解く。
【００９３】
続いて、ステップ１１で、ステップ９での選択処理により最低の周波数波数まで解いたのか否かを判断して、解いたことを判断するときには、全処理を終了し、解いていないことを判断するときは、ステップ１２に進んで、ステップ１０でかかった反復法の解析時間や反復回数などを使って、上述した方法に従って反復法の続行の可否を判断する。
【００９４】
このステップ１２の判断処理により、反復法の続行可を判断するときには、ステップ９に戻り、反復法の続行不可を判断するときには、ステップ１３に進んで、降順の形態に従って次の解析周波数ｆ-s-1を選択する。
【００９５】
続いて、ステップ１４で、連立一次方程式格納ファイル２３から、その選択した解析周波数ｆ-s-1の相互インピーダンスＺ-s-1を読み込んで、それを図２０に示すような形式にコレスキー分解（Ｚ-s-1＝ＣＣt ）し、そのコレスキー分解した相互インピーダンスＺ-s-1を用いて、図２１に示した算出式に従って、その選択した解析周波数の連立一次方程式「Ｚ-s-1Ｉ-s-1＝Ｖ-s-1」を直接法で解いてから、ステップ９に戻っていく、
ここで、ステップ１０で反復法の解析処理を実行するときにあって、ステップ１４を経由してきた場合には、ステップ１４で得た分解行列Ｃを用いて、ステップ９で選択した解析周波数の連立一次方程式を変形していくことになる。
【００９６】
このようにして、連立一次方程式解法プログラム２４は、図１３及び図１４の処理フローに従うときには、先ず最初に、好ましくは概略中間に位置する解析周波数について、直接法を使って連立一次方程式を解き、続いて、その解析周波数を起点として、解析周波数を昇順及び降順に選択しながら、直接法で得た分解行列を使って連立一次方程式を変形し、それを反復法で解いていく。そして、反復法を解き終えた時点で、直接法で解いた解析周波数より周波数距離が離れることで、反復法による解析処理が計算時間を要する状態になることを検出すると、次の解析周波数については直接法を使って連立一次方程式を解き、その後、その直接法で得た分解行列を使って連立一次方程式を変形し、それを反復法で解いていくことを繰り返していくように処理するのである。
【００９７】
次に、連立一次方程式解法プログラム２４により実行される本発明の他の実施例について説明する。
【００９８】
この実施例に従う場合、連立一次方程式解法プログラム２４は、図１５に示すように、解析周波数の領域を複数に分割して、それらの各領域に対して、図８の処理フローに従う解析処理を実行する構成を採ることで、電子機器の各要素に流れる電流を高速に算出することを実現する。
【００９９】
図１６に、この実施例を実現するために連立一次方程式解法プログラム２４が実行する処理フローの一実施例を図示する。
【０１００】
この処理フローに従う場合、連立一次方程式解法プログラム２４は、先ず最初に、ステップ１で、図１５に示すように解析周波数の領域を複数に分割する。この分割形態については後述する。
【０１０１】
続いて、ステップ２で、未処理の分割領域の中から分割領域を１つ選択し、続くステップ３で、全ての分割領域を選択したのか否かを判断して、全ての分割領域を選択したことを判断するときには、全処理を終了する。
【０１０２】
一方、ステップ３で、全ての分割領域を選択していないことを判断するとき、すなわち、ステップ２で未処理の分割領域を選択できたことを判断するときには、ステップ４に進んで、その選択した分割領域を処理対象として、図８の処理フローに従ってシミュレーション処理を実行する。そして、未処理の分割領域に対する解析処理を行うべくステップ２に戻る。
【０１０３】
ここで、この実施例の基本的な技術思想は、解析周波数の領域を複数に分割することにある。これから、図８の処理フローで選択する起点解析周波数（直接法で解く解析周波数）については、各分割領域の両端の周波数から選んでもよい。勿論、各分割領域の概略中間に位置する解析周波数を選ぶことが好ましい。
【０１０４】
このようにして、連立一次方程式解法プログラム２４は、解析周波数の領域を複数に分割して、それらの各分割領域に対して、図８の処理フローに従う解析処理を実行する構成を採ることで、電子機器の各要素に流れる電流を高速に算出するのである。
【０１０５】
この実施例と、図１０及び図１１の処理フローや図１４及び図１５の処理フローで説明した実施例とを組み合わせることも可能である。すなわち、この実施例に従って各分割領域を反復法で解いていくときに、その計算時間が大きくなるときには、直接法で解いて、その結果得られる分解行列を使って連立一次方程式を変形して反復法で解いていくという構成を採ることも可能である。
【０１０６】
この図１６の処理フローから分かるように、各分割領域に対して行われる図８の処理フローに従う解析処理はそれぞれ独立したものであり、これから、複数のプロセッサを使って並列処理することが可能である。この並列処理構成を採ると、極めて高速にシミュレーション処理を実行できるようになる。
【０１０７】
この実施例で実行する解析周波数の分割処理については、総計算時間が最も少なくように解析周波数の領域を分割することが好ましい。次に、この分割を実現するためのアルゴリズムについて説明する。
【０１０８】
反復法で解が求まるまでの計算時間（反復回数）は、後述する実験結果からも分かるように、概略、直接法で解析した起点となる解析周波数からの周波数距離に比例する。すなわち、起点からｎ離れた解析周波数での反復法の計算時間ｔは、概略、
ｔ＝ａ×ｎ＋ｂ
と表される。
【０１０９】
従って、直接法の計算時間をＡ、解析周波数の領域を０〜Ｎ、反復法を用いる解析周波数の間隔を１、分割する解析周波数の領域数をＫ、ｋ番目の分割領域をＤk-1 〜Ｄk （Ｄ0 ＝０，ＤK ＝Ｎ）、各分割領域での起点となる解析周波数（直接法で解く解析周波数）をｄ1 〜ｄK と表すならば、総計算時間Ｔは、
0003878345.tif 000002
と表される。
【０１１０】
この総計算時間Ｔを最小とする「Ｋ，Ｄ1,・・・ＤK-1,ｄ1,・・・ｄK 」が最適な起点周波数及び領域分割を与えることになる。
【０１１１】
この問題は、
ｘk＝ｄk−Ｄk-1 ，ｙk＝Ｄk−ｄk     ｋ＝１〜Ｋ
と書き直すと、
Σk=1k=Kｘk＋ｙk＝Ｎ      ｘk≧０，ｙk≧１
という拘束条件の下で、
0003878345.tif 000003
と表される総計算時間Ｔを最小とする、「整数」Ｋ, ｘk,ｙk （ｋ＝１〜Ｋ）を求めよという問題に帰着する。
【０１１２】
この問題を解くために、先ず最初に、Ｋを固定し、近似的にｘk,ｙk （ｋ＝１〜Ｋ）を連続値として見なして、この総計算時間Ｔの極値を計算すると、
0003878345.tif 000004
が求まる。ここで、上記式は、極値において、ｘ0k，ｙ0kがｋに依存しないことを示している。
【０１１３】
このことは、各分割領域の大きさが均等になるようにと解析周波数の領域を分割するとともに、各分割領域の起点となる解析周波数（直接法で解く解析周波数）として、各分割領域の中点を用いる必要があることを示している。
【０１１４】
次に、Ｋを連続値と見なして、このＴ0 （Ｋ）の極値を計算すると、
Ｋ0＝Ｎ〔ａ／（４Ａ−ａ−４ｂ）〕1/2 
Ｔ0＝Ｔ0（Ｋ0）＝Ｎ〔（ａ（４Ａ−ａ−４ｂ）1/2 ／２＋ｂ〕
が求まる。
【０１１５】
以上のことから、直接法の計算時間Ａと反復法の計算時間の特性係数ａ，ｂとが知られているときや、実際に解析処理を行うことでこれらを求める（反復法の計算時間の特性係数ａ，ｂについては、少し解析処理を行うことで求めることが可能である）と、
Ｋ0＝Ｎ〔ａ／（４Ａ−ａ−４ｂ）〕1/2 
を計算することが可能になり、これから、このＫ0 に近い整数Ｋを求めて、それに従って解析周波数をＫ個に等分割するとともに、各分割領域の中点で直接法を解いていくことで、総計算時間Ｔを最小にできることが分かる。
【０１１６】
なお、「（４Ａ−ａ−４ｂ）＜０」となるときには、反復法を使わずに直接法のみを用いることになる。また、分割領域を等分できないときには、これまでの実験結果に基づく経験から、高周波数領域を広めに取ることが好ましい。また、中点が正確に取れないときには、これまでの実験結果に基づく経験から、低周波よりに中点を取ることが好ましい。
【０１１７】
次に、本発明の有効性を検証するために行った実験結果について説明する。
【０１１８】
この実験は、電源層とグランド層とから構成される正方形のプリント板を解析対象とし、２２０ＭＨｚ〜１０００ＭＨｚ間に２０ＭＨｚの間隔で設定される４０点の解析周波数を想定することで行った。相互インピーダンスの行列次元数は１７３３である。
【０１１９】
図１７に、図８の処理フローに従う場合の実験結果を図示する。
【０１２０】
この実験では、起点解析周波数を６００ＭＨｚとした。この実験から、４０点の解析周波数の全てを直接法で解くと７６４.2秒（１周波数当たり１９.1１秒）かかるのに対して、図８の処理フローの本発明に従うと６１９.3２秒で済むという結果が得られた。
【０１２１】
また、この実験から、反復法で解が求まるまでの計算時間は、概略、直接法で解析した起点解析周波数からの周波数距離に比例することが分かり、これから、起点解析周波数を最低周波数とする従来技術に比べて、少ない計算時間で済むという結果が得られた。
【０１２２】
図１７の実験結果から、上述した直接法の計算時間Ａと反復法の計算時間の特性係数ａ，ｂとは、
Ａ＝１９.1１，  ａ＝１.1４３，  ｂ＝４.9５７
となることが分かる。従って、上述した式に従って、最適な分割数Ｋは、
Ｋ＝Ｎ〔ａ／（４Ａ−ａ−４ｂ）〕1/2 ＝５.7４４≒６
と求まる。
【０１２３】
これから、
領域１：２２０〜３２０ＭＨｚ（６周波数）    起点２６０ＭＨｚ
領域２：３４０〜４４０ＭＨｚ（６周波数）    起点３８０ＭＨｚ
領域３：４６０〜５８０ＭＨｚ（７周波数）    起点５２０ＭＨｚ
領域４：６００〜７２０ＭＨｚ（７周波数）    起点６６０ＭＨｚ
領域５：７４０〜８６０ＭＨｚ（７周波数）    起点８００ＭＨｚ
領域６：８８０〜１０００ＭＨｚ（７周波数）  起点９４０ＭＨｚ
と分割して、図１６の処理フローに従う実験を行った。図１８に、この実験結果を図示する。
【０１２４】
この実験から、４０点の解析周波数の全てを直接法で解くと７６４.2秒（１周波数当たり１９.1１秒）かかるのに対して、図１６の処理フローの本発明に従うと３５７.0７秒で済むという結果が得られた。このようにして、本発明の有効性を検証できた。
【０１２５】
図示実施例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、実施例ではモーメント法への適用を具体例にして本発明を説明したが、本発明は有限要素法や差分法などのようなその他の解析方法に対しても、そのまま適用できる。
【０１２６】
【発明の効果】
以上説明したように、本発明のシミュレーション装置では、解析周波数領域の持つ両端以外の１つの周波数を解析対象として、直接法に従って連立一次方程式を解き、それ以外の周波数については、直接法で分解した係数行列を使って連立一次方程式を変形しつつ反復法により解く構成を採るので、反復法で解く周波数と直接法で解く周波数との間の周波数距離が従来技術に比べて小さくなることで、反復法で解く連立一次方程式が所望のものに近い形に変形でき、これにより、高速に解析処理を実行できるようになる。
【０１２７】
また、本発明のシミュレーション装置では、解析周波数領域を分割し、その分割した各解析周波数領域毎に、その分割した解析周波数領域の中の１つの周波数を解析対象として、直接法に従って連立一次方程式を解き、それ以外の周波数については、直接法で分解した係数行列を使って連立一次方程式を変形しつつ反復法により解く構成を採るので、反復法で解く周波数と直接法で解く周波数との間の周波数距離が従来技術に比べて小さくなることで、反復法で解く連立一次方程式が所望のものに近い形に変形でき、これにより、高速に解析処理を実行できるようになる。
【０１２８】
また、本発明のシミュレーション装置では、直接法で分解した係数行列を使って連立一次方程式を変形しつつ反復法により解く構成を採るときにあって、反復法で解く周波数と直接法で解く周波数との間の周波数距離が大きくなることで、その係数行列を用いる反復法では解析時間が長くなってしまうことになると、直接法を実行することで解析周波数に適合した形で分解される係数行列を得て、それを使って反復法により連立一次方程式を解くようにする構成を採ることから、反復法で解く連立一次方程式が所望のものに近い形に変形でき、これにより、高速に解析処理を実行できるようになる。
【０１２９】
このようにして、本発明のシミュレーション装置によれば、モーメント法などに従って、解析周波数に応じて定義される連立一次方程式を解くことで、電子機器に流れる電流をシミュレートする構成を採るときにあって、そのシミュレーション処理を高速に実現できるようになる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】本発明の一実施例である。
【図３】モーメント法の連立一次方程式の説明図である。
【図４】相互インピーダンスの算出方法の説明図である。
【図５】相互インピーダンスの算出方法の説明図である。
【図６】波源と観測点との関係図である。
【図７】電界の算出式の説明図である。
【図８】連立一次方程式解法プログラムの処理フローである。
【図９】連立一次方程式解法プログラムの処理説明図である。
【図１０】連立一次方程式解法プログラムの処理フローである。
【図１１】連立一次方程式解法プログラムの処理フローである。
【図１２】連立一次方程式解法プログラムの処理説明図である。
【図１３】連立一次方程式解法プログラムの処理フローである。
【図１４】連立一次方程式解法プログラムの処理フローである。
【図１５】連立一次方程式解法プログラムの処理説明図である。
【図１６】連立一次方程式解法プログラムの処理フローである。
【図１７】実験結果の説明図である。
【図１８】実験結果の説明図である。
【図１９】連立一次方程式の説明図である。
【図２０】コレスキー分解の説明図である。
【図２１】連立一次方程式の解の説明図である。
【図２２】共役勾配法の説明図である。
【図２３】前処理付き共役勾配法の説明図である。
【符号の説明】
１    シミュレーション装置
１０  解析周波数ファイル
１１  係数行列ファイル
１２  解析結果ファイル
１３  分割手段
１４  選定手段
１５  第１の解析手段
１６  第２の解析手段
１７  解法制御手段
【図１】
0003878345.tif 000005
【図２】
0003878345.tif 000006
【図３】
0003878345.tif 000007
【図４】
0003878345.tif 000008
【図５】
0003878345.tif 000009
【図６】
0003878345.tif 000010
【図７】
0003878345.tif 000011
【図８】
0003878345.tif 000012
【図９】
0003878345.tif 000013
【図１０】
0003878345.tif 000014
【図１１】
0003878345.tif 000015
【図１２】
0003878345.tif 000016
【図１３】
0003878345.tif 000017
【図１４】
0003878345.tif 000018
【図１５】
0003878345.tif 000019
【図１６】
0003878345.tif 000020
【図１７】
0003878345.tif 000021
【図１８】
0003878345.tif 000022
【図１９】
0003878345.tif 000023
【図２０】
0003878345.tif 000024
【図２１】
0003878345.tif 000025
【図２２】
0003878345.tif 000026
【図２３】
0003878345.tif 000027