(57)【特許請求の範囲】
【請求項１】
実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が前記第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションをコンピュータに実行させるシミュレーションプログラムであって、
前記コンピュータを、
現在の解析時刻における前記第１の解析処理の第１の解析結果と、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の第２の解析結果とに基づいて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定する判定手段、
前記判定手段によって判定された判定結果に基づいて、前記現在の解析時刻における前記第２の解析処理の実行を制御する実行制御手段、
として機能させることを特徴とするシミュレーションプログラム。
【請求項２】
前記コンピュータを、
前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の前記第２の解析結果を用いて、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果の予測値を算出する予測値算出手段として機能させ、
前記判定手段は、
前記予測値算出手段によって算出された予測値と、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果とを用いて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定することを特徴とする請求項１に記載のシミュレーションプログラム。
【請求項３】
前記判定手段は、
前記現在の解析時刻と、前記第２の解析処理の解析予定時刻とを用いて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定することを特徴とする請求項１または２に記載のシミュレーションプログラム。
【請求項４】
前記実行制御手段は、
前記判定手段によって前記第２の解析処理の実行が必要と判定された場合、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果を用いて、前記現在の解析時刻における前記第２解析処理を実行させることを特徴とする請求項１〜３のいずれか一つに記載のシミュレーションプログラム。
【請求項５】
前記予測値算出手段は、
前記判定手段によって前記第２の解析処理の実行が不要と判定された場合、前記第２の解析処理の一実行間隔前の解析時刻における前記第２の解析処理の第３の解析結果を用いて、前記現在の解析時刻における前記第２の解析処理の解析結果の予測値を算出し、
前記実行制御手段は、
前記予測値算出手段によって算出された予測値を用いて、前記第１の解析処理の一実行間隔後の解析時刻における前記第１の解析処理を実行させることを特徴とする請求項１〜４のいずれか一つに記載のシミュレーションプログラム。
【請求項６】
前記予測値算出手段は、
前記判定手段によって前記第２の解析処理の実行が不要と判定された場合、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果を用いて、前記現在の解析時刻における前記第２の解析処理の解析結果の予測値を算出し、
前記実行制御手段は、
前記予測値算出手段によって算出された予測値を用いて、前記第１の解析処理の一実行間隔後の解析時刻における前記第１の解析処理を実行させることを特徴とする請求項１〜４のいずれか一つに記載のシミュレーションプログラム。
【請求項７】
実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が前記第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションをコンピュータが実行するシミュレーション方法であって、
前記コンピュータが、
現在の解析時刻における前記第１の解析処理の第１の解析結果と、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の第２の解析結果とに基づいて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定し、
判定した判定結果に基づいて、前記現在の解析時刻における前記第２の解析処理の実行を制御する、
処理を実行することを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、実行間隔が固定あるいは可変の解析処理と、実行間隔が可変の解析処理とを連携した融合シミュレーションを実行するシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法に関する。
【背景技術】
【０００２】
一般に、回路を時間領域で解析する回路解析の分野では、時間微分方程式を離散化して数値積分することにより解を求める手法が用いられている。この手法としては、例えば、前進オイラー法などの陽的積分手法と、後退オイラー法や台形法などの陰的積分手法とがある。
【０００３】
陽的積分手法によれば、解を求めるための計算量を少なくすることができるが、離散化する際の時間間隔を適切に選択しなければ解が発散してしまうという欠点がある。このため、一般的な回路解析に適用することは難しく、ＳＰＩＣＥに代表される回路解析プログラムでは陰的積分手法が用いられている。
【０００４】
一方、空間を時間領域で解析する電磁界解析の分野では、マックスウェル方程式を時間領域で解くＦＤＴＤ法という手法が知られている。ＦＤＴＤ法は、陽的積分手法の一種であるが、安定的に解を求めるための条件が確立されているため、電磁界解析に広く用いられている。
【０００５】
また、電磁界解析と回路解析とを連携した融合シミュレーションを実行する手法が知られている。この融合シミュレーションを実行する場合、電磁界解析による解析結果を回路解析に引き渡す時刻と、回路解析の解析時刻とを、ある程度の範囲内で一致させないと解析が不安定となってしまう。そこで、回路解析の解析時刻を電磁界解析の解析時刻に合わせる手法が開示されている（例えば、下記特許文献１参照。）。
【０００６】
また、複数台のコンピュータ装置を用いて、電磁界解析と回路解析とを連携した融合シミュレーションを実行する手法が知られている（例えば、下記特許文献２参照。）。具体的には、解析対象となる領域を複数のサブ領域およびサブ領域間のオーバーラップ領域に分割し、各サブ領域における電磁界の解析を第１のコンピュータ装置により実行し、各サブ領域における等価回路網のシミュレーションを第２のコンピュータ装置により実行する。そして、第３のコンピュータ装置により第１および第２のコンピュータ装置の同期を制御する。
【０００７】
また、ＦＤＴＤ法と類似の手法を回路解析に適用したＬＩＭ法が知られている（例えば、下記非特許文献１参照。）。このＬＩＭ法は、陽的積分手法の一種であり、一般的な回路すべてに適用することができるわけではないが、プリント基板の配線や配線層を、抵抗、容量、インダクタンスなどの線形素子でモデル化した回路の解析には有効である。
【０００８】
【特許文献１】特開平１１−１５３６３４号公報
【特許文献２】特開２００４−５４６４２号公報
【特許文献３】特開２００７−２０６９４３号公報
【非特許文献１】Ｊｏｓｅ  Ｅ．Ｓｃｈｕｔｔ−Ａｉｎｅ，“Ｌａｔｅｎｃｙ  Ｉｎｓｅｒｔｉｏｎ  Ｍｅｔｈｏｄ（ＬＩＭ）  ｆｏｒ  ｔｈｅ  Ｆａｓｔ  Ｔｒａｎｓｉｅｎｔ  Ｓｉｍｕｌａｔｉｏｎ  ｏｆ  Ｌａｒｇｅ  Ｎｅｔｗｏｒｋｓ”  ＩＥＥＥ  Ｔｒａｎｓ．Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ−Ｉ，ｖｏｌ．４８，ｎｏ．１，ｐｐ．８１−８９，Ｊａｎ．２００１
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したＦＤＴＤ法を安定に解くための時間間隔は、空間を離散化するサイズに依存する。このため、離散化するサイズが小さくなるにつれ、時間間隔を短くする必要がある。したがって、ＬＳＩが搭載されたプリント基板などに上述した融合シミュレーションを適用する場合には、解析点数が非常に多くなってしまい、解析時間の長期化を招くという問題があった。
【００１０】
また、ＳＰＩＣＥなどによる回路解析では、解析精度を一定に保つために、時間を戻しての再計算（いわゆる、リトライ）がおこなわれている。この再計算を融合シミュレーションに適用する場合には、回路解析の再計算に合わせて電磁界解析の解析時刻を過去に戻す必要がある。さらに、電磁界解析の解析時刻を戻すためには、戻す解析時刻の計算に必要な実行データを保持する必要がある。
【００１１】
ところが、回路解析に比べて電磁界解析の解析点数が大きい状況（例えば、１０００倍）では、ＦＤＴＤ法を用いた電磁界解析の計算に必要となるデータ量が膨大なものとなってしまい、実際上、融合シミュレーションの実行が不可能であるという問題があった。さらに、リトライができないと解析精度が不十分であっても解析を継続することとなり、結果的に解析精度の低下を招くという問題があった。
【００１２】
また、解析精度を一定に保つために、回路解析の時間間隔を小さくすることもできるが、時間間隔が小さくなるにつれ、回路解析にかかる解析時間が増大化し、結果的に融合シミュレーションにかかる解析時間の長期化を招くという問題があった。
【００１３】
これらの問題は、ＦＤＴＤ法を用いた電磁界解析の替わりに、ＬＩＭ法を用いた回路解析を適用した場合も同様に発生し、融合シミュレーションにかかる解析時間の長期化を招くという問題があった。
【００１４】
この発明は、上述した従来技術による問題点を解消するため、効率的かつ効果的に解析点数を削減することにより、融合シミュレーションの高精度化および高速化を図るシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が前記第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションを実行するシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法であって、現在の解析時刻における前記第１の解析処理の第１の解析結果と、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の第２の解析結果とに基づいて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定し、判定された判定結果に基づいて、前記現在の解析時刻における前記第２の解析処理の実行を制御することを要件とする。
【００１６】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、本来不要である解析時刻における第２の解析処理を削減することができる。
【００１７】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の前記第２の解析結果を用いて、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果の予測値を算出し、算出された予測値と、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果とを用いて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定することとしてもよい。
【００１８】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、過去の解析結果から予測される現在の解析結果と、実際に計算された現在の解析結果とのズレから、第２の解析処理の実行の要否を判定することができる。
【００１９】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、前記現在の解析時刻と、前記第２の解析処理の解析予定時刻とを用いて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定することとしてもよい。
【００２０】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、予め決められた解析予定時刻に達した場合には、第２の解析処理を実行させることができる。
【００２１】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、前記第２の解析処理の実行が必要と判定された場合、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果を用いて、前記現在の解析時刻における前記第２解析処理を実行させることとしてもよい。
【００２２】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、第２の解析処理を効果的に実行することができる。
【００２３】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、前記第２の解析処理の実行が不要と判定された場合、前記第２の解析処理の一実行間隔前の解析時刻における前記第２の解析処理の第３の解析結果を用いて、前記現在の解析時刻における前記第２の解析処理の解析結果の予測値を算出し、算出された予測値を用いて、前記第１の解析処理の一実行間隔後の解析時刻における前記第１の解析処理を実行させることとしてもよい。
【００２４】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、過去の解析結果から予測される現在の解析結果を用いて第１の解析処理を実行することにより、解析精度を一定に保つことができる。
【００２５】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、前記第２の解析処理の実行が不要と判定された場合、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果を用いて、前記現在の解析時刻における前記第２の解析処理の解析結果の予測値を算出し、算出された予測値を用いて、前記第１の解析処理の一実行間隔後の解析時刻における前記第１の解析処理を実行させることとしてもよい。
【００２６】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、現在の解析時刻における第１の解析処理の解析結果を用いて、現在の解析時刻のおける第２の解析処理の解析結果の予測値を高精度に求めることにより、シミュレーションの解析精度を向上させることができる。
【００２７】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、前記第１の解析処理を再実行する再解析時刻候補を決定し、前記第２の解析処理の実行が制御された結果、前記現在の解析時刻における前記第２の解析処理の第４の解析結果を用いて、当該第２の解析処理の解析誤差を算出し、算出された算出結果に基づいて、前記第１の解析処理の再実行の要否を判定し、判定された判定結果に基づいて、決定された再解析時刻候補における前記第１の解析処理の再実行を制御することとしてもよい。
【００２８】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、第２の解析処理の解析誤差が大きい場合に、再解析時刻候補からのリトライを実行可能とすることにより、解析精度の向上を図ることができる。
【００２９】
また、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法は、決定された再解析時刻候補における前記第１の解析処理の実行に必要となる実行データを保持し、保持された実行データを用いて前記再解析時刻候補における前記第１の解析処理を実行させることとしてもよい。
【００３０】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、再解析時刻候補からのリトライに必要となる実行データのみを保持することにより、リトライ処理のために確保する使用メモリ量を削減することができる。
【発明の効果】
【００３１】
このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法によれば、効率的かつ効果的に解析点数を削減することにより、融合シミュレーションの高精度化および高速化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３２】
以下に添付図面を参照して、このシミュレーションプログラム、該プログラムを記録した記録媒体、シミュレーション装置、およびシミュレーション方法の好適な実施の形態を詳細に説明する。
【００３３】
（実施の形態１）
まず、シミュレーション装置の実施の形態１について説明する。シミュレーション装置は、実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションを実行する。一例として、空間内の電磁界解析（第１の解析処理）と空間内に配置される回路の回路解析（第２の解析処理）とを連携した融合シミュレーションの実行に適用することができる。
【００３４】
なお、本実施の形態では、第２の解析処理の実行間隔が第１の解析処理の実行間隔以上として説明するが、シミュレーション全体の解析時間において、常にこの関係が保たれているとは限らない。すなわち、一時的に第１の解析処理の実行間隔よりも第２の解析処理の実行間隔のほうが小さくなることもある。
【００３５】
電磁界解析は、解析対象となる空間内の電磁波の過渡的な挙動を解析するシミュレーションである。電磁界解析には、例えば、陽的積分手法の一種であるＦＤＴＤ（Ｆｉｎｉｔｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｔｉｍｅ  Ｄｏｍａｉｎ）法を用いることができる。
【００３６】
また、回路解析は、解析対象となる回路の電圧・電流の過渡的な挙動を解析するシミュレーションである。回路解析には、例えば、陰的積分手法を用いた回路シミュレータを使用することができる。回路シミュレータには、例えば、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）がある。
【００３７】
ここで、電磁界解析と回路解析とを連携した融合シミュレーションの概要について説明する。図１は、融合シミュレーションの概要を示す説明図（その１）である。図１において、空間内の電磁界解析と、その空間内に配置される回路の回路解析とを連携した融合シミュレーションの概要が示されている。なお、以降において、「時刻」とは、シミュレーションにおける時刻を表わす変数であり、現実の時刻とは異なる。
【００３８】
電磁波解析では、空間を区切って格子状の複数のセルに分割し、ＦＤＴＤ法を用いた過渡的な解析をおこなう。ここでは、各セルの辺における電界Ｅと、その周囲の磁界Ｈとの過渡的な変化を解析する。電磁界解析の実行間隔「Δｔ」は解析の安定性を保つために、空間の離散化サイズに依存するある最大値以下である必要がある。各時刻で間隔を変えることも可能であるが、通常は解析時刻数をできるだけ少なくするため、最大値に近い固定値が用いられるので、以降において「Δｔ」は固定値として説明する。ここで、「Δｔ／２」間隔で進行する時刻をｔＨ，ｔＥとする。
【００３９】
具体的には、時刻ｔＨで磁界Ｈを計算し、時刻ｔＥで電界Ｅを計算することにより、過渡的な電磁波解析をおこなう。ただし、電界Ｅを計算するときには、回路が存在している領域の電界値Ｅn+1が引き渡されるのを待ち、電界値Ｅn+1が引き渡されたら、引き渡された値を反映させて空間内の電界Ｅを求める。
【００４０】
回路解析では、電流源法を用いた回路部１１０の等価回路１１１に基づいて、例えば、ＳＰＩＣＥを使用した解析をおこなう。具体的には、電流源１１２から回路部１１０の両極にかかる電圧Ｖn+1を求める。このとき、回路部１１０の電流源値Ｉn+1/2が引き渡されるのを待ち、回路部１１０の電流源値Ｉn+1/2が引き渡されたら、渡された値によって回路部１１０の電流源値を更新して回路解析を続行する。
【００４１】
なお、等価回路１１１は、電流源１１２と、電流源１１２と並列に接続されたコンデンサＣとからなる。また、回路解析の解析時刻を「Ｔ」とし、実行間隔を「ΔＴ」とする。この実行間隔ΔＴは状況に応じて変化させることができる。
【００４２】
上述した、回路解析に引き渡される電流源値Ｉn+1/2は、電磁波解析により計算された磁界Ｈn+1/2から求める。また、電磁界解析に引き渡される回路が存在している領域の電界値Ｅn+1は、回路解析により計算された電圧Ｖn+1から求める。
【００４３】
ここで、電磁波解析と回路解析との間の電流源値Ｉn+1/2および電界値Ｅn+1の引き渡し手順について説明する。なお、各記号の右肩の数値は、ｋ×Δｔで表わされる時刻の「ｋ」の値を示したものである。例えば、Ｈnは、時刻「ｎ×Δｔ」における磁界Ｈを表わしている。
【００４４】
まず、電磁界解析において、解析時刻「ｔＨ＝（ｎ＋１／２）×Δｔ」における磁界Ｈn+1/2を計算する（ｎは自然数）。具体的には、例えば、磁界Ｈn+1/2は、下記式（１）を用いて求めることができる。ただし、μは透磁率である。
【００４５】
Ｈn+1/2＝Ｈn-1/2−（Δｔ／μ）ｒｏｔＥn                  …（１）
【００４６】
このあと、電磁界解析によって求められた磁界Ｈn+1/2を用いて電流源値Ｉn+1/2を算出し、その電流源値Ｉn+1/2を回路解析へ引き渡す。具体的には、例えば、電流源値Ｉn+1/2は、下記式（２）を用いて求めることができる。
【００４７】
Ｉn+1/2＝ΣＨn+1/2                                      …（２）
【００４８】
また、回路解析において、引き渡された電流源値Ｉn+1/2を用いて、電圧Ｖn+1を算出する。具体的には、例えば、電圧Ｖn+1は、下記式（３）を用いて求めることができる。ただし、Ｚは、回路のインピーダンス行列である。
【００４９】
Ｖn+1＝Ｚ-1×Ｉn+1/2                                    …（３）
【００５０】
このあと、回路解析によって求められた電圧Ｖn+1を用いて、回路が存在する領域の電界値Ｅn+1を算出し、電磁波解析に引き渡す。具体的には、例えば、電界値Ｅn+1は、下記式（４）を用いて求めることができる。ただし、ｄは、回路が存在する部分のセルの一辺の長さである。
【００５１】
Ｅn+1＝Ｖn+1／ｄ                                        …（４）
【００５２】
また、電磁波解析において、引き渡された電界値Ｅn+1を用いて、解析時刻「ｔＥ（ｔＥ＝（ｎ＋１）Δｔ）における電界値を計算する。具体的には、例えば、電界値は、下記式（５）を用いて求めることができる。ただし、εは、誘電率である。
【００５３】
Ｅn+1＝Ｅn＋（Δｔ／ε）ｒｏｔＨn+1/2                    …（５）
【００５４】
そして、電磁波解析では、回路が存在する領域には引き渡された電界値Ｅn+1を設定し、その他の領域には上記式（５）を用いて求められた電界値を設定することで、所定の空間内の電界を求める。
【００５５】
一般に、電磁波解析から回路解析への電流源値Ｉn+1/2の引き渡し時刻と、回路解析の解析時刻Ｔとは、ある程度の範囲内で一致させないと解析が不安定となってしまうことが知られている。そこで、従来では、回路解析の解析時刻Ｔを電磁界解析の時刻ｔＨに合わせることがおこなわれている。ところが、以下に説明する問題が発生してしまう。
【００５６】
ＦＤＴＤ法を安定に解くための実行間隔は、空間を離散化するサイズに依存する。つまり、離散化する格子サイズが小さくなるにつれ、実行間隔を短くする必要がある。このため、ＬＳＩが搭載されたプリント基板などに上記の融合シミュレーションを適用する場合には、電磁界解析の実行間隔が回路解析の実行間隔よりも短くなってしまう。
【００５７】
具体的には、プリント基板に対してＦＤＴＤ法の空間離散化をおこなうと、最小の格子サイズが、数マイクロメートル（１０-6［ｍ］）になる。これから、実行間隔を求めると、数十フェムト秒（１０-15［秒］）になる。したがって、回路解析の解析時刻Ｔを電磁界解析の時刻ｔＨに合わせると、回路解析の実行間隔も数十フェムト秒（１０-15［秒］）になる。
【００５８】
一方、通常のＬＳＩの動作速度では、回路解析に必要な実行間隔は数十ピコ秒（１０-12［秒］）程度で十分な解析精度が得られる。このため、単純に、電流源値Ｉn+1/2の引き渡し時刻と、回路解析の解析時刻Ｔとを合わせただけでは、本来解析する必要のない時刻での解析処理が発生してしまう。
【００５９】
特に、解析対象の回路規模が大きい場合、回路解析として本来不要である解析時刻における解析処理が、融合シミュレーション全体のボトルネックとなってしまっていた。ここで、従来の問題点を具体的に説明する。
【００６０】
図２は、従来の問題点を示す説明図である。図２において、電磁界解析と回路解析との間での電流源値Ｉおよび電圧Ｖの引き渡しタイミングが示されている。図２中、上段に電磁界解析を示し、下段に回路解析を示している。ここで、時刻ｔＨは、磁界Ｈを計算し、その磁界Ｈから電流源値Ｉに変換して回路解析に引き渡す時刻である。時刻ｔＥは、電界値Ｅを計算し、回路解析から引き渡される電圧Ｖを設定する時刻である。
【００６１】
図２では、電流源値Ｉの引き渡し時刻ｔＨと回路解析の解析時刻Ｔとを合わせるとともに、その解析結果である電圧Ｖの引き渡し時刻と時刻ｔＥとを合わせている。ところが、電磁界解析の実行間隔に合わせて回路解析の実行間隔を小さくした結果、本来解析する必要のない時刻（図２中白抜き丸）での解析処理が発生してしまっている。
【００６２】
そこで、実施の形態１では、電磁界解析と回路解析とを連携した融合シミュレーションにおいて、回路解析の実行間隔を適切に制御することにより、本来不要である時刻（図２中白抜き丸）における解析処理を削減し、ＬＳＩが搭載されたプリント基板などの電気的特性を解析する融合シミュレーションの高速化を図る。
【００６３】
（シミュレーション装置のハードウェア構成）
つぎに、シミュレーション装置のハードウェア構成について説明する。図３は、シミュレーション装置のハードウェア構成を示す説明図である。図３において、シミュレーション装置３００は、コンピュータ本体３１０と、入力装置３２０と、出力装置３３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ，ＷＡＮやインターネットなどのネットワーク３４０に接続可能である。
【００６４】
コンピュータ本体３１０は、ＣＰＵ，メモリ，インターフェースを有する。ＣＰＵは、シミュレーション装置３００の全体の制御を司る。メモリは、ＲＯＭ，ＲＡＭ，ＨＤ，光ディスク３１１，フラッシュメモリから構成される。メモリはＣＰＵのワークエリアとして使用される。
【００６５】
また、メモリには各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ＨＤおよび光ディスク３１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク３１１およびフラッシュメモリはコンピュータ本体３１０に対し着脱自在である。インターフェースは、入力装置３２０からの入力、出力装置３３０への出力、ネットワーク３４０に対する送受信の制御をおこなう。
【００６６】
また、入力装置３２０としては、キーボード３２１、マウス３２２、スキャナ３２３などがある。キーボード３２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス３２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ３２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体３１０内のメモリに格納される。なお、スキャナ３２３にＯＣＲ機能を持たせてもよい。
【００６７】
また、出力装置３３０としては、ディスプレイ３３１、スピーカ３３２、プリンタ３３３などがある。ディスプレイ３３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ３３２は、効果音や読み上げ音などの音声を出力する。また、プリンタ３３３は、画像データや文書データを印刷する。
【００６８】
（シミュレーション装置の機能的構成）
つぎに、実施の形態１にかかるシミュレーション装置３００の機能的構成について説明する。図４は、実施の形態１にかかるシミュレーション装置の機能的構成を示すブロック図である。図４において、シミュレーション装置３００は、判定部４０１と、実行制御部４０２と、予測値算出部４０３と、第１の実行部４０４と、第２の実行部４０５と、出力部４０６と、を備えている。
【００６９】
これら各機能４０１〜４０６は、シミュレーション装置３００の記憶部に記憶された当該機能４０１〜４０６に関するプログラムをＣＰＵに実行させることにより、または、入出力Ｉ／Ｆにより、当該機能を実現することができる。また、各機能４０１〜４０６からの出力データは上記記憶部に保持される。また、図４中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをＣＰＵに実行させるものとする。
【００７０】
シミュレーション装置３００は、実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションを実行する機能を有する。ここでは、空間内の電磁界解析と空間内に配置される回路の回路解析とを連携した融合シミュレーションを例に挙げて説明する。
【００７１】
まず、判定部４０１は、現在の解析時刻における第１の解析処理の解析結果と、第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の解析結果とに基づいて、現在の解析時刻における第２の解析処理の実行の要否を判定する機能を有する。
【００７２】
現在の解析時刻とは、固定あるいは可変間隔で実行される第１の解析処理の解析時刻のうち、現在注目している時刻である。また、第２の解析処理の一実行間隔前の解析時刻とは、現在の解析時刻より以前の時刻であって、実際に第２の解析処理が実行された時刻である。
【００７３】
ここで、第１の解析処理は、固定あるいは可変の実行間隔で必ず実行される。一方、第２の解析処理は、実行間隔が可変で、かつ、判定部４０１による判定結果に応じて、実行される場合もあれば、実行されない場合もある。なお、第２の解析処理が実行される場合、その解析時刻は、第１の解析処理の解析結果の引き渡し時刻と同時刻（または、所定値内）とする。
【００７４】
より具体的には、例えば、回路解析（第２の解析処理）の解析時刻は、電磁界解析（第１の解析処理）によって磁界が算出された時刻であって、その磁界を用いて求められた電流源値が回路解析に引き渡される時刻である。
【００７５】
なお、現在の解析時刻における第１の解析処理の解析結果、および第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の解析結果は、例えば、ＲＯＭやＲＡＭなどの記憶部から取得することとしてもよく、また、図示しない外部装置から取得することとしてもよい。
【００７６】
また、判定部４０１は、第１の解析処理と第２の解析処理とを連携したシミュレーションの開始直後は、現在の解析時刻における第２の解析処理の実行は必要であると判定することとしてもよい。なぜなら、第２の解析処理が未実行である、すなわち、第１の解析処理の過去の解析結果が存在していないからである。
【００７７】
また、第１および第２の解析処理の実行に必要となる入力データは、図示しない外部装置から取得することとしてもよく、また、ユーザの操作入力、図示しないデータベースやライブラリからの抽出によって取得することとしてもよい。入力データとしては、例えば、電磁界解析の実行に必要となる構造データや回路解析の実行に必要となるネットリストなどがある。
【００７８】
ネットリストは、例えば、解析対象となる回路の回路情報（回路図）や回路素子間の接続関係を表わす接続情報を含む電子データである。また、構造データは、例えば、空間を格子状に区切って複数のセルにした際の各セルの寸法、セル座標、セル名、セル内に存在する物質および各セルが属するネットリストに関する情報などを含む電子データである。
【００７９】
図５は、実施の形態１の概要を示す説明図である。図５において、第１の解析処理は、ＦＤＴＤ法を用いた空間内の電磁界解析である。また、第２の解析処理は、その空間内に配置される解析対象回路の回路解析である。図５中、時刻ｔi-2，ｔi-1，ｔi，ｔi+1は第１の解析処理の解析時刻を示し、Ｔj-1，Ｔjは第２の解析処理の解析時刻を示している。
【００８０】
第１の解析処理は、固定あるいは可変の実行間隔（Δｔ）で必ず実行される。ここで、現在の解析時刻をｔiとする。この場合、判定部４０１は、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiと、第２の解析処理の一実行間隔前の解析時刻Ｔj-1（解析時刻ｔi-2）における第１の解析処理の解析結果Ｉi―2とに基づいて、現在の解析時刻ｔiにおける第２の解析処理の実行の要否を判定することとなる。
【００８１】
実行制御部４０２は、判定部４０１によって判定された判定結果に基づいて、現在の解析時刻における第２の解析処理の実行を制御する機能を有する。具体的には、例えば、実行制御部４０２は、判定部４０１によって第２の解析処理の実行が必要と判定された場合、現在の解析時刻における第１の解析処理の解析結果を用いて、現在の解析時刻における第２解析処理を実行させる。
【００８２】
より詳細に説明すると、第２の解析処理の実行が必要と判定された場合、第２の実行部４０５による現在の解析時刻における第２解析処理の実行を制御する。ここで、第２の実行部４０４は、可変の実行間隔で第２の解析処理を実行する機能を有する。第２の実行部４０４は、実行制御部４０２によって制御された結果、現在の解析時刻における第１の解析処理の解析結果を用いて、現在の解析時刻における第２解析処理を実行する。
【００８３】
予測値算出部４０３は、第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の解析結果を用いて、現在の解析時刻における第１の解析処理の解析結果の予測値を算出する機能を有する。第１の解析処理の解析結果の予測値とは、過去の解析結果から現在の解析結果を予測した値である。
【００８４】
具体的には、例えば、一般的な数値積分のアルゴリズムを用いて、第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の解析結果を１次近似することにより、予測値を算出することができる。また、第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の解析結果を、そのまま予測値とすることとしてもよい（０次近似）。
【００８５】
図５を例に挙げると、予測値算出部４０３は、第２の解析処理の一実行間隔前の解析時刻Ｔj-1における第１の解析処理の解析結果Ｉi―2を用いて、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiの予測値を算出することとなる。
【００８６】
より具体的には、例えば、予測値は、下記式（６）を用いて求めることができる。ただし、Ｉpn+1/2は、現在の解析時刻ｔにおける第１の解析処理の解析結果の予測値である。Ｔは、第２の解析処理の一実行間隔前の解析時刻である。ＩTは、第２の解析処理の一実行間隔前の解析時刻Ｔにおける第１の解析処理の解析結果である。
【００８７】
【数１】
0005071244.tif 000002
【００８８】
なお、第２の解析処理の一実行間隔前の解析時刻Ｔ、および第２の解析処理の一実行間隔前の解析時刻Ｔにおける第１の解析処理の解析結果ＩTに関するデータ群は、例えば、ＲＯＭやＲＡＭなどの記憶部に保持されている。そして、予測値算出部４０３は、記憶部に保持されているデータ群を読み出して、予測値を算出する。
【００８９】
判定部４０１は、予測値算出部４０３によって算出された予測値と、現在の解析時刻における第１の解析処理の解析結果とを用いて、現在の解析時刻における第２の解析処理の実行の要否を判定する機能を有する。具体的には、例えば、判定部４０１は、予測値と、現在の解析時刻における第１の解析処理の解析結果との誤差が、予め設定された閾値以下であった場合に、第２の解析処理の実行が不要であると判定することとしてもよい。
【００９０】
より具体的には、例えば、判定部４０１は、下記式（７）を用いて、現在の解析時刻における第２の解析処理の実行の要否を判定することができる。ただし、Ｉn+1/2は、現在の解析時刻における第１の解析処理の解析結果である。αは、予測値Ｉpn+1/2と第１の解析処理の解析結果Ｉn+1/2との誤差に関する閾値である。
【００９１】
【数２】
0005071244.tif 000003
【００９２】
この場合、判定部４０１は、予測値Ｉpn+1/2と第１の解析処理の解析結果Ｉn+1/2との誤差が閾値α以下であった場合に、第２の解析処理の実行が不要であると判定する。なお、上記閾値αは、例えば、図３に示したキーボード３２１やマウス３２２などの入力装置３２０をユーザが操作することで、任意に設定可能である。なお、閾値αは、例えば、ＲＯＭやＲＡＭなどの記憶部に保持される。
【００９３】
さらに、判定部４０１は、現在の解析時刻と、第２の解析処理の解析予定時刻とを用いて、現在の解析時刻における第２の解析処理の実行の要否を判定することとしてもよい。第２の解析処理の解析予定時刻は、予め決定された第２の解析処理の解析時刻である。この解析予定時刻になると第２の解析処理が必ず実行される。
【００９４】
より具体的には、例えば、判定部４０１は、下記式（８）を用いて、現在の解析時刻における第２の解析処理の実行の要否を判定することができる。ただし、Ｔｎｅｘｔは、第２の解析処理の解析予定時刻である。
【００９５】
【数３】
0005071244.tif 000004
【００９６】
この場合、判定部４０１は、予測値Ｉpn+1/2と第１の解析処理の解析結果Ｉn+1/2との誤差が閾値α以下でかつ、現在の解析時刻ｔが第２の解析処理の解析予定時刻Ｔｎｅｘｔでない場合に、第２の解析処理の実行が不要であると判定する。
【００９７】
なお、解析予定時刻Ｔｎｅｘｔは、例えば、下記式（９）を用いて表わすことができる。ただし、ｍは自然数である。
【００９８】
Ｔｎｅｘｔ＝Ｔ＋ｍ×Δｔ                              （９）
【００９９】
これは、解析予定時刻Ｔｎｅｘｔを、第２の解析処理の一実行間隔前の解析時刻Ｔと、第１の解析処理の実行間隔Δｔのｍ倍分との加算値によって表わしたものである。自然数ｍは、例えば、図３に示したキーボード３２１やマウス３２２などの入力装置３２０をユーザが操作することで、任意に設定可能である。この場合、第２の解析処理が実行されると、その都度、上記式（９）に従って、次回の解析予定時刻Ｔｎｅｘｔが自動的に決定される。
【０１００】
また、予測値算出部４０３は、判定部４０１によって第２の解析処理の実行が不要と判定された場合、第２の解析処理の一実行間隔前の解析時刻における第２の解析処理の解析結果を用いて、現在の解析時刻における第２の解析処理の解析結果の予測値を算出する機能を有する。
【０１０１】
具体的には、例えば、一般的な数値積分のアルゴリズムを用いて、第２の解析処理の一実行間隔前の解析時刻における第２の解析処理の解析結果を１次近似することにより、予測値を算出することができる。図５を例に挙げると、第２の解析処理の一実行間隔前の解析時刻Ｔj-1における第２の解析処理の解析結果を用いて、現在の解析時刻ｔiにおける第２の解析処理の解析結果の予測値を算出することとなる。
【０１０２】
より具体的には、例えば、予測値は、下記式（１０）を用いて求めることができる。ただし、Ｖpn+1は、現在の解析時刻ｔにおける第２の解析処理の解析結果の予測値である。ＶTは、第２の解析処理の一実行間隔前の解析結果である。
【０１０３】
【数４】
0005071244.tif 000005
【０１０４】
なお、第２の解析処理の一実行間隔前の解析結果ＶTに関するデータは、例えば、ＲＯＭやＲＡＭなどの記憶部に保持されている。そして、予測値算出部４０３は、記憶部に保持されているデータを読み出して、予測値を算出する。
【０１０５】
また、実行制御部４０２は、予測値算出部４０３によって算出された予測値を用いて、第１の解析処理の一実行間隔後の解析時刻における第１の解析処理を実行させる機能を有する。図５を例に挙げると、予測値を用いて、第１の解析処理の一実行間隔後の解析時刻ｔi+1における第１の解析処理を実行させることとなる。
【０１０６】
より詳細に説明すると、実行制御部４０２は、第１の実行部４０４による第１の解析処理の一実行間隔後の解析時刻ｔi+1における第１の解析処理の実行を制御する。ここで、第１の実行部４０４は、固定の実行間隔で第１の解析処理を実行する機能を有する。第１の実行部４０４は、実行制御部４０２によって制御された結果、予測値算出部４０３によって算出された予測値を用いて、解析時刻ｔi+1における第１の解析処理を実行する。
【０１０７】
つまり、第２の解析処理の一実行間隔前の解析時刻Ｔj-1における第２の解析処理の解析結果と、現在の解析時刻ｔiにおける第２の解析処理の解析結果とのズレ（誤差）が小さいときには、予測値算出部４０３によって算出された予測値を用いて、解析時刻ｔi+1における第１の解析処理を実行する。これにより、本来不要である解析時刻における第２の解析処理を効果的に削減し、シミュレーションの高速化を図ることができる。
【０１０８】
出力部４０６は、第１および第２の解析処理の解析結果を出力する機能を有する。具体的には、出力部４０６は、実行制御部４０２によって制御された結果、第１の実行部４０４および第２の実行部４０５による解析結果を出力する。
【０１０９】
より具体的には、例えば、回路の信号線の波形、電源層のノイズなどに関する解析結果が出力される。なお、出力部４０６による出力形式は、ディスプレイ３３１での画面表示、プリンタ３３３での印刷出力、メモリへのデータ出力（保存）、外部のコンピュータ装置への送信のいずれであってもよい。
【０１１０】
なお、上述した第１および第２の解析処理を連携したシミュレーションを、複数のＣＰＵを利用した分散並列処理によって実行することとしてもよい。このとき、各処理にかかる処理負荷などを考慮して、例えば、処理負荷が大きい電磁界解析には、複数のＣＰＵ、あるいは、高性能のＣＰＵを割り当てることとしてもよい。
【０１１１】
これにより、第１および第２の解析処理を連携したシミュレーションの高速化を図ることができる。特に、多くのＬＳＩが搭載された大規模回路の電磁界解析と回路解析とを連携したシミュレーションに有効である。
【０１１２】
（融合シミュレーションの処理手順）
つぎに、実施の形態１にかかるシミュレーション装置３００において実行されるシミュレーションの処理手順について説明する。図６は、電磁界解析処理手順の一例を示すフローチャート（その１）である。図７は、実行制御処理手順の一例を示すフローチャートである。図８は、回路解析処理手順の一例を示すフローチャート（その１）である。なお、電磁界解析の解析時刻を「ｔ」、回路解析の解析時刻を「Ｔ」とする。
【０１１３】
図６のフローチャートにおいて、まず、解析対象となる空間の構造データが入力されたか否かを判断する（ステップＳ６０１）。ここで、構造データが入力されるのを待って（ステップＳ６０１：Ｎｏ）、入力された場合（ステップＳ６０１：Ｙｅｓ）、解析時刻ｔをｔ＝０とする（ステップＳ６０２）。
【０１１４】
このあと、ｔ＝ｔ＋Δｔ／２とし（ステップＳ６０３）、第１の実行部４０４により、上記式（１）から求めた解析時刻ｔにおける磁界Ｈを上記式（２）に代入して、解析時刻ｔにおける電流源値Ｉを算出する（ステップＳ６０４）。そして、算出された電流源値Ｉを実行制御部４０２に送信する（ステップＳ６０５）。つぎに、ｔ＝ｔ＋Δｔ／２とし（ステップＳ６０６）、第１の実行部４０４により、上記式（５）を用いて解析時刻ｔにおける電界値Ｅを算出する（ステップＳ６０７）。
【０１１５】
このあと、第１の実行部４０４により、実行制御部４０２から電界値Ｅを受信するのを待って（ステップＳ６０８：Ｎｏ）、受信した場合（ステップＳ６０８：Ｙｅｓ）、回路が存在する領域にステップＳ６０８において受信された電界値Ｅを設定するとともに、その他の領域にステップＳ６０７において算出された電界値Ｅを設定する（ステップＳ６０９）。
【０１１６】
そして、解析時刻ｔが終了時刻か否かを判断し（ステップＳ６１０）、終了時刻でない場合（ステップＳ６１０：Ｎｏ）、ステップＳ６０３に戻って一連の処理を繰り返す。一方、終了時刻であった場合（ステップＳ６１０：Ｙｅｓ）、出力部４０６により、電磁界解析による解析結果を出力して（ステップＳ６１１）、本フローチャートによる一連の処理を終了する。
【０１１７】
図７は、実行制御処理手順の一例を示すフローチャートである。まず、実行制御部４０２により、判定部４０１および予測値算出部４０３による処理に必要となるデータ群を受信したか否かを判断する（ステップＳ７０１）。なお、データ群とは、例えば、回路解析の一実行間隔前の解析時刻における電磁界解析および回路解析の解析結果や回路解析の次回の解析予定時刻などを含む情報である。
【０１１８】
ここで、データ群を受信するのを待って（ステップＳ７０１：Ｎｏ）、受信した場合（ステップＳ７０１：Ｙｅｓ）、予測値算出部４０３により、上記式（６）を用いて、電磁界解析から得られる解析時刻ｔにおける電流源値Ｉの予測値を算出する（ステップＳ７０２）。
【０１１９】
このあと、実行制御部４０２により、第１の実行部４０４から電流源値Ｉを受信したか否かを判断する（ステップＳ７０３）。ここで、電流源値Ｉを受信するのを待って（ステップＳ７０３：Ｎｏ）、受信した場合（ステップＳ７０３：Ｙｅｓ）、判定部４０１により、上記式（８）を用いて、回路解析の実行の要否を判定する（ステップＳ７０４）。
【０１２０】
このとき、回路解析の実行が不要の場合（ステップＳ７０４：Ｎｏ）、予測値算出部４０３により、ステップＳ７０１において受信されたデータ群に含まれる回路解析の一実行間隔前の解析時刻における電圧Ｖを上記式（１０）に代入して、回路解析から得られる解析時刻ｔにおける電圧Ｖの予測値を算出する（ステップＳ７０５）。
【０１２１】
このあと、実行制御部４０２により、算出された電圧Ｖを第１の実行部４０４に送信して（ステップＳ７０６）、ステップＳ７０１に戻る。また、ステップＳ７０４において、回路解析の実行が必要の場合（ステップＳ７０４：Ｙｅｓ）、実行制御部４０２により、ステップＳ７０３において受信された電流源値Ｉを第２の実行部４０５に送信して（ステップＳ７０７）、ステップＳ７０１に戻る。
【０１２２】
図８は、回路解析処理手順の一例を示すフローチャート（その１）である。まず、解析対象となる空間内に配置された回路のネットリストが入力されたか否かを判断する（ステップＳ８０１）。ここで、ネットリストが入力されるのを待って（ステップＳ８０１：Ｎｏ）、入力された場合（ステップＳ８０１：Ｙｅｓ）、解析時刻ＴをＴ＝０とする（ステップＳ８０２）。
【０１２３】
つぎに、回路解析の解析予定時刻Ｔｎｅｘｔを決定し（ステップＳ８０３）、第２の実行部４０５により、判定部４０１および予測値算出部４０３による処理に必要となるデータ群を実行制御部４０２に送信する（ステップＳ８０４）。そして、実行制御部４０２から電流源値Ｉを受信するのを待って（ステップＳ８０５：Ｎｏ）、受信した場合（ステップＳ８０５：Ｙｅｓ）、Ｔ＝ｔとする（ステップＳ８０６）。
【０１２４】
このあと、第２の実行部４０５により、ステップＳ８０５において受信された電流源値Ｉを上記式（３）に代入して、解析時刻Ｔにおける電圧Ｖを算出して（ステップＳ８０７）、算出された電圧Ｖを実行制御部４０２に送信する（ステップＳ８０８）。
【０１２５】
そして、解析時刻Ｔが終了時刻か否かを判断し（ステップＳ８０９）、終了時刻でない場合（ステップＳ８０９：Ｎｏ）、ステップＳ８０３に戻って一連の処理を繰り返す。一方、終了時刻であった場合（ステップＳ８０９：Ｙｅｓ）、出力部４０６により、回路解析による解析結果を出力して（ステップＳ８１０）、本フローチャートによる一連の処理を終了する。
【０１２６】
ここでは、図６〜図８に示した電磁界解析処理、実行制御処理および回路解析処理を１台のシミュレーション装置３００において実行することとしたが、複数台のシミュレーション装置３００を利用することとしてもよい。例えば、電磁界解析処理、実行制御処理および回路解析処理を、それぞれ異なるシミュレーション装置３００において実行することとしてもよい。
【０１２７】
以上説明した実施の形態１によれば、過去の第１の解析処理の解析結果から予測される現在の第１の解析処理の解析結果と、実際に計算された現在の第１の解析処理の解析結果とのズレから、第２の解析処理の実行の要否を判定することにより、本来不要である解析時刻における第２の解析処理を削減することができる。
【０１２８】
この結果、第１の解析処理の解析時刻に合わせて、必ずしも第２の解析処理を実行する必要がなくなり、第２の解析処理の解析点数を効果的に削減することができる。また、第２の解析処理を実行しない場合には、過去の第２の解析処理の解析結果から予測される現在の第２の解析処理の解析結果を用いて第１の解析処理を実行することにより、解析精度を一定に保つことができる。
【０１２９】
このように、効率的かつ効果的に解析点数を削減することにより、第１の解析処理と第２の解析処理とを連携した融合シミュレーションの高速化を図ることができる。特に、回路規模が大きい解析対象回路に対する、ＦＤＴＤ法を用いた電磁界解析と回路解析とを連携した融合シミュレーションにおいて、本来不要である解析時刻における回路解析を削減し、シミュレーションにかかる解析時間を大幅に短縮することができる。
【０１３０】
（実施の形態２）
つぎに、上述したシミュレーション装置の実施の形態２について説明する。一般に、ＳＰＩＣＥなどの回路シミュレータでは、一定の解析精度を維持しながら実行間隔を可変にするために、解析時刻を戻して再計算（以下、「リトライ」）をおこなうことがある。具体的には、ある解析時刻における解析が終了したあと、つぎの解析時刻での解析結果の予測値を計算する。
【０１３１】
そして、つぎの解析時刻で実際に解析をおこなった結果、その解析結果と予測値との差が大きいときには、実行間隔を小さくして、再度、予測値および実際の計算をおこなう処理のことである。これにより、解析精度を一定に維持しながら解析結果が大きく変化する場合には実行間隔を小さくし、解析結果の変化が緩やかな場合には実行間隔を大きくすることができる。
【０１３２】
このリトライを実施の形態１で説明した電磁界解析と回路解析とを連携した融合シミュレーションに適用する場合、回路解析のリトライに合わせて電磁界解析の解析時刻を過去に戻す必要がある。さらに、ＦＤＴＤ法を用いた電磁界解析の解析時刻を戻すために、戻す時刻の計算に必要なデータを保持しておく必要がある。
【０１３３】
ところが、ＦＤＴＤ法を用いた電磁界解析の計算に必要となるデータ量は非常に大きい。このため、電磁界解析の解析点数が回路解析に比べて多くなる状況（例えば、１０００倍）では、電磁界解析の計算に必要となるデータを保持する記憶容量を確保することが困難となり、実際上、シミュレーションの実行が不可能である。
【０１３４】
一方で、リトライをおこなうことができない場合には、解析精度が不十分であってもそのまま解析を継続するしかないので、解析精度の低下を招くという問題があった。また、解析精度を一定に保つために回路解析の時間間隔を小さくすると、回路解析にかかる解析時間が増大化し、結果的にシミュレーションにかかる解析時間の長期化を招いてしまう。
【０１３５】
そこで、実施の形態２では、電磁界解析と回路解析とを連携した融合シミュレーションにおいて、回路解析のリトライ処理への対応を可能にすることにより、回路解析の解析点数を効果的に削減し、高速かつ高精度なシミュレーションを実現する。
【０１３６】
図９は、実施の形態２の概要を示す説明図である。図９中、時刻ｔi-8〜ｔiは電磁界解析の解析時刻を示し、Ｔj-1，Ｔjは回路解析の解析時刻を示している。ｔiは、現在の解析時刻である。ここでは、現在の解析時刻ｔi（解析時刻Ｔj）における回路解析の解析結果と、現在の解析時刻ｔiにおける回路解析の解析結果の予測値との解析誤差が予め設定された許容値を超えている場合、リトライをおこなう。
【０１３７】
具体的には、解析時刻を、現在の解析時刻ｔiから再解析時刻Ｒｔ１に戻してリトライをおこなう。すなわち、融合シミュレーションを、再解析時刻Ｒｔ１における電磁界解析の磁界の計算から再開する。また、再解析時刻Ｒｔ１における回路解析の解析結果と、解析時刻Ｔjにおける回路解析の解析結果の予測値との解析誤差が未だ許容値を超えているとする。
【０１３８】
この場合、解析時刻をさらに遡って、再解析時刻Ｒｔ１から再解析時刻Ｒｔ２に戻してリトライをおこなうこととなる。このように、リトライをおこなう際の再解析時刻候補（Ｒｔ１，Ｒｔ２）を予め決めておくことにより、過去の解析時刻における第１の解析処理の計算に必要となるデータをすべて保持する場合に比べて、リトライのために保持するデータ量を削減することができる。
【０１３９】
なお、回路解析の一実行間隔前の解析時刻Ｔj-1（解析時刻ｔi-8）における電磁界解析の計算に必要となるデータを保持しておけば、すべての再解析時刻候補におけるリトライが失敗した場合であっても、解析時刻ｔi-8からのリトライをおこなうことができる。
【０１４０】
（シミュレーション装置の機能的構成）
つぎに、実施の形態２にかかるシミュレーション装置１０００の機能的構成について説明する。図１０は、実施の形態２にかかるシミュレーション装置の機能的構成を示すブロック図である。
【０１４１】
図１０において、シミュレーション装置１０００は、判定部４０１と、実行制御部４０２と、予測値算出部４０３と、第１の実行部４０４と、第２の実行部４０５と、出力部４０６と、決定部１００１と、誤差算出部１００２と、保持部１００３と、を備えている。なお、実施の形態１において説明した箇所と同一箇所については、同一符号を付して説明を省略する。
【０１４２】
これら各機能４０１〜４０６，１００１〜１００３は、シミュレーション装置３００の記憶部に記憶された当該機能４０１〜４０６，１００１〜１００３に関するプログラムをＣＰＵに実行させることにより、または、入出力Ｉ／Ｆにより、当該機能を実現することができる。また、各機能４０１〜４０６，１００１〜１００３からの出力データは上記記憶部に保持される。また、図１０中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをＣＰＵに実行させるものとする。
【０１４３】
まず、決定部１００１は、第１の解析処理を再実行する再解析時刻候補を決定する機能を有する。具体的には、例えば、第２の解析処理の一実行間隔前の解析時刻と、該解析時刻に対する次回の解析予定時刻とを用いて再解析時刻を算出し、その算出結果を再解析時刻候補に決定することとしてもよい。このとき、例えば、一般的な回路シミュレータの算定アルゴリズムを用いて、再解析時刻を算出することができる。
【０１４４】
図９を例に挙げると、第２の解析処理が実行された現在の解析時刻Ｔj（解析時刻ｔi）が、第２の解析処理の一実行間隔前の解析時刻Ｔj-1に対する次回の解析予定時刻Ｔｎｅｘｔであったとする。この場合、例えば、解析時刻Ｔj-1と解析予定時刻Ｔｎｅｘｔとの中間の解析時刻ｔi-4を再解析時刻候補ｔＲ１とする。さらに、解析時刻Ｔj-1と再解析時刻候補ｔＲ１との中間の解析時刻ｔi-6を再解析時刻候補ｔＲ２とする。
【０１４５】
なお、決定部１００１による決定処理は、例えば、第２の解析処理が実行され、第２の解析処理の解析時刻が確定するごとに実行されることとしてもよい。上述した例では、第２の解析処理の解析時刻Ｔj-1が確定すると、解析時刻Ｔj-1に対する次回の解析予定時刻Ｔｎｅｘｔを用いて、再解析時刻候補ｔＲ１，ｔＲ２を決定することとなる。
【０１４６】
誤差算出部１００２は、実行制御部４０２によって第２の解析処理の実行が制御された結果、現在の解析時刻における第２の解析処理の解析結果を用いて、当該第２の解析処理の解析誤差を算出する機能を有する。この解析誤差は、例えば、予測値算出部４０３によって算出された現在の解析時刻における第２の解析処理の解析結果の予測値と、現在の解析時刻における第２の解析処理の解析結果とを用いて算出する。
【０１４７】
具体的には、例えば、第２の解析処理の解析誤差は、下記式（１１）を用いて求めることができる。ただし、現在の解析時刻ｔにおける第２の解析処理の解析結果をＶtとし、第２の解析処理の解析誤差をβとする。
【０１４８】
β＝｜Ｖt−Ｖpn+1｜                                （１１）
【０１４９】
また、判定部４０１は、誤差算出部１００２によって算出された算出結果に基づいて、第１の解析処理の再実行の要否を判定する機能を有する。具体的には、例えば、誤差算出部１００２によって算出された第２の解析処理の解析誤差が、予め設定された許容値以上であった場合に、第１の解析処理の再実行が必要であると判定する。
【０１５０】
つまり、第２の解析処理の解析誤差が大きい場合に、第１の解析処理の再実行が必要であると判定する。なお、上記許容値は、例えば、図３に示したキーボード３２１やマウス３２２などの入力装置３２０をユーザが操作することで、任意に設定可能である。
【０１５１】
実行制御部４０２は、判定部４０１によって判定された判定結果に基づいて、決定部１００１によって決定された再解析時刻候補における第１の解析処理の再実行を制御する機能を有する。具体的には、例えば、実行制御部４０２は、第１の解析処理の再実行が必要であると判定された場合、解析時刻を再解析時刻候補に戻し、その再解析時刻候補における第１の解析処理を再実行させる。
【０１５２】
より詳細に説明すると、実行制御部４０２は、第１の実行部４０４による再解析時刻候補における第１の解析処理の実行を制御する。この結果、第１の実行部４０４は、実行制御部４０２によって制御された結果、再解析時刻候補における第１の解析処理を実行する。なお、再解析時刻候補における第１の解析処理が再実行された場合、その解析結果を用いて、判定部４０１による判定処理に移行してもよく、また、第２の実行部４０５による第２の解析処理に移行してもよい。
【０１５３】
なお、実行制御部４０２は、決定部１００１によって決定された再実行時刻候補（例えば、Ｒｔ１，Ｒｔ２）が複数存在する場合には、現在の解析時刻ｔiの直近の再実行時刻候補Ｒｔ１における第１の解析処理を実行させることとしてもよい。さらに、リトライがおこなわれた結果、再度、第１の解析処理の再実行が必要であると判定された場合（リトライ失敗）、現在の再実行時刻候補Ｒｔ１の直近の再実行時刻候補Ｒｔ２における第１の解析処理を実行させることとしてもよい。
【０１５４】
また、実行制御部４０２は、判定部４０１によって第２の解析処理の再実行が不要であると判定された場合、現在の解析時刻における第２の解析処理の解析結果を用いて、第１の解析処理を実行させることとなる。
【０１５５】
保持部１００３は、決定部１００１によって決定された再解析時刻候補における第１の解析処理の実行に必要となる実行データを保持する機能を有する。具体的には、例えば、保持部１００３は、ＨＤ，光ディスク３１１，フラッシュメモリなどの記憶部に実行データを保持することとしてもよい。
【０１５６】
図９を例に挙げると、保持部１００３は、まず、決定部１００１によって決定された再解析時刻候補ｔＲ２（解析時刻ｔi-6）に達すると、第１の解析処理の実行に必要となる実行データを保持する。さらに、決定部１００１によって決定された再解析時刻候補ｔＲ１（解析時刻ｔi-4）に達すると、第１の解析処理の実行に必要となる実行データを保持する。
【０１５７】
ここで、実行データとは、例えば、上記式（１）で示した磁界Ｈn+1/2の計算に用いるＨn-1/2およびＥnである。そして、第１の実行部４０４は、実行制御部４０２によって制御された結果、これらＨn-1/2およびＥnを上記式（１）に代入することにより、再解析時刻候補における磁界Ｈn+1/2を算出することとなる。
【０１５８】
このように、決定部１００１によって決定された再解析時刻候補における第１の解析処理の再実行に必要となる実行データのみを保持することにより、リトライ処理のために確保する使用メモリ量を削減することができる。
【０１５９】
なお、保持部１００３は、第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の実行に必要となる実行データを保持することとしてもよい。これにより、すべての再解析時刻候補Ｒｔ１，Ｒｔ２におけるリトライが失敗した場合であっても、解析時刻ｔi-8からのリトライをおこなうことができる。
【０１６０】
第２の解析処理の一実行間隔前の解析時刻における第１の解析処理の実行に必要となる実行データの保持は、つぎのような仕組みで実現することができる。例えば、第１の解析処理の実行時に、その実行に必要となる実行データを保持する。このあと、判定部４０１によって第２の解析処理の実行が不要と判定された場合は、上記実行データを破棄する。
【０１６１】
一方、判定部４０１によって第２の解析処理の実行が不要と判定された場合には、つぎに第２の解析処理が実行され、かつ、第１の解析処理の再実行が不要であると判定されたときに、上記実行データを破棄する。これにより、リトライ処理のために確保する使用メモリ量を抑えることができる。
【０１６２】
（融合シミュレーションの処理手順）
つぎに、実施の形態２にかかるシミュレーション装置１０００における融合シミュレーションの処理手順について説明する。図１１−１、図１１−２は、電磁界解析処理手順の一例を示すフローチャート（その２）である。図１２は、回路解析処理手順の一例を示すフローチャート（その２）である。なお、実行制御処理手順については、図７に示した処理手順と同様のため説明を省略する。
【０１６３】
図１１−１のフローチャートにおいて、まず、解析対象となる空間の構造データが入力されたか否かを判断する（ステップＳ１１０１）。ここで、構造データが入力されるのを待って（ステップＳ１１０１：Ｎｏ）、入力された場合（ステップＳ１１０１：Ｙｅｓ）、解析時刻ｔをｔ＝０とする（ステップＳ１１０２）。
【０１６４】
このあと、ｔ＝ｔ＋Δｔ／２とし（ステップＳ１１０３）、決定部１００１によって決定された再解析時刻候補Ｒｔを特定する情報を受信したか否かを判断する（ステップＳ１１０４）。ここで、再解析時刻候補Ｒｔを特定する情報を受信するのを待って（ステップＳ１１０４：Ｎｏ）、受信した場合（ステップＳ１１０４：Ｙｅｓ）、ｔ＝Ｒｔであるか否かを判断する（ステップＳ１１０５）。
【０１６５】
このとき、ｔ＝Ｒｔであった場合（ステップＳ１１０５：Ｙｅｓ）、保持部１００３により、再解析時刻候補Ｒｔにおける電流源値Ｉを算出するために必要となる実行データを保持する（ステップＳ１１０６）。
【０１６６】
そして、第１の実行部４０４により、上記式（１）から求めた解析時刻ｔにおける磁界Ｈを上記式（２）に代入して、解析時刻ｔにおける電流源値Ｉを算出し（ステップＳ１１０７）、図１１−２のフローチャートに示すステップＳ１１０８に移行する。また、ステップＳ１１０５において、ｔ＝Ｒｔでなかった場合（ステップＳ１１０５：Ｎｏ）、ステップＳ１１０７に移行する。
【０１６７】
図１１−２のフローチャートにおいて、第１の実行部４０４により、図１１−１に示したステップＳ１１０７において算出された電流源値Ｉを実行制御部４０２に送信する（ステップＳ１１０８）。このあと、実行制御部４０２から電磁界解析のリトライの指示を表わすリトライシグナルを受信したか否かを判断する（ステップＳ１１０９）。
【０１６８】
ここで、リトライシグナルを受信した場合（ステップＳ１１０９：Ｙｅｓ）、ｔ＝Ｒｔとし（ステップＳ１１１０）、第１の実行部４０４により、ステップＳ１１０６において保持された実行データを用いて上記式（１）から求めた解析時刻ｔにおける磁界Ｈを上記式（２）に代入して、解析時刻ｔにおける電流源値Ｉを算出し（ステップＳ１１１１）、ステップＳ１１０８に戻る。
【０１６９】
また、ステップＳ１１０９において、リトライシグナルを所定時間内に受信しなかった場合、または、リトライの不指示を表わすノンリトライシグナルを受信した場合（ステップＳ１１０９：Ｎｏ）、ｔ＝ｔ＋Δｔ／２とし（ステップＳ１１１２）、第１の実行部４０４により、上記式（５）を用いて解析時刻ｔにおける電界値Ｅを算出する（ステップＳ１１１３）。
【０１７０】
このあと、実行制御部４０２から電界値Ｅを受信するのを待って（ステップＳ１１１４：Ｎｏ）、受信した場合（ステップＳ１１１４：Ｙｅｓ）、回路が存在する領域にステップＳ１１１４において受信された電界値Ｅを設定するとともに、その他の領域にステップＳ１１１３において算出された電界値Ｅを設定する（ステップＳ１１１５）。
【０１７１】
そして、解析時刻ｔが終了時刻か否かを判断し（ステップＳ１１１６）、終了時刻でない場合（ステップＳ１１１６：Ｎｏ）、ステップＳ１１０３に戻って一連の処理を繰り返す。一方、終了時刻であった場合（ステップＳ１１１６：Ｙｅｓ）、出力部４０６により、電磁界解析による解析結果を出力して（ステップＳ１１１７）、本フローチャートによる一連の処理を終了する。
【０１７２】
図１２は、回路解析処理手順の一例を示すフローチャート（その２）である。まず、解析対象となる空間内に配置された回路のネットリストが入力されたか否かを判断する（ステップＳ１２０１）。ここで、ネットリストが入力されるのを待って（ステップＳ１２０１：Ｎｏ）、入力された場合（ステップＳ１２０１：Ｙｅｓ）、解析時刻ＴをＴ＝０とする（ステップＳ１２０２）。
【０１７３】
つぎに、決定部１００１により、回路解析の解析予定時刻Ｔｎｅｘｔおよび再解析時刻候補Ｒｔを決定する（ステップＳ１２０３）。このあと、判定部４０１および予測値算出部４０３による処理に必要となるデータ群と再解析時刻候補Ｒｔを特定する情報とを実行制御部４０２に送信する（ステップＳ１２０４）。
【０１７４】
そして、第２の実行部４０５により、実行制御部４０２から電流源値Ｉを受信するのを待って（ステップＳ１２０５：Ｎｏ）、受信した場合（ステップＳ１２０５：Ｙｅｓ）、Ｔ＝ｔとする（ステップＳ１２０６）。
【０１７５】
このあと、第２の実行部４０５により、ステップＳ１２０５において受信された電流源値Ｉを上記式（３）に代入して、解析時刻Ｔにおける電圧Ｖを算出し（ステップＳ１２０７）、判定部４０１により、回路解析の解析誤差が許容値以上か否かを判定する（ステップＳ１２０８）。
【０１７６】
ここで、回路解析の解析誤差が許容値以上であった場合（ステップＳ１２０８：Ｙｅｓ）、Ｔ＝Ｒｔとし（ステップＳ１２０９）、実行制御部４０２により、電磁界解析のリトライの指示を表わすリトライシグナルを第１の実行部４０４に送信して（ステップＳ１２１０）、ステップＳ１２０３に戻る。
【０１７７】
また、回路解析の解析誤差が許容値未満であった場合（ステップＳ１２０８：Ｎｏ）、ステップＳ１２０７において算出された電圧Ｖを実行制御部４０２に送信する（ステップＳ１２１１）。そして、解析時刻Ｔが終了時刻か否かを判断し（ステップＳ１２１２）、終了時刻でない場合（ステップＳ１２１２：Ｎｏ）、ステップＳ１２０３に戻って一連の処理を繰り返す。
【０１７８】
一方、終了時刻であった場合（ステップＳ１２１２：Ｙｅｓ）、出力部４０６により、回路解析による解析結果を出力して（ステップＳ１２１３）、本フローチャートによる一連の処理を終了する。なお、ステップＳ１２０８において、回路解析の解析誤差が許容値未満であった場合（ステップＳ１２０８：Ｎｏ）、実行制御部４０２により、リトライの不指示を表わすノンリトライシグナルを第１の実行部４０４に送信することとしてもよい。
【０１７９】
以上説明した実施の形態２によれば、第２の解析処理の解析誤差が大きい場合に、再解析時刻候補からのリトライを実行可能とすることにより、解析精度の向上を図ることができる。このとき、再解析時刻候補からのリトライに必要となる実行データのみを保持することにより、リトライ処理のために確保する使用メモリ量を削減することができる。
【０１８０】
このように、リトライ処理への対応を可能にするとともに、効率的かつ効果的に解析点数を削減することにより、第１の解析処理と第２の解析処理とを連携した融合シミュレーションの高精度化および高速化を図ることができる。特に、ＦＤＴＤ法を用いた電磁界解析の計算に必要となる実行データ量は膨大なものとなるため、再解析時刻候補からのリトライに必要となる実行データのみを保持することにより、リトライ処理のために確保する使用メモリ量を大幅に削減することができる。
【０１８１】
（実施の形態３）
つぎに、シミュレーション装置３００の実施の形態３について説明する。実施の形態３では、第１の解析処理として、ＦＤＴＤ法を用いた電磁界解析の替わりに、ＬＩＭ（Ｌａｔｅｎｃｙ  Ｉｎｓｅｒｔｉｏｎ  Ｍｅｔｈｏｄ）法を用いた回路解析を適用する。なお、実施の形態１および２において説明した箇所と同一箇所については、図示および説明を省略する。
【０１８２】
まず、ＬＩＭ法を用いた回路解析の概要について説明する。ＬＩＭ法は、陽的積分手法の一種であり、プリント基板の配線や配線層を、抵抗、容量、インダクタンスなどの線形素子でモデル化した回路の回路解析に有効な手法である。
【０１８３】
図１３は、ＬＩＭユニットの一例を示す説明図である。図１３において、ＬＩＭ法を用いた回路解析に適用可能なＬＩＭユニット１３００が示されている。具体的には、ＬＩＭユニット１３００は、抵抗Ｒと、容量Ｃ1，Ｃ2と、インダクタンスＬとから構成されている。ＬＩＭ法は、ＬＩＭユニット１３００と同様の構成の複数のＬＩＭユニットからなる回路の回路解析に適用可能である。
【０１８４】
図１４は、ＬＩＭ法を用いた回路解析の概要を示す説明図である。図１４に示すように、ＬＩＭ法を用いた回路解析では、半ステップ（１ステップをΔｔとする）ずれた時刻「ｎ−１，ｎ−１／２，ｎ，…」で、ＬＩＭユニット１３００の電圧（Ｖ1，Ｖ2）と電流（Ｉ12）とを交互に求めることとなる。
【０１８５】
具体的には、例えば、下記式（１２）〜（１４）を用いて、電流Ｉ12、電圧Ｖ1，Ｖ2を求めることができる。
【０１８６】
【数５】
0005071244.tif 000006
【０１８７】
【数６】
0005071244.tif 000007
【０１８８】
【数７】
0005071244.tif 000008
【０１８９】
このＬＩＭ法を用いた回路解析では、インダクタンスや容量が存在しない回路、すなわち、非線形素子を含む回路には適用できないため、一般的な回路解析をおこなう場合には、ＳＰＩＣＥなどの回路シミュレータを使用した回路解析との融合シミュレーションが有効である。
【０１９０】
なお、ＬＩＭ法を融合シミュレーションに適用する場合も、ＦＤＴＤ法の場合と同様に、データの受け渡し時刻をある程度の範囲内で合わせる必要がある。また、ＬＩＭ法を用いた回路解析の実行間隔の最大値は容量とインダクタンスとの積によって決まる。このため、容量とインダクタンスとのいずれかが小さいときには、実行間隔を小さくしなければならない。
【０１９１】
図１５は、融合シミュレーションの概要を示す説明図（その２）である。図１５において、ＬＩＭ法を用いた回路解析と、回路シミュレータを使用した回路解析とを連携した融合シミュレーションの概要が示されている。これらＬＩＭ法を用いた回路解析と、回路シミュレータを使用した回路解析との間では、電流Ｉ12n+1/2および電圧Ｖ1n+1が引き渡される。
【０１９２】
具体的には、ＬＩＭ法を用いた回路解析では、回路シミュレータから引き渡された電圧Ｖ1n+1を用いて電流Ｉ12n+1/2を計算し、その電流Ｉ12n+1/2を回路シミュレータに引き渡す。一方、回路シミュレータでは、ＬＩＭ法を用いた回路解析から引き渡された電流Ｉ12n+1/2を用いて電圧Ｖ1n+1を計算し、その電圧Ｖ1n+1をＬＩＭ法を用いた回路解析に引き渡す。
【０１９３】
これら電流Ｉ12n+1/2および電圧Ｖ1n+1は、ＦＤＴＤ法を用いた電磁界解析と回路解析とを連携した融合シミュレーションにおける電流源値Ｉn+1/2および電圧Ｖn+1に相当する。このため、実施の形態１および２で説明したシミュレーション装置３００，１０００を利用して、上記融合シミュレーションを実行することにより、ＦＤＴＤ法を用いた電磁界解析と回路解析とを連携した融合シミュレーションを実行する場合と同様の効果を得ることができる。
【０１９４】
具体的には、例えば、判定部４０１は、ＬＩＭ法を用いた回路解析から引き渡される電流Ｉ12n+1/2を上記式（７）または（８）に代入することにより、回路シミュレータを使用した回路解析の実行の要否を判定することができる。なお、電流Ｉ12n+1/2の予測値は、例えば、上記式（６）を用いて求めることができる。
【０１９５】
さらに、実行制御部４０２は、回路シミュレータを使用した回路解析の実行が不要であると判定された場合には、予測値算出部４０３によって算出された予測値（例えば、上記式（１０））を用いて、ＬＩＭ法を用いた回路解析の一ステップ後の解析時刻におけるＬＩＭ法を用いた回路解析を実行させることができる。なお、ＬＩＭ法を用いた回路解析に必要となる入力データは、例えば、抵抗、容量およびインダクタンスの接続関係を表わすネットリストとなる。
【０１９６】
以上説明したように、実施の形態３によれば、回路シミュレータを使用した回路解析の解析点数を効果的に削減することができ、ＬＩＭ法を用いた回路解析と回路シミュレータを使用した回路解析とを連携した融合シミュレーションの高速化および高精度化を図ることができる。特に、ＬＩＭ法を用いた回路解析の計算量は少なく、実行間隔が短くなるため、それに合わせて増大化する回路シミュレータを使用した回路解析の解析点数を大幅に削減することができる。
【０１９７】
（実施の形態４）
つぎに、上述したシミュレーション装置の実施の形態４について説明する。実施の形態１〜３は、現在の解析時刻において、第２の解析処理を実行する必要がない場合に、第２の解析処理の一実行間隔前の解析時刻における第２の解析処理の解析結果を用いて、現在の解析時刻における第２の解析処理の解析結果の予測値を求めるものである。
【０１９８】
このとき、現在の解析時刻における第２の解析処理の解析結果の予測値には、現在の解析時刻における第１の解析処理の解析結果が反映されていない。一方で、第１の解析処理にＦＤＴＤ法やＬＩＭ法などの陽的積分手法を用いた電磁界解析を適用すると、わずかな誤差（第２の解析処理の解析結果の変化量）の集積によって第１の解析処理の解析結果の波形が発振するという傾向がある。
【０１９９】
ところが、上述したように、実施の形態１〜３では、第２の解析処理の解析結果の予測値には第１の解析処理の解析結果が反映されていないため、上記誤差が大きくなってしまう。これでは、第１の解析処理の解析結果の波形が頻繁に発振し、第２の解析処理の実行が必要であると判定される回数が増加するため、本来不要である解析時刻における第２の解析処理の実行の削減効果が低下してしまう。
【０２００】
そこで、実施の形態４では、現在の解析時刻における第２の解析処理の解析結果の予測値に、現在の解析時刻における第１の解析処理の解析結果を反映することで、第２の解析処理の解析結果の予測値を精度よく求め、上記誤差の集積による第１の解析処理の解析結果の波形の発振を抑制する。
【０２０１】
具体的には、シミュレーション装置３００，１０００の予測値算出部４０３により、判定部４０１によって第２の解析処理の実行が不要と判定された場合、現在の解析時刻における第１の解析処理の第１の解析結果を用いて、現在の解析時刻における第２の解析処理の解析結果の予測値を算出する。
【０２０２】
この場合、実行制御部４０２は、予測値算出部４０３によって算出された予測値を用いて、第１の解析処理の一実行間隔後の解析時刻における第１の解析処理を実行させることとなる。以下、実施の形態４の概要について説明する。なお、実施の形態１〜３において説明した箇所と同一箇所については、同一符号を付して説明を省略する。
【０２０３】
（実施の形態４の概要）
図１６は、実施の形態４の概要を示す説明図である。図１６において、第１の解析処理は、ＦＤＴＤ法を用いた空間内の電磁界解析である。また、第２の解析処理は、その空間内に配置される解析対象回路の回路解析である。図１６中、時刻ｔは第１の解析処理の解析時刻を示し、時刻Ｔは第２の解析処理の解析時刻を示している。
【０２０４】
ここで、現在の解析時刻をｔiとする。この場合、判定部４０１は、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiと、第２の解析処理の一実行間隔前の解析時刻Ｔj-1（解析時刻ｔi-4）における第１の解析処理の解析結果Ｉi―4とに基づいて、現在の解析時刻ｔiにおける第２の解析処理の実行の要否を判定する。
【０２０５】
具体的には、まず、予測値算出部４０３により、第２の解析処理の一実行間隔前の解析時刻Ｔj-1における第１の解析処理の解析結果Ｉi―4を用いて、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiの予測値を算出する。
【０２０６】
より具体的には、例えば、上記式（６）を用いて、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiの予測値を求めることができる。ただし、Ｉpn+1/2は現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiの予測値に相当し、ＩTは第２の解析処理の一実行間隔前の解析時刻Ｔj-1における第１の解析処理の解析結果Ｉi―4に相当する。
【０２０７】
このあと、判定部４０１により、予測値算出部４０３によって算出された現在の解析時刻ｔiにおける解析結果Ｉiの予測値と、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiと、第２の解析処理の解析予定時刻Ｔｎｅｘｔとを用いて、現在の解析時刻ｔiにおける第２の解析処理の実行の要否を判定する。
【０２０８】
具体的には、例えば、上記式（８）を用いて、現在の解析時刻ｔiにおける第２の解析処理の実行の要否を判定することができる。ただし、Ｉn+1/2は、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiに相当する。
【０２０９】
ここで、判定部４０１によって第２の解析処理の実行が必要と判定された場合、実行制御部４０２は、第２の実行部４０５を制御して、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiを用いて、現在の解析時刻ｔi（解析時刻Ｔj）における第２の解析処理を実行する。
【０２１０】
この場合、実行制御部４０２は、第１の実行部４０４を制御して、第２の実行部４０５によって実行された現在の解析時刻ｔiにおける第２の解析処理の解析結果Ｖjを用いて、第１の解析処理の一実行間隔後の解析時刻ｔi+1における第１の解析処理を実行する。
【０２１１】
一方、判定部４０１によって第２の解析処理の実行が不要と判定された場合、予測値算出部４０３は、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiを用いて、現在の解析時刻ｔiにおける第２の解析処理の解析結果Ｖjの予測値を算出する。
【０２１２】
この場合、実行制御部４０２は、第１の実行部４０４を制御して、予測値算出部４０３によって算出された現在の解析時刻ｔiにおける第２の解析処理の解析結果Ｖjの予測値を用いて、第１の解析処理の一実行間隔後の解析時刻ｔi+1における第１の解析処理を実行する。
【０２１３】
このように、実施の形態４では、現在の解析時刻ｔiにおける第２の解析処理の解析結果Ｖjの予測値に、現在の解析時刻ｔiにおける第１の解析処理の解析結果Ｉiを反映することで、第２の解析処理の解析結果Ｖjの予測値を精度よく求める。
【０２１４】
以下、予測値算出部４０３による第２の解析処理の解析結果Ｖjの予測値を算出する算出処理を具体的に説明する。まず、回路解析（第２の解析処理）の回路部について説明する。図１７は、回路部の一例を示す説明図である。図１７において、回路部１７００は、等価回路１７０１と、電流源１７０２と、コンデンサＣと、からなる。なお、電磁界解析（第１の解析処理）と回路解析（第２の解析処理）とは、電流源１７０２とコンデンサＣとを介して連携する。
【０２１５】
以下において、現在の解析時刻ｔにおける電磁界解析の解析結果をＩf（ｔ）、現在の解析時刻ｔにおける回路解析の解析結果をＶ（ｔ）、回路解析の一実行間隔前の解析時刻Ｔにおける等価回路１７０１に流れる電流をＩX（Ｔ）、現在の解析時刻ｔにおけるコンデンサＣに流れる電流をＩC（ｔ）とする。また、回路解析の次回の解析予定時刻をＴｎｅｘｔとする。
【０２１６】
まず、予測値算出部４０３は、現在の解析時刻ｔにおける等価回路１７０１に流れるＩX（ｔ）を、回路解析の一実行間隔前の解析時刻Ｔにおける等価回路１７０１に流れる電流ＩX（Ｔ）と、回路解析の次回の解析予定時刻Ｔｎｅｘｔにおける等価回路１７０１に流れる電流ＩX（Ｔｎｅｘｔ）と、から補間して求める。
【０２１７】
具体的には、例えば、下記式（１５）を用いて、現在の解析時刻ｔにおける等価回路１７０１に流れる電流ＩX（ｔ）を求めることができる。なお、電流ＩX（Ｔｎｅｘｔ）は、回路解析の一実行間隔前の解析時刻Ｔにおける電流ＩX（Ｔ）を用いて予測することができる（上記式（６）参照）。また、電流ＩX（Ｔ）は、ＲＯＭやＲＡＭなどの記憶部に保持されている。
【０２１８】
【数８】
0005071244.tif 000009
【０２１９】
このあと、予測値算出部４０３は、現在の解析時刻ｔにおける等価回路１７０１に流れる電流ＩX（ｔ）と、現在の解析時刻ｔにおける電磁界解析の解析結果Ｉf（ｔ）とを用いて、現在の解析時刻ｔにおけるコンデンサＣに流れる電流ＩC（ｔ）を算出する。具体的には、例えば、下記式（１６）を用いて、電流ＩC（ｔ）を求めることができる。
【０２２０】
【数９】
0005071244.tif 000010
【０２２１】
最後に、予測値算出部４０３は、回路解析の一実行間隔前の解析時刻Ｔにおける回路解析の解析結果Ｖ（Ｔ）と、現在の解析時刻ｔにおけるコンデンサＣに流れる電流ＩC（ｔ）とを用いて、現在の解析時刻ｔにおける回路解析の解析結果Ｖ（ｔ）の予測値を算出する。具体的には、例えば、下記式（１７）を用いて、Ｖ（ｔ）の予測値を求めることができる。なお、Ｖ（Ｔ）は、ＲＯＭやＲＡＭなどの記憶部に保持されている。
【０２２２】
【数１０】
0005071244.tif 000011
【０２２３】
このように、現在の解析時刻ｔにおける回路解析の解析結果Ｖ（ｔ）の予測値に、現在の解析時刻ｔにおける電磁界解析の解析結果Ｉf（ｔ）を反映させることにより、回路解析の解析結果Ｖ（ｔ）の予測値を精度よく求めることができる。
【０２２４】
以上説明した実施の形態４によれば、現在の解析時刻における電磁界解析の解析結果を用いて、現在の解析時刻における回路解析の解析結果の予測値を求めることができる。これにより、実施の形態１〜３と比べて、現在の解析時刻における回路解析の解析結果の予測値を高精度に求めることができ、電磁界解析の解析結果の波形の発振を適切に抑制することができる。
【０２２５】
具体的には、電磁界解析に引き渡される電圧値の誤差が小さくなるため、電磁界解析の解析結果の波形が発振する時刻を遅らせることができる。この結果、シミュレーション時間内での発振を抑制することが可能となり、本来不要である解析時刻における回路解析の実行を効果的に削減し、シミュレーションの高速化を図ることができる。
【０２２６】
なお、実施の形態４では、上記式（１５）〜（１７）を用いた計算が毎回実行されることとなるが、本来不要である解析時刻における回路解析の実行を削減することができるため、この計算負荷は無視できる程度に小さいものとなる。また、ここでは第１の解析処理としてＦＤＴＤ法を用いた電磁界解析を例に挙げて説明したが、ＬＩＭ法を用いた回路解析にも同様に適用することができる。
【０２２７】
なお、本実施の形態で説明したシミュレーション方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０２２８】
また、本実施の形態で説明したシミュレーション装置３００，１０００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述したシミュレーション装置３００，１０００の機能４０１〜４０６，１００１〜１００３をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、シミュレーション装置３００，１０００を製造することができる。
【０２２９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２３０】
（付記１）実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が前記第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションをコンピュータに実行させるシミュレーションプログラムであって、
前記コンピュータを、
現在の解析時刻における前記第１の解析処理の第１の解析結果と、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の第２の解析結果とに基づいて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定する判定手段、
前記判定手段によって判定された判定結果に基づいて、前記現在の解析時刻における前記第２の解析処理の実行を制御する実行制御手段、
として機能させることを特徴とするシミュレーションプログラム。
【０２３１】
（付記２）前記コンピュータを、
前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の前記第２の解析結果を用いて、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果の予測値を算出する予測値算出手段として機能させ、
前記判定手段は、
前記予測値算出手段によって算出された予測値と、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果とを用いて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定することを特徴とする付記１に記載のシミュレーションプログラム。
【０２３２】
（付記３）前記判定手段は、
前記現在の解析時刻と、前記第２の解析処理の解析予定時刻とを用いて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定することを特徴とする付記１または２に記載のシミュレーションプログラム。
【０２３３】
（付記４）前記実行制御手段は、
前記判定手段によって前記第２の解析処理の実行が必要と判定された場合、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果を用いて、前記現在の解析時刻における前記第２解析処理を実行させることを特徴とする付記１〜３のいずれか一つに記載のシミュレーションプログラム。
【０２３４】
（付記５）前記予測値算出手段は、
前記判定手段によって前記第２の解析処理の実行が不要と判定された場合、前記第２の解析処理の一実行間隔前の解析時刻における前記第２の解析処理の第３の解析結果を用いて、前記現在の解析時刻における前記第２の解析処理の解析結果の予測値を算出し、
前記実行制御手段は、
前記予測値算出手段によって算出された予測値を用いて、前記第１の解析処理の一実行間隔後の解析時刻における前記第１の解析処理を実行させることを特徴とする付記１〜４のいずれか一つに記載のシミュレーションプログラム。
【０２３５】
（付記６）前記予測値算出手段は、
前記判定手段によって前記第２の解析処理の実行が不要と判定された場合、前記現在の解析時刻における前記第１の解析処理の前記第１の解析結果を用いて、前記現在の解析時刻における前記第２の解析処理の解析結果の予測値を算出し、
前記実行制御手段は、
前記予測値算出手段によって算出された予測値を用いて、前記第１の解析処理の一実行間隔後の解析時刻における前記第１の解析処理を実行させることを特徴とする付記１〜４のいずれか一つに記載のシミュレーションプログラム。
【０２３６】
（付記７）前記コンピュータを、
前記第１の解析処理を再実行する再解析時刻候補を決定する決定手段、
前記実行制御手段によって前記第２の解析処理の実行が制御された結果、前記現在の解析時刻における前記第２の解析処理の第４の解析結果を用いて、当該第２の解析処理の解析誤差を算出する誤差算出手段として機能させ、
前記判定手段は、
前記誤差算出手段によって算出された算出結果に基づいて、前記第１の解析処理の再実行の要否を判定し、
前記実行制御手段は、
前記判定手段によって判定された判定結果に基づいて、前記決定手段によって決定された再解析時刻候補における前記第１の解析処理の再実行を制御することを特徴とする付記１〜６のいずれか一つに記載のシミュレーションプログラム。
【０２３７】
（付記８）前記決定手段は、
前記第２の解析処理の一実行間隔前の解析時刻と、前記第２の解析処理の解析予定時刻とを用いて前記再解析時刻候補を決定することを特徴とする付記７に記載のシミュレーションプログラム。
【０２３８】
（付記９）前記コンピュータを、
前記決定手段によって決定された再解析時刻候補における前記第１の解析処理の実行に必要となる実行データを保持する保持手段として機能させ、
前記実行制御手段は、
前記保持手段によって保持された実行データを用いて前記再解析時刻候補における前記第１の解析処理を実行させることを特徴とする付記７または８に記載のシミュレーションプログラム。
【０２３９】
（付記１０）前記コンピュータを、
前記第１および第２の解析処理の解析結果を出力する出力手段として機能させることを特徴とする付記１〜９のいずれか一つに記載のシミュレーションプログラム。
【０２４０】
（付記１１）前記第１の解析処理は、陽的積分手法を用いた空間内の電磁界解析であり、
前記第２の解析処理は、前記空間内に配置される解析対象回路の回路解析であることを特徴とする付記１〜１０のいずれか一つに記載のシミュレーションプログラム。
【０２４１】
（付記１２）前記第１の解析処理は、陽的積分手法を用いた解析対象回路の第１の回路解析であり、
前記第２の解析処理は、陰的積分手法を用いた前記解析対象回路の第２の回路解析であることを特徴とする付記１〜１０のいずれか一つに記載のシミュレーションプログラム。
【０２４２】
（付記１３）付記１〜１２のいずれか一つに記載のシミュレーションプログラムを記録したコンピュータに読み取り可能な記録媒体。
【０２４３】
（付記１４）実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が前記第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションを実行するシミュレーション装置であって、
現在の解析時刻における前記第１の解析処理の第１の解析結果と、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の第２の解析結果とに基づいて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記現在の解析時刻における前記第２の解析処理の実行を制御する実行制御手段と、
を備えることを特徴とするシミュレーション装置。
【０２４４】
（付記１５）実行間隔が固定あるいは可変の第１の解析処理と、実行間隔が前記第１の解析処理の実行間隔以上でかつ可変の第２の解析処理とを連携したシミュレーションを実行するシミュレーション方法であって、
現在の解析時刻における前記第１の解析処理の第１の解析結果と、前記第２の解析処理の一実行間隔前の解析時刻における前記第１の解析処理の第２の解析結果とに基づいて、前記現在の解析時刻における前記第２の解析処理の実行の要否を判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記現在の解析時刻における前記第２の解析処理の実行を制御する実行制御工程と、
を含んだことを特徴とするシミュレーション方法。
【図面の簡単な説明】
【０２４５】
【図１】融合シミュレーションの概要を示す説明図（その１）である。
【図２】従来の問題点を示す説明図である。
【図３】シミュレーション装置のハードウェア構成を示す説明図である。
【図４】実施の形態１にかかるシミュレーション装置の機能的構成を示すブロック図である。
【図５】実施の形態１の概要を示す説明図である。
【図６】電磁界解析処理手順の一例を示すフローチャート（その１）である。
【図７】実行制御処理手順の一例を示すフローチャートである。
【図８】回路解析処理手順の一例を示すフローチャート（その１）である。
【図９】実施の形態２の概要を示す説明図である。
【図１０】実施の形態２にかかるシミュレーション装置の機能的構成を示すブロック図である。
【図１１−１】電磁界解析処理手順の一例を示すフローチャート（その２−１）である。
【図１１−２】電磁界解析処理手順の一例を示すフローチャート（その２−２）である。
【図１２】回路解析処理手順の一例を示すフローチャート（その２）である。
【図１３】ＬＩＭユニットの一例を示す説明図である。
【図１４】ＬＩＭ法を用いた回路解析の概要を示す説明図である。
【図１５】融合シミュレーションの概要を示す説明図（その２）である。
【図１６】実施の形態４の概要を示す説明図である。
【図１７】回路部の一例を示す説明図である。
【符号の説明】
【０２４６】
１００  回路部
１１１  等価回路
１１２  電流源
３００，１０００  シミュレーション装置
４０１  判定部
４０２  実行制御部
４０３  予測値算出部
４０４  第１の実行部
４０５  第２の実行部
４０６  出力部
１００１  決定部
１００２  誤差算出部
１００３  保持部
１３００  ＬＩＭユニット
Ｔｎｅｘｔ  解析予定時刻
Ｒｔ，Ｒｔ１，Ｒｔ２  再解析時刻候補
【図１】
0005071244.tif 000012
【図２】
0005071244.tif 000013
【図３】
0005071244.tif 000014
【図４】
0005071244.tif 000015
【図５】
0005071244.tif 000016
【図６】
0005071244.tif 000017
【図７】
0005071244.tif 000018
【図８】
0005071244.tif 000019
【図９】
0005071244.tif 000020
【図１０】
0005071244.tif 000021
【図１１−１】
0005071244.tif 000022
【図１１−２】
0005071244.tif 000023
【図１２】
0005071244.tif 000024
【図１３】
0005071244.tif 000025
【図１４】
0005071244.tif 000026
【図１５】
0005071244.tif 000027
【図１６】
0005071244.tif 000028
【図１７】
0005071244.tif 000029