(57)【要約】【課題】長時間に渡る物性値の挙動を求め得るようにする。【解決手段】電磁界解析装置１００は、メモリ６２４と、ＣＰＵ６２２と、ディスプレイ６１０とを含む。メモリ６２４は、吸収境界層と解析領域とを含む領域を分割した各ブロックについて、物性値データを記憶する。ＣＰＵ６２２は、互いに隣接する複数のブロックについての物性値データに基づいて、複数のブロックそれぞれについての物性値を計算し、物性値データの内容を更新し、更新された物性値データに基づいて、解析領域におけるエネルギの総和を計算し、エネルギの総和が閾値を越えるか否かを判断し、エネルギの総和が閾値を越える場合、物性値データの内容を補正する。ディスプレイ６１０は、メモリ６２４が記憶したデータを出力する。【選択図】図２
2007232487.tif 000002
【特許請求の範囲】
【請求項１】
解析領域の周囲にあって前記解析領域に対する反射波を抑制する領域である吸収境界層と前記解析領域とを含む領域を分割した各ブロックについて、物性を表わすデータである物性値データを記憶するための第１の記憶手段と、
互いに隣接する複数の前記ブロックについての前記物性値データに基づいて、前記複数のブロックそれぞれについての前記物性値を計算するための第１の計算手段と、
前記物性値データの内容を前記第１の計算手段が計算した物性値に更新するための更新手段と、
前記物性値データに基づいて、前記解析領域におけるエネルギの総和を計算するための第２の計算手段と、
前記物性値データの内容の更新後に前記第２の計算手段が計算した前記エネルギの総和が閾値を越えるか否かを判断するための判断手段と、
前記第２の計算手段が計算した前記エネルギの総和が前記閾値を越える場合、前記物性値データの内容を補正するための補正手段と、
前記第１の記憶手段が記憶したデータを出力するための出力手段とを含む、解析装置。
【請求項２】
前記補正手段は、前記第２の計算手段が計算した前記エネルギの総和が前記閾値を越える場合、補正後の前記解析領域におけるエネルギの総和が前記閾値と等しくなるように、前記物性値データの内容を補正するための手段を含む、請求項１に記載の解析装置。
【請求項３】
前記物性値データの内容を補正するための手段は、前記第２の計算手段が計算した前記エネルギの総和に対する前記閾値の割合の平方根と補正前の前記物性値データが表わす値との積に、前記物性値データの内容を補正するための手段を含む、請求項２に記載の解析装置。
【請求項４】
前記第１の記憶手段は、前記各ブロックについて、ブロックを構成する辺における電界のデータである電界データと前記ブロックの面における磁界のデータである磁界データとを記憶するための手段を含み、
前記第１の計算手段は、
前記磁界データに基づいて、任意の時点である第１の時点の前記各ブロックの頂点における電界の大きさを計算するための手段と、
前記電界の大きさを計算するための手段が計算した電界の大きさに基づいて、前記第１の時点より後の時点である第２の時点の前記各ブロックの面における磁界の大きさを計算するための手段とを含み、
前記更新手段は、
前記電界の大きさを計算するための手段が計算した値に前記電界データの内容を更新するための手段と、
前記磁界の大きさを計算するための手段が計算した値に前記磁界データの内容を更新するための手段とを含み、
前記第２の計算手段は、内容を更新した前記電界データおよび内容を更新した磁界データに基づいて、前記解析領域におけるエネルギの総和を計算するための手段を含む、請求項１に記載の解析装置。
【請求項５】
前記解析領域におけるエネルギの総和を計算するための手段は、
前記解析領域におけるエネルギの総和を表わす値を記憶するための第２の記憶手段と、
前記解析領域におけるエネルギの流入量と前記解析領域の外に向くポインティングベクトルの大きさに対応するエネルギの流出量と前記第２の記憶手段が記憶した値とに基づいて、前記電界データおよび前記磁界データの内容を更新した後の前記解析領域におけるエネルギの総和を計算するための手段と、
前記計算するための手段が計算した値に前記第２の記憶手段が記憶した値を更新するための手段とを含む、請求項４に記載の解析装置。
【請求項６】
前記第２の計算手段は、
前記解析領域におけるエネルギの総和を表わす値を記憶するための第２の記憶手段と、
前記物性値データの更新により生じた前記解析領域におけるエネルギの変化量と前記第２の記憶手段が記憶した値との和を計算するための手段と、
前記計算するための手段が計算した値に前記第２の記憶手段が記憶した値を更新するための手段とを含む、請求項１に記載の解析装置。
【請求項７】
解析装置が、解析領域の周囲にあって前記解析領域に対する反射波を抑制する領域である吸収境界層と前記解析領域とを含む領域を分割した各ブロックについて、物性値のデータである物性値データを記憶する第１の記憶ステップと、
前記解析装置が、互いに隣接する複数の前記ブロックについての前記物性値データに基づいて、前記複数のブロックそれぞれについての、任意の時点の前記物性値を計算する第１の計算ステップと、
前記解析装置が、前記物性値データの内容を前記第１の計算ステップにおいて計算した物性値に更新する更新ステップと、
前記解析装置が、前記更新ステップにおいて前記物性値データの内容を更新すると、前記物性値データに基づいて、前記解析領域におけるエネルギの総和を計算する第２の計算ステップと、
前記解析装置が、前記第２の計算ステップにおいて計算した前記解析領域におけるエネルギの総和が閾値を越えるか否かを判断する判断ステップと、
前記解析装置が、前記解析領域におけるエネルギの総和が前記閾値を越える場合、前記物性値データの内容を補正する補正ステップと、
前記解析装置が、前記第１の記憶ステップにおいて記憶したデータを出力する出力ステップとを含む、解析方法。
【請求項８】
コンピュータが、解析領域の周囲にあって前記解析領域に対する反射波を抑制する領域である吸収境界層と前記解析領域とを含む領域を分割した各ブロックについて、物性値のデータである物性値データを記憶する第１の記憶ステップと、
前記コンピュータが、互いに隣接する複数の前記ブロックについての前記物性値データに基づいて、前記複数のブロックそれぞれについての、任意の時点の前記物性値を計算する第１の計算ステップと、
前記コンピュータが、前記物性値データの内容を前記第１の計算ステップにおいて計算した物性値に更新する更新ステップと、
前記コンピュータが、前記更新ステップにおいて前記物性値データの内容を更新すると、前記物性値データに基づいて、前記解析領域におけるエネルギの総和を計算する第２の計算ステップと、
前記コンピュータが、前記第２の計算ステップにおいて計算した前記解析領域におけるエネルギの総和が閾値を越えるか否かを判断する判断ステップと、
前記コンピュータが、前記解析領域におけるエネルギの総和が前記閾値を越える場合、前記物性値データの内容を補正する補正ステップと、
前記コンピュータが、前記第１の記憶ステップにおいて記憶したデータを出力する出力ステップとを含む各ステップをコンピュータに実行させるための解析プログラム。
【請求項９】
コンピュータが、解析領域の周囲にあって前記解析領域に対する反射波を抑制する領域である吸収境界層と前記解析領域とを含む領域を分割した各ブロックについて、物性値のデータである物性値データを記憶する第１の記憶ステップと、
前記コンピュータが、互いに隣接する複数の前記ブロックについての前記物性値データに基づいて、前記複数のブロックそれぞれについての、任意の時点の前記物性値を計算する第１の計算ステップと、
前記コンピュータが、前記物性値データの内容を前記第１の計算ステップにおいて計算した物性値に更新する更新ステップと、
前記コンピュータが、前記更新ステップにおいて前記物性値データの内容を更新すると、前記物性値データに基づいて、前記解析領域におけるエネルギの総和を計算する第２の計算ステップと、
前記コンピュータが、前記第２の計算ステップにおいて計算した前記解析領域におけるエネルギの総和が閾値を越えるか否かを判断する判断ステップと、
前記コンピュータが、前記解析領域におけるエネルギの総和が前記閾値を越える場合、前記物性値データの内容を補正する補正ステップと、
前記コンピュータが、前記第１の記憶ステップにおいて記憶したデータを出力する出力ステップとを含む各ステップをコンピュータに実行させるための解析プログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析装置、解析方法、解析プログラム、および解析プログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、ＦＤＴＤ法を用いる解析装置、解析方法、解析プログラム、および解析プログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【０００２】
ＦＤＴＤ（Finite Difference Time Domain Method）による電磁界解析手法は、解析領域を格子で分割し、格子点に未知電磁界を配置するものである。ＦＤＴＤ法は、未知電界を配置する格子と未知磁界を配置する格子とを、格子の半分の幅だけずらすYee格子という構造を取る。ＦＤＴＤ法は、次の手順により解析領域全体の電磁界挙動を求める、差分法に基づく解析手法である。その第１の手順は、未知電界、磁界と隣接する未知磁界、電界の間に働く関係式を電磁気学に基づく方程式から導く手順である。第２の手順は、導き出された関係式を基に未知電界、磁界をあるタイムステップを単位に更新する手順である。第２の手順において、あるタイムステップで電界を更新し、１／２タイムステップ後に磁界を更新し、１タイムステップ後に電界を更新するというように、電界、磁界を交互に求める。このように、ＦＤＴＤ法では、解析領域内の未知変数を陽解法により逐次的に計算することで、解析領域の電磁界の応答を時系列に従って解析する。非特許文献１は、ＦＤＴＤ法を具体的に紹介するものである。
【０００３】
特許文献１は、複数の他の情報処理装置とともに、解析の対象となる領域を分割して、ＦＤＴＤ法により電界および磁界を解析する情報処理装置を開示する。この情報処理装置は、分割された領域であって、複数の他の情報処理装置のうちの少なくとも１つの情報処理装置が、電界または磁界を個々に解析するオーバーラップ領域の、計算上の所定の時刻における電界の強さおよび磁界の強さの少なくとも一方を演算する第１の演算装置と、オーバーラップ領域を解析する他の情報処理装置への、第１の演算装置により演算された、計算上の時刻におけるオーバーラップ領域の磁界の強さおよび電界の強さの少なくとも一方の送信を制御する送信制御装置と、送信制御装置により制御された送信と並列に、分割された領域のうちの、オーバーラップ領域が除外された領域の、計算上の時刻における電界の強さおよび磁界の強さの少なくとも一方を演算する第２の演算装置とを含む。
【０００４】
特許文献１に開示された発明によると、精度を劣化させることなく、複数の情報処理装置を用いて、より迅速に、ＦＤＴＤ法により、電界および磁界を解析できる。
【特許文献１】特開２００３−２２３４２６号公報
【非特許文献１】宇野亨，「ＦＤＴＤ法による電磁界およびアンテナ解析」，第１版，コロナ社，１９９８年３月２０日，ｐ１−５７，ｐ５８−１０２，ｐ１７５−１９２
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＦＤＴＤ法が有限の解析領域での解析しか扱えないため、無限の空間内に解析対象を配置した解析を行う場合には、吸収境界層というものを作成し、無限の空間を近似して解析を進める。吸収境界層としてはＭｕｒの吸収境界、ＰＭＬ（Perfectly Matched Layer）などいくつかの方式が存在するが、どれも、エネルギを完全に吸収することはできず、多少の反射を生じ、さらに特定の周波数、方向の電磁波についてはエネルギを増幅させる場合もある。このように吸収境界層は完全なものではないため、一般には解析対象となる構造体と吸収境界層との間に緩衝領域を設ける。これにより、吸収境界層での誤差により、構造体部分に関する解析結果に直接及ぶような影響を軽減する。図１５は、構造体の含まれる領域と緩衝領域と吸収境界層との配置の関係を表わす図である。以下の説明では、解析対象となる構造体の含まれる領域および緩衝領域をまとめて解析領域と表現する。
【０００６】
緩衝領域を設ける方法には、解析領域や吸収境界領での計算誤差が蓄積するという欠点がある。そのような計算誤差は、吸収境界層で増幅される。これにより、解析領域の内部に含まれる誤差の絶対値は解析時間とともに増大する。最終的には、その絶対値は発散してしまう。
【０００７】
そのため、ＦＤＴＤ法には、次に述べるシステム解析には用い難いであるという問題点がある。そのシステム解析とは、長時間に渡る電磁界挙動を求める必要のあるシステム解析である。非特許文献には、この問題点に対する解決法が何ら開示されていない。特許文献１に開示された発明は、この問題点を解決できない。
【０００８】
本発明は上述の問題点を解決するためになされたものであって、その目的は、長時間に渡る物性値の挙動を求めることができる解析装置、解析方法、解析プログラム、および解析プログラムを記録したコンピュータ読取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のある局面に従うと、解析装置は、第１の記憶手段と、第１の計算手段と、更新手段と、第２の計算手段と、判断手段と、補正手段と、出力手段とを含む。第１の記憶手段は、解析領域の周囲にあって解析領域に対する反射波を抑制する領域である吸収境界層と解析領域とを含む領域を分割した各ブロックについて、物性を表わすデータである物性値データを記憶する。第１の計算手段は、互いに隣接する複数のブロックについての物性値データに基づいて、複数のブロックそれぞれについての物性値を計算する。更新手段は、物性値データの内容を第１の計算手段が計算した物性値に更新する。第２の計算手段は、物性値データに基づいて、解析領域におけるエネルギの総和を計算する。判断手段は、物性値データの内容の更新後に第２の計算手段が計算したエネルギの総和が閾値を越えるか否かを判断する。補正手段は、第２の計算手段が計算したエネルギの総和が閾値を越える場合、物性値データの内容を補正する。出力手段は、第１の記憶手段が記憶したデータを出力する。
【００１０】
また、上述の補正手段は、第２の計算手段が計算したエネルギの総和が閾値を越える場合、補正後の解析領域におけるエネルギの総和が閾値と等しくなるように、物性値データの内容を補正するための手段を含むことが望ましい。
【００１１】
もしくは、上述の物性値データの内容を補正するための手段は、第２の計算手段が計算したエネルギの総和に対する閾値の割合の平方根と補正前の物性値データが表わす値との積に、物性値データの内容を補正するための手段を含むことが望ましい。
【００１２】
また、上述の第１の記憶手段は、各ブロックについて、ブロックを構成する辺における電界のデータである電界データとブロックの面における磁界のデータである磁界データとを記憶するための手段を含むことが望ましい。併せて、第１の計算手段は、電界の大きさを計算するための手段と、磁界の大きさを計算するための手段とを含むことが望ましい。電界の大きさを計算するための手段は、磁界データに基づいて、任意の時点である第１の時点の各ブロックの頂点における電界の大きさを計算する。磁界の大きさを計算するための手段は、電界の大きさを計算するための手段が計算した電界の大きさに基づいて、第１の時点より後の時点である第２の時点の各ブロックの面における磁界の大きさを計算する。更新手段は、電界データの内容を更新するための手段と、磁界データの内容を更新するための手段とを含むことが望ましい。電界データの内容を更新するための手段は、電界の大きさを計算するための手段が計算した値に電界データの内容を更新する。磁界データの内容を更新するための手段は、磁界の大きさを計算するための手段が計算した値に磁界データの内容を更新する。第２の計算手段は、内容を更新した電界データおよび内容を更新した磁界データに基づいて、解析領域におけるエネルギの総和を計算するための手段を含むことが望ましい。
【００１３】
もしくは、上述した解析領域におけるエネルギの総和を計算するための手段は、第２の記憶手段と、計算するための手段と、値を更新するための手段とを含むことが望ましい。第２の記憶手段は、解析領域におけるエネルギの総和を表わす値を記憶する。計算するための手段は、解析領域におけるエネルギの流入量と解析領域の外に向くポインティングベクトルの大きさに対応するエネルギの流出量と第２の記憶手段が記憶した値とに基づいて、電界データおよび磁界データの内容を更新した後の解析領域におけるエネルギの総和を計算する。値を更新するための手段は、計算するための手段が計算した値に第２の記憶手段が記憶した値を更新する。
【００１４】
また、上述の第２の計算手段は、第２の記憶手段と、計算するための手段と、値を更新するための手段とを含むことが望ましい。第２の記憶手段は、解析領域におけるエネルギの総和を表わす値を記憶する。計算するための手段は、物性値データの更新により生じた解析領域におけるエネルギの変化量と第２の記憶手段が記憶した値との和を計算する。値を更新するための手段は、計算するための手段が計算した値に第２の記憶手段が記憶した値を更新する。
【００１５】
本発明の他の局面に従うと、解析方法は第１の記憶ステップと、第１の計算ステップと、更新ステップと、第２の計算ステップと、判断ステップと、補正ステップと、出力ステップとを含む。第１の記憶ステップは、解析装置が、解析領域の周囲にあって解析領域に対する反射波を抑制する領域である吸収境界層と解析領域とを含む領域を分割した各ブロックについて、物性値のデータである物性値データを記憶する。第１の計算ステップは、解析装置が、互いに隣接する複数のブロックについての物性値データに基づいて、複数のブロックそれぞれについての、任意の時点の物性値を計算する。更新ステップは、解析装置が、物性値データの内容を第１の計算ステップにおいて計算した物性値に更新する。第２の計算ステップは、解析装置が、更新ステップにおいて物性値データの内容を更新すると、物性値データに基づいて、解析領域におけるエネルギの総和を計算する。判断ステップは、解析装置が、第２の計算ステップにおいて計算した解析領域におけるエネルギの総和が閾値を越えるか否かを判断する。補正ステップは、解析装置が、解析領域におけるエネルギの総和が閾値を越える場合、物性値データの内容を補正する。出力ステップは、解析装置が、第１の記憶ステップにおいて記憶したデータを出力する。
【００１６】
本発明の他の局面に従うと、解析プログラムは、第１の記憶ステップと、第１の計算ステップと、更新ステップと、第２の計算ステップと、判断ステップと、補正ステップと、出力ステップとを含む各ステップをコンピュータに実行させる。第１の記憶ステップは、コンピュータが、解析領域の周囲にあって解析領域に対する反射波を抑制する領域である吸収境界層と解析領域とを含む領域を分割した各ブロックについて、物性値のデータである物性値データを記憶する。第１の計算ステップは、コンピュータが、互いに隣接する複数のブロックについての物性値データに基づいて、複数のブロックそれぞれについての、任意の時点の物性値を計算する。更新ステップは、コンピュータが、物性値データの内容を第１の計算ステップにおいて計算した物性値に更新する。第２の計算ステップは、コンピュータが、更新ステップにおいて物性値データの内容を更新すると、物性値データに基づいて、解析領域におけるエネルギの総和を計算する。判断ステップは、コンピュータが、第２の計算ステップにおいて計算した解析領域におけるエネルギの総和が閾値を越えるか否かを判断する。補正ステップは、コンピュータが、解析領域におけるエネルギの総和が閾値を越える場合、物性値データの内容を補正する。出力ステップは、コンピュータが、第１の記憶ステップにおいて記憶したデータを出力する。
【００１７】
本発明の他の局面に従うと、記録媒体は、解析プログラムを記憶したコンピュータ読取り可能な記録媒体である。解析プログラムは、第１の記憶ステップと、第１の計算ステップと、更新ステップと、第２の計算ステップと、判断ステップと、補正ステップと、出力ステップとを含むステップをコンピュータに実行させる。第１の記憶ステップは、コンピュータが、解析領域の周囲にあって解析領域に対する反射波を抑制する領域である吸収境界層と解析領域とを含む領域を分割した各ブロックについて、物性値のデータである物性値データを記憶する。第１の計算ステップは、コンピュータが、互いに隣接する複数のブロックについての物性値データに基づいて、複数のブロックそれぞれについての、任意の時点の物性値を計算する。更新ステップは、コンピュータが、物性値データの内容を第１の計算ステップにおいて計算した物性値に更新する。第２の計算ステップは、コンピュータが、更新ステップにおいて物性値データの内容を更新すると、物性値データに基づいて、解析領域におけるエネルギの総和を計算する。判断ステップは、コンピュータが、第２の計算ステップにおいて計算した解析領域におけるエネルギの総和が閾値を越えるか否かを判断する。補正ステップは、コンピュータが、解析領域におけるエネルギの総和が閾値を越える場合、物性値データの内容を補正する。出力ステップは、コンピュータが、第１の記憶ステップにおいて記憶したデータを出力する。
【発明の効果】
【００１８】
本発明に係る解析装置、解析方法、解析プログラム、および解析プログラムを記録したコンピュータ読取り可能な記録媒体は、長時間に渡る物性値の挙動を求めることができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２０】
図１は本実施の形態における電磁界解析装置１００の構成図である。電磁界解析装置１００は、計算部１０２と、記憶部１０４と、補正部１０６とを含む。計算部１０２は電界と磁界とを解析する。計算部１０２は、記憶部１０４が記憶した電界変数と磁界変数とを自らが解析した結果に基づいて更新する部分でもある。計算部１０２は、電源による流入エネルギを計算し、流入エネルギ量を補正部１０６に通知する部分でもある。記憶部１０４は電界変数と磁界変数とを記憶する。補正部１０６は、記憶部１０４が記憶した変数値から、解析領域におけるエネルギ量の最新値と流出エネルギ量とを計算する。また、補正部１０６は、エネルギ上限値Ｅmaxおよび計算部１０２から与えられた流入エネルギ量から、電磁界エネルギ量の上限値を更新する部分でもある。さらに補正部１０６は、補正が必要な場合には記憶部１０４の電磁界変数を補正する部分でもある。この際、補正部１０６は、エネルギ上限Ｅmaxと電磁界エネルギ量との関係に基づいて補正が必要か否かを判断する。
【００２１】
図２は、本実施の形態における電磁界解析装置１００を実現するコンピュータハードウェアのブロック図である。このコンピュータハードウェアは、ディスプレイ６１０と、ＣＰＵ（Central Processing Unit）６２２と、メモリ６２４と、固定ディスク６２６と、ＦＤ（flexible disk）駆動装置６３０と、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）駆動装置６４０と、キーボード６５０と、通信インターフェイス６８０とを含む。ディスプレイ６１０は、表示により情報を出力する。ＣＰＵ６２２は、各種の演算を実施する。ＣＰＵ６２２は、図２に示すコンピュータハードウェアの各部を制御する回路でもある。メモリ６２４は、情報を記憶する。固定ディスク６２６は、本実施の形態における電磁界解析装置１００を実現するためのプログラムなどを記憶する。ＦＤ駆動装置６３０は、ＦＤ６３２から情報を読取る。ＣＤ−ＲＯＭ駆動装置６４０は、ＣＤ−ＲＯＭ６４２から本実施の形態における電磁界解析装置１００を実現するためのプログラムなどを読取る。キーボード６５０は、ユーザが情報を入力する装置である。通信インターフェイス６８０は、ネットワークを介して図示しないコンピュータと通信する。
【００２２】
この電磁界解析装置１００は、コンピュータハードウェアとＣＰＵ６２２により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）６４２などの記録媒体に格納されて流通し、ＣＤ−ＲＯＭ駆動装置６４０などにより記録媒体から読取られて固定ディスク６２６に一旦格納される。さらにメモリ６２４に読出されて、上述したＣＰＵ６２２により実行される。上述したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の最も本質的な部分は、ＣＤ−ＲＯＭ６４２などの記録媒体に記録されたソフトウェアである。なお、コンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【００２３】
図３は、本実施の形態における電磁界解析装置１００の処理方法を表すフローチャートである。本発明にかかる解析装置は、物性値の解析にあたり、エネルギ保存則を適用する。本実施の形態の場合、適用されるエネルギ保存則は電磁エネルギの保存則である。図３を参照して、電磁界解析装置１００で実行されるプログラムは、電界および磁界の解析に関し、以下のような制御を実行する。
【００２４】
ステップＳ８００にて、計算部１０２または補正部１０６として動作するＣＰＵ６２２は、初期化処理を実施する。この処理は、後述するステップＳ８２０〜ステップＳ８３６の処理に相当する。
【００２５】
ステップＳ８０２にて、計算部１０２として動作するＣＰＵ６２２は、互いに隣接する複数のブロックについての磁界変数の値と１タイムステップ前のその値とに基づいて、複数のブロックそれぞれについての電界変数の値を計算する。電界変数の値が計算されると、計算部１０２として動作するＣＰＵ６２２は、記憶部１０４に記憶された電界変数を表わす物性値データの内容をＣＰＵ６２２自身が計算した値に更新する。これに伴い、解析領域と吸収境界層との電界変数の値が周辺の磁界変数の値をもとに計算されることとなる。電界変数の値を算出するための式は次の通りである。
【００２６】
Ｅｘｎ＝cexa(i,j,k)・Ｅxｎ−１
＋cexb(i,j,k)・{Ｈｚｎ−１(i,j,k)−Ｈｚｎ−１(i,j-1,k)}
−cexc(i,j,k)・{Ｈｙｎ−１(i,j,k)−Ｈｙｎ−１(i,j,k-1)}
Ｅｙｎ＝ceya(i,j,k)・Ｅyｎ−１
＋ceyb(i,j,k)・{Ｈｘｎ−１(i,j,k)−Ｈｘｎ−１(i,j,k-1)}
−ceyc(i,j,k)・{Ｈｚｎ−１(i,j,k)−Ｈｚｎ−１(i-1,j,k)}
Ｅｚｎ＝ceza(i,j,k)・Ｅｚｎ−１
＋cezb(i,j,k)・{Ｈｙｎ−１(i,j,k)−Ｈｙｎ−１(i-1,j,k)}
−cezc(i,j,k)・{Ｈｘｎ−１(i,j,k)−Ｈｘｎ−１(i,j-1,k)}
ただし、Ｅｘｎ,Ｅｙｎ,Ｅzｎは基準とする時点の３次元位置(i,j,k)における電界変数Ｅｘ（i,j,k）, Ｅy（i,j,k）, Ｅz（i,j,k）を表わす。Ｅｘｎ−１, Ｅｙｎ−１, Ｅｚｎ−１は基準とする時点より１タイムステップ前の時点における電界変数Ｅｘ（i,j,k）, Ｅｙ（i,j,k）, Ｅｚ（i,j,k）を表わす。Ｈｘｎ-1(i,j,k), Ｈｙｎ-1(i,j,k), Ｈｚｎ-1(i,j,k)は基準とする時点より０．５タイムステップ前の時点における磁界変数 Ｈｘ(i,j,k), Ｈｙ(i,j,k), Ｈｚ(i,j,k)を表わす。
【００２７】
ステップＳ８０４にて、計算部１０２として動作するＣＰＵ６２２と記憶部１０４として動作するメモリ６２４とは、すべての電圧源について、エネルギの流入量を算出する。この処理は、後述するステップＳ８４０〜ステップＳ８５０の処理に相当する。
【００２８】
ステップＳ８０６にて、計算部１０２として動作するＣＰＵ６２２は、複数のブロックそれぞれについての磁界変数の値を計算する。ＣＰＵ６２２は、互いに隣接する複数のブロックについての電界変数の値と１タイムステップ前のその値とに基づいて、磁界変数の値を計算する。磁界変数の値が計算されると、計算部１０２として動作するＣＰＵ６２２は、記憶部１０４に記憶された磁界変数を表わす物性値データの内容をＣＰＵ６２２自身が計算した値に更新する。これに伴い、解析領域と吸収境界層との磁界変数の値が周辺の電界変数の値をもとに計算されることとなる。磁界変数の値を算出するための式は次の通りである。
【００２９】
Ｈｘｎ＝Ｈｘｎ-1
−chxa(i,j,k)・{Ｅｚｎ(i,j+1,k)−Ｅｚｎ(i,j,k)}
−chxb(i,j,k)・{Ｅｙｎ(i,j,k+1)−Ｅｙｎ(i,j,k)}
Ｈｙｎ＝Ｈｙｎ-1
−chya(i,j,k)・{Ｅｘｎ(i,j,k+1)−Ｅｘｎ(i,j,k)}
−chyb(i,j,k)・{Ｅｚｎ(i+1,j,k)−Ｅｚｎ(i,j,k)}
Ｈｚｎ＝Ｈｚｎ-1
−chza(i,j,k)・{Ｅｙｎ(i+1,j,k)−Ｅyｎ(i,j,k)}
−chzb(i,j,k)・{Ｅｘｎ(i,j+1,k)−Ｅｘｎ(i,j,k)}
ただし、Ｈｘｎ,Ｈｙｎ,Ｈｚｎは基準とする時点から０．５タイムステップ後の時点の三次元位置(i,j,k)における磁界変数Ｈｘ(i,j,k）, Ｈｙ(i,j,k）, Ｈｚ(i,j,k）を表わす。Ｈｘｎ-1, Ｈｙｎ-1, Ｈｚｎ-1は基準とする時点より０．５タイムステップ前の時点における磁界変数Ｈｘ(i,j,k）, Ｈｙ(i,j,k）, Ｈｚ(i,j,k）を表わす。Ｅｘｎ(i,j,k), Ｅｙｎ(i,j,k), Ｅｚｎ(i,j,k)は基準とする時点における電界変数Ｅｘ(i,j,k), Ｅｙ(i,j,k), Ｅｚ(i,j,k)を表わす。
【００３０】
ステップＳ８０８にて、補正部１０６として動作するＣＰＵ６２２は、解析領域と吸収境界層との境界部から吸収境界層へ流出するエネルギを計算する。これにより、補正部１０６として動作するＣＰＵ６２２は、ステップＳ８０２とステップＳ８０６とにおいて内容を更新した物性値データに基づいて、解析領域におけるエネルギの総和を計算することとなる。このステップにおいて、「内容を更新した物性値データ」とは、電界変数と磁界変数とを意味する。この処理は、後述するステップＳ８６０〜ステップＳ８６４の処理に相当する。
【００３１】
ステップＳ８１０にて、計算部１０２として動作するＣＰＵ６２２は、エネルギの補正のタイミングを判定するため、時刻変数ｉが変数Ｎの倍数か否かを判断する。本実施の形態において、変数Ｎはユーザが計算部１０２として動作するキーボード６５０に入力し、キーボード６５０が受付けた値を表わす。時刻変数ｉが変数Ｎの倍数と判断した場合（ステップＳ８１０にてＹＥＳ）、処理はステップＳ８１２に移行する。もしそうでないと（ステップＳ８１０にてＮＯ）、処理はステップＳ８１４に移行する。
【００３２】
ステップＳ８１２にて、補正部１０６として動作するＣＰＵ６２２は、必要に応じて電界変数などを補正する。この処理は、後述するステップＳ８７０〜ステップＳ８７４の処理に相当する。
【００３３】
ステップＳ８１４にて、計算部１０２として動作するディスプレイ６１０は、解析結果の出力形態を指定する情報に従って、メモリ６２４が記憶した、電界変数の値と磁界変数の値とを出力する。解析結果の出力形態を指定する情報は、ステップＳ８００にてＦＤ駆動装置６３０がＦＤ６３２から読取った情報である。
【００３４】
ステップＳ８１６にて、計算部１０２として動作するＣＰＵ６２２は、時刻変数ｉに「１」を加える。
【００３５】
ステップＳ８１８にて、計算部１０２として動作するＣＰＵ６２２は、解析を終了する条件に基づき、解析を終了するか否かを判断する。解析を終了する条件は、ステップＳ８００にてＦＤ駆動装置６３０がＦＤ６３２から情報として読取っていることとする。本実施の形態の場合、解析を終了する条件は、ユーザが指定したステップ数Ｎを時刻変数ｉが上回ることとする。解析を終了すると判断した場合（ステップＳ８１８にてＹＥＳ）、処理は終了する。もしそうでないと（ステップＳ８１８にてＮＯ）、処理はステップＳ８０２へと移される。
【００３６】
図４を参照して、電磁界解析装置１００で実行されるプログラムは、初期化に関し、以下のような制御を実行する。
【００３７】
ステップＳ８２０にて、計算部１０２として動作するＦＤ駆動装置６３０は、解析条件を表わす情報をＦＤ６３２から読取る。計算部１０２として動作するＦＤ駆動装置６３０は、解析条件を受付けることとなる。
【００３８】
本実施の形態の場合、解析条件を表わす情報は、複数の種類の情報からなる。解析条件を表わす情報は、解析領域のサイズを表わす情報と、タイムステップΔｔを表わす情報と、解析領域内の構造体の配置を表わす情報と、物性値データと、電界や磁界の大きさの初期値を表わす情報と、吸収境界層における境界条件を表わす情報と、電圧源が接続された位置を表わす情報と、電圧源の内部抵抗を表わす情報と、出力波形などを表わす波源情報と、解析を終了する条件を表わす情報と、解析結果の出力形態を指定する情報とによって構成される。
【００３９】
解析領域のサイズを表わす情報は、解析領域を構成する格子１つのサイズを表わす情報と、解析領域全体の大きさを表わす情報とを含む。解析領域を構成する格子１つのサイズを表わす情報は、格子のＸ方向のサイズdxの情報と、格子のＹ方向のサイズdyの情報と、格子のＺ方向のサイズdzの情報とを含む。解析領域全体の大きさを表わす情報は、Ｘ方向に並ぶ格子の数sxの情報と、Ｙ方向に並ぶ格子の数syの情報と、Ｚ方向に並ぶ格子の数szの情報とを含む。
【００４０】
物性値データは、物性を表わすデータである。物性値データは、配列変数epsilonx（i,j,k）に格納されるＸ方向の誘電率のデータと、配列変数sigmax（i,j,k）に格納されるＸ方向の導電率のデータと、配列変数epsilony（i,j,k）に格納されるＹ方向の誘電率のデータと、配列変数sigmay（i,j,k）に格納されるＹ方向の導電率のデータと、配列変数epsilonz（i,j,k）に格納されるＺ方向の誘電率のデータと、配列変数sigmaz（i,j,k）に格納されるＺ方向の導電率のデータと、配列変数mux（i,j,k）に格納されるＹＺ平面に平行な面の透磁率のデータと、配列変数muy（i,j,k）に格納されるＺＸ平面に平行な面の透磁率のデータと、配列変数muz（i,j,k）に格納されるＸＹ平面に平行な面の透磁率のデータとを含む。これらのデータが表わす誘電率と導電率とは、いずれも各格子の各辺の中心における物性を表わす。これらのデータが表わす透磁率は、いずれも各格子の各面の中心における透磁率を表わす。
【００４１】
ステップＳ８２２にて、計算部１０２として動作するＣＰＵ６２２は、解析領域を格子に分割する。「解析領域を格子に分割する」とは、物性値データを表わす配列変数の宣言を意味する。これらの配列変数の添字は、その配列変数が対応付けられた格子の配置を表わす。解析領域と併せて、吸収境界層も格子に分割される。解析領域と吸収境界層とが格子に分割されると、計算部１０２として動作するＣＰＵ６２２は、宣言された配列変数に、ステップＳ８２０にて読取られた物性値データの内容を定義する。これにより、記憶部１０４として動作するメモリ６２４は、解析領域の周囲にあって解析領域に対する反射波を抑制する領域である吸収境界層と解析領域とを含む領域を分割した各ブロックについて、物性値データを記憶することとなる。
【００４２】
ステップＳ８２４にて、計算部１０２として動作するＣＰＵ６２２は、電界変数と磁界変数とを配置する。「電界変数と磁界変数とを配置する」とは、次に述べる２種類の配列変数の宣言を意味する。その配列変数の１種類目は、電界変数となる配列変数である。電界変数は、各格子を構成する辺それぞれの中心における電界の大きさを表わす変数である。この配列変数において、Ｘ方向の電界の大きさを表わす電界変数Ｅx（i,j,k）における添字の最大値は、添字iの最大値が（sx-1）、添字jの最大値がsy、添字kの最大値がszである。Ｙ方向の電界の大きさを表わす電界変数Ｅy（i,j,k）における添字の最大値は、添字iの最大値がsx、添字jの最大値が（sy-1）、添字kの最大値がszである。Ｚ方向の電界の大きさを表わす電界変数Ｅz（i,j,k）における添字の最大値は、添字iの最大値がsx、添字jの最大値がsy、添字kの最大値が（sz-1）である。配列変数の２種類目は、磁界変数となる配列変数である。磁界変数は、各格子を構成する面それぞれの中心における磁界の大きさを表わす変数である。この配列変数において、Ｘ方向の磁界の大きさを表わす磁界変数Ｈx（i,j,k）における添字の最大値は、添字iの最大値がsx、添字jの最大値が（sy-1）、添字kの最大値が（sz-1）である。Ｙ方向の磁界の大きさを表わす磁界変数Ｈy（i,j,k）における添字の最大値は、添字iの最大値が（sx-1）、添字jの最大値がsy、添字kの最大値が（sz-1）である。Ｚ方向の磁界の大きさを表わす磁界変数Ｈz（i,j,k）における添字の最大値は、添字iの最大値が（sx-1）、添字jの最大値が（sy-1）、添字kの最大値がszである。なお、配列変数の添字は、解析領域または吸収境界領における位置を表わす。
【００４３】
ステップＳ８２６にて、計算部１０２として動作するＣＰＵ６２２は、配列変数cexa（i,j,k）、配列変数cexb（i,j,k）、配列変数cexc（i,j,k）、配列変数ceya（i,j,k）、配列変数ceyb（i,j,k）、配列変数ceyc（i,j,k）、配列変数ceza（i,j,k）、配列変数cezb（i,j,k）、配列変数cezc（i,j,k）、配列変数chxa（i,j,k）、配列変数chxb（i,j,k）、配列変数chya（i,j,k）、配列変数chyb（i,j,k）、配列変数chza（i,j,k）、および配列変数chzb（i,j,k）を宣言する。
【００４４】
配列変数cexa（i,j,k）、配列変数cexb（i,j,k）、配列変数cexc（i,j,k）、配列変数ceya（i,j,k）、配列変数ceyb（i,j,k）、配列変数ceyc（i,j,k）、配列変数ceza（i,j,k）、配列変数cezb（i,j,k）、および配列変数cezc（i,j,k）は、電界を計算するための係数を表わす。
【００４５】
配列変数chxa（i,j,k）、配列変数chxb（i,j,k）、配列変数chya（i,j,k）、配列変数chyb（i,j,k）、配列変数chza（i,j,k）、および配列変数chzb（i,j,k）は、磁界を計算するための係数を表わす変数である。
【００４６】
これらの配列変数の最大値を図５に示す。
ステップＳ８２８にて、計算部１０２として動作するＣＰＵ６２２は、ステップＳ８２６において宣言した配列変数に値を代入する。この処理は、後述するステップＳ８８０〜ステップＳ１０１０の処理に相当する。
【００４７】
ステップＳ８３０にて、計算部１０２として動作するＣＰＵ６２２は、ステップＳ８２０において読取られた電界や磁界の大きさの初期値を、ステップＳ８２４にて宣言した配列変数に代入する。
【００４８】
ステップＳ８３２にて、計算部１０２として動作するＣＰＵ６２２は、吸収境界層などにおけるパラメータを境界条件に基づいて設定する。このステップにおけるパラメータの設定とは、物性値データを表わす配列変数に吸収境界層などにおける設定値を代入することを意味する。本実施の形態の場合、吸収境界層としてＰＭＬを用いることとする。
【００４９】
ステップＳ８３４にて、計算部１０２として動作するＣＰＵ６２２は、波源情報を基に、接続位置に対応する電界変数と電圧源とを関連付ける。「接続位置に対応する電界変数と電圧源とを関連付ける」とは、計算部１０２として動作するメモリ６２４が、電圧源がある格子の位置を記憶することを意味する。
【００５０】
ステップＳ８３６にて、計算部１０２として動作するＣＰＵ６２２は、時間の変化幅すなわちタイムステップΔｔを決定する。タイムステップΔｔが決定されると、計算部１０２は、時刻変数ｉを「１」に初期化する。時刻変数ｉは、時刻の経過をΔｔ単位で表わす変数である。本実施の形態では、時刻変数ｉが「１」である時点の解析領域の状態を「初期状態」と称する。
【００５１】
ステップＳ８３６にて、補正部１０６として動作するＣＰＵ６２２は、上限値Ｅmaxの初期値を式（１）によって計算する。上限値Ｅmaxは、解析領域におけるエネルギの総和の上限値である。上限値Ｅmaxの初期値が計算されると、記憶部１０４として動作するメモリ６２４は、エネルギの上限値Ｅmaxを記憶する。
【００５２】
【数１】
2007232487.tif 000003
【００５３】
図６を参照して、電磁界解析装置１００で実行されるプログラムは、エネルギの流入量の算出に関し、以下のような制御を実行する。
【００５４】
ステップＳ８４０にて、計算部１０２として動作するＣＰＵ６２２は、電圧源の周囲における磁界の大きさを基に、電圧源に流れる電流Ｉを計算する。電圧源の周囲における磁界の大きさは、磁界変数の値としてメモリ６２４に記憶されている。
【００５５】
ステップＳ８４２にて、計算部１０２として動作するＣＰＵ６２２は、電圧源の位置において想定すべき電圧値Ｖを式（２）によって算出する。式（２）においては、時刻ｉΔｔにおける電圧源の電圧値をＶ０とし、電源の内部抵抗をＲとする。
【００５６】
【数２】
2007232487.tif 000004
【００５７】
ステップＳ８４４にて、計算部１０２として動作するＣＰＵ６２２は、式（２）によって得られた電圧値Ｖと電圧源の位置での格子間隔Δとにより、電界変数の値Ｅを算出する。計算部１０２として動作するＣＰＵ６２２は、電界変数の値Ｅを算出するために、式（３）を利用する。
【００５８】
【数３】
2007232487.tif 000005
【００５９】
ステップＳ８４６にて、記憶部１０４として動作するメモリ６２４は、計算部１０２として動作するＣＰＵ６２２が算出した電界変数の値Ｅを記憶する。
【００６０】
ステップＳ８４８にて、計算部１０２として動作するＣＰＵ６２２は、電圧源から解析領域内に流入したエネルギＶＩΔｔを補正部１０６に通知する。本実施の形態の場合、計算部１０２から補正部１０６への通知は、ＣＰＵ６２２の内部のバッファがエネルギＶＩΔｔの値を記憶することにより実現される。
【００６１】
ステップＳ８５０にて、補正部１０６として動作するＣＰＵ６２２は、エネルギＶＩΔｔをエネルギの上限値Ｅmaxに加える。
【００６２】
図７を参照して、電磁界解析装置１００で実行されるプログラムは、エネルギの流出量の算出に関し、以下のような制御を実行する。
【００６３】
ステップＳ８６０にて、補正部１０６として動作するＣＰＵ６２２は、ポインティングベクトルＰを計算する。ポインティングベクトルＰは、解析領域と吸収境界層との境界部にある格子の各頂点について計算される。
【００６４】
ステップＳ８６２にて、補正部１０６として動作するＣＰＵ６２２は、流出エネルギＥoutを算出する。本実施の形態の場合、ポインティングベクトルＰが解析領域の内側に向いていると、そのポインティングベクトルの起点における流出エネルギＥoutの値は「０」とみなされる。ポインティングベクトルＰが解析領域の外側に向いていると、そのポインティングベクトルの起点における流出エネルギＥoutの値は式（４）により算出される。
【００６５】
【数４】
2007232487.tif 000006
【００６６】
式（４）において、解析領域境界面の法線とポインティングベクトルのなす角はθと表わされる。解析領域境界面での各点での格子の作る面積はΔＳと表わされる。
【００６７】
ステップＳ８６４にて、補正部１０６として動作するＣＰＵ６２２は、流出エネルギＥoutの総和をエネルギの上限値Ｅmaxから減じる。これにより、ＣＰＵ６２２は、解析領域におけるエネルギの流入量と解析領域の外に向くポインティングベクトルの大きさに対応するエネルギの流出量と一旦メモリ６２４が記憶したエネルギの上限値Ｅmaxとに基づいて、電界変数および磁界変数の内容を更新した後の解析領域におけるエネルギの総和を計算することとなる。エネルギの上限値Ｅmaxが減じられると、ＣＰＵ６２２は、ＣＰＵ６２２が計算した値に記憶部１０４として動作するメモリ６２４が記憶したエネルギの上限値Ｅmaxの値を更新する。
【００６８】
図８を参照して、電磁界解析装置１００で実行されるプログラムは、電界変数などの補正に関し、以下のような制御を実行する。
【００６９】
ステップＳ８７０にて、補正部１０６として動作するＣＰＵ６２２は、式（５）により、電磁界エネルギＥemを計算する。
【００７０】
【数５】
2007232487.tif 000007
【００７１】
ステップＳ８７２にて、補正部１０６として動作するＣＰＵ６２２は、αＥmax≧Ｅemが満たされているか否かを判断する。この時、補正部１０６として動作するＣＰＵ６２２は、物性値データの内容の更新後に補正部１０６として動作するＣＰＵ６２２自身が計算したエネルギの総和Ｅemが閾値αＥmaxを越えるか否かを判断することとなる。αＥmax≧Ｅemが満たされていると判断した場合には（ステップＳ８７２にてＹＥＳ）、処理は終了する。もしそうでないと（ステップＳ８７２にてＮＯ）、処理はステップＳ８７４へと移される。
【００７２】
ステップＳ８７４にて、補正部１０６として動作するＣＰＵ６２２は、物性値データの内容を補正する。補正される物性値データは、解析領域内の電界変数および磁界変数、ならびに吸収境界層内部の変数値を表わす。この物性値データは、メモリ６２４が記憶したデータである。補正部１０６として動作するＣＰＵ６２２は、残さＥem−αＥmaxを解析領域内の電界変数と磁界変数とに配分するように、物性値データの内容を補正する。より具体的に説明すると、補正部１０６として動作するＣＰＵ６２２は、解析領域内の電界変数と磁界変数と吸収境界層内部の変数値とに式（６）で示される値ｋを乗じる。すなわち、補正部１０６として動作するＣＰＵ６２２は、ＣＰＵ６２２自身が計算したエネルギの総和Ｅemに対する閾値αＥmaxの割合の平方根ｋと補正前の物性値データが表わす値との積に、物性値データの内容を補正することとなる。
【００７３】
【数６】
2007232487.tif 000008
【００７４】
電界変数などが補正された後の修正後のＥemの値をＥ'emとすると、式(７)のように残さが配分されていることが分かる。これにより、補正部１０６として動作するＣＰＵ６２２は、αＥmax＜Ｅemである場合、補正後の解析領域におけるエネルギの総和Ｅ'emが閾値αＥmaxと等しくなるように、物性値データの内容を補正することとなる。
【００７５】
【数７】
2007232487.tif 000009
【００７６】
解析領域内の電界変数および磁界変数、ならびに吸収境界層内部の変数値が補正されると、解析領域と吸収境界層との境界部での不連続性が排除される。
【００７７】
なお、変数αは、ユーザが補正部１０６として動作するキーボード６５０に入力し、キーボード６５０が受付けた値である。
【００７８】
図９〜図１４を参照して、電磁界解析装置１００で実行されるプログラムは、値の代入に関し、以下のような制御を実行する。
【００７９】
ステップＳ８８０にて、計算部１０２として動作するＣＰＵ６２２は、変数ｋに「０」を代入する。ステップＳ８８２にて、計算部１０２として動作するＣＰＵ６２２は、変数ｊに「０」を代入する。ステップＳ８８４にて、計算部１０２として動作するＣＰＵ６２２は、変数ｉに「０」を代入する。
【００８０】
ステップＳ８８６にて、計算部１０２として動作するＣＰＵ６２２は、変数epsに変数epsilonx（i,j,k）の値を代入する。併せて、ＣＰＵ６２２は、変数sigに変数sigmax（i,j,k）の値を代入する。
【００８１】
ステップＳ８８８にて、計算部１０２として動作するＣＰＵ６２２は、電界変数の値Ｅx（i,j,k）を算出するための変数である、配列変数cexa（i,j,k）、配列変数cexb（i,j,k）、および配列変数cexc（i,j,k）に、それぞれ次の式によって値を代入する。
【００８２】
cexa（i,j,k）＝（2×eps-sig×Δt）／（2×eps+sig×Δt）
cexb（i,j,k）＝（2×Δt）／{（2×eps+sig×Δt）×Δy}
cexc（i,j,k）＝（2×Δt）／{（2×eps+sig×Δt）×Δz}
ステップＳ８９０にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値が変数（sx-1）の値を超えているか否かを判断する。変数iの値が変数（sx-1）の値を超えていると判断した場合には（ステップＳ８９０にてＹＥＳ）、処理はステップＳ８９２へと移される。もしそうでないと（ステップＳ８９０にてＮＯ）、処理はステップＳ８９４へと移される。
【００８３】
ステップＳ８９２にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値が変数syの値を超えているか否かを判断する。変数jの値が変数syの値を超えていると判断した場合には（ステップＳ８９２にてＹＥＳ）、処理はステップＳ８９６へと移される。もしそうでないと（ステップＳ８９２にてＮＯ）、処理はステップＳ８９８へと移される。
【００８４】
ステップＳ８９４にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値を「１」増加させる。
【００８５】
ステップＳ８９６にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値が変数szの値を超えているか否かを判断する。変数kの値が変数szの値を超えていると判断した場合には（ステップＳ８９６にてＹＥＳ）、処理はステップＳ９００へと移される。もしそうでないと（ステップＳ８９６にてＮＯ）、処理はステップＳ９０２へと移される。
【００８６】
ステップＳ８９８にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値を「１」増加させる。
【００８７】
ステップＳ９００にて、計算部１０２として動作するＣＰＵ６２２は、変数ｋに「０」を代入する。
【００８８】
ステップＳ９０２にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値を「１」増加させる。
【００８９】
ステップＳ９０４にて、計算部１０２として動作するＣＰＵ６２２は、変数ｊに「０」を代入する。ステップＳ９０６にて、計算部１０２として動作するＣＰＵ６２２は、変数ｉに「０」を代入する。
【００９０】
ステップＳ９０８にて、計算部１０２として動作するＣＰＵ６２２は、変数epsに変数epsilony（i,j,k）の値を代入する。併せて、ＣＰＵ６２２は、変数sigに変数sigmay（i,j,k）の値を代入する。
【００９１】
ステップＳ９１０にて、計算部１０２として動作するＣＰＵ６２２は、電界変数の値Ｅｙ（i,j,k）を算出するための変数である、配列変数ceya（i,j,k）、配列変数ceyb（i,j,k）、および配列変数ceyc（i,j,k）に、それぞれ次の式によって値を代入する。
【００９２】
ceya（i,j,k）＝（2×eps-sig×Δt）／（2×eps+sig×Δt）
ceyb（i,j,k）＝（2×Δt）／{（2×eps+sig×Δt）×Δz}
ceyc（i,j,k）＝（2×Δt）／{（2×eps+sig×Δt）×Δx}
ステップＳ９１２にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値が変数sxの値を超えているか否かを判断する。変数iの値が変数sxの値を超えていると判断した場合には（ステップＳ９１２にてＹＥＳ）、処理はステップＳ９１４へと移される。もしそうでないと（ステップＳ９１２にてＮＯ）、処理はステップＳ９１６へと移される。
【００９３】
ステップＳ９１４にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値が変数(sy-1)の値を超えているか否かを判断する。変数jの値が変数(sy-1)の値を超えていると判断した場合には（ステップＳ９１４にてＹＥＳ）、処理はステップＳ９１８へと移される。もしそうでないと（ステップＳ９１４にてＮＯ）、処理はステップＳ９２０へと移される。
【００９４】
ステップＳ９１６にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値を「１」増加させる。
【００９５】
ステップＳ９１８にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値が変数szの値を超えているか否かを判断する。変数kの値が変数szの値を超えていると判断した場合には（ステップＳ９１８にてＹＥＳ）、処理はステップＳ９２２へと移される。もしそうでないと（ステップＳ９１８にてＮＯ）、処理はステップＳ９２４へと移される。
【００９６】
ステップＳ９２０にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値を「１」増加させる。
【００９７】
ステップＳ９２２にて、計算部１０２として動作するＣＰＵ６２２は、変数ｋに「０」を代入する。
【００９８】
ステップＳ９２４にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値を「１」増加させる。
【００９９】
ステップＳ９２６にて、計算部１０２として動作するＣＰＵ６２２は、変数ｊに「０」を代入する。ステップＳ９２８にて、計算部１０２として動作するＣＰＵ６２２は、変数ｉに「０」を代入する。
【０１００】
ステップＳ９３０にて、計算部１０２として動作するＣＰＵ６２２は、変数epsに変数epsilonz（i,j,k）の値を代入する。併せて、ＣＰＵ６２２は、変数sigに変数sigmaz（i,j,k）の値を代入する。
【０１０１】
ステップＳ９３２にて、計算部１０２として動作するＣＰＵ６２２は、電界変数の値Ｅｚ（i,j,k）を算出するための変数である、配列変数ceza（i,j,k）、配列変数cezb（i,j,k）、および配列変数cezc（i,j,k）に、それぞれ次の式によって値を代入する。
【０１０２】
ceza（i,j,k）＝（2×eps-sig×Δt）／（2×eps+sig×Δt）
cezb（i,j,k）＝（2×Δt）／{（2×eps+sig×Δt）×Δx}
cezc（i,j,k）＝（2×Δt）／{（2×eps+sig×Δt）×Δy}
ステップＳ９３４にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値が変数sxの値を超えているか否かを判断する。変数iの値が変数sxの値を超えていると判断した場合には（ステップＳ９３４にてＹＥＳ）、処理はステップＳ９３６へと移される。もしそうでないと（ステップＳ９３４にてＮＯ）、処理はステップＳ９３８へと移される。
【０１０３】
ステップＳ９３６にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値が変数syの値を超えているか否かを判断する。変数jの値が変数syの値を超えていると判断した場合には（ステップＳ９３６にてＹＥＳ）、処理はステップＳ９４０へと移される。もしそうでないと（ステップＳ９３６にてＮＯ）、処理はステップＳ９４２へと移される。
【０１０４】
ステップＳ９３８にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値を「１」増加させる。
【０１０５】
ステップＳ９４０にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値が変数(sz-1)の値を超えているか否かを判断する。変数kの値が変数(sz-1)の値を超えていると判断した場合には（ステップＳ９４０にてＹＥＳ）、処理はステップＳ９４４へと移される。もしそうでないと（ステップＳ９４０にてＮＯ）、処理はステップＳ９４６へと移される。
【０１０６】
ステップＳ９４２にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値を「１」増加させる。
【０１０７】
ステップＳ９４４にて、計算部１０２として動作するＣＰＵ６２２は、変数ｋに「０」を代入する。
【０１０８】
ステップＳ９４６にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値を「１」増加させる。
【０１０９】
ステップＳ９４８にて、計算部１０２として動作するＣＰＵ６２２は、変数ｊに「０」を代入する。ステップＳ９５０にて、計算部１０２として動作するＣＰＵ６２２は、変数ｉに「０」を代入する。
【０１１０】
ステップＳ９５２にて、計算部１０２として動作するＣＰＵ６２２は、変数muに変数mux（i,j,k）の値を代入する。
【０１１１】
ステップＳ９５４にて、計算部１０２として動作するＣＰＵ６２２は、Ｅx（i,j,k）に基づいてＨy（i,j,k）およびＨz（i,j,k）を算出するための変数である配列変数chxa（i,j,k）および配列変数chxb（i,j,k）に、それぞれ次の式によって値を代入する。
【０１１２】
chxa（i,j,k）＝Δt／（mu×Δx）
chxb（i,j,k）＝Δt／（mu×Δy）
ステップＳ９５６にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値が変数sxの値を超えているか否かを判断する。変数iの値が変数sxの値を超えていると判断した場合には（ステップＳ９５６にてＹＥＳ）、処理はステップＳ９５８へと移される。もしそうでないと（ステップＳ９５６にてＮＯ）、処理はステップＳ９６０へと移される。
【０１１３】
ステップＳ９５８にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値が変数(sy-1)の値を超えているか否かを判断する。変数jの値が変数(sy-1)の値を超えていると判断した場合には（ステップＳ９５８にてＹＥＳ）、処理はステップＳ９６２へと移される。もしそうでないと（ステップＳ９５８にてＮＯ）、処理はステップＳ９６４へと移される。
【０１１４】
ステップＳ９６０にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値を「１」増加させる。
【０１１５】
ステップＳ９６２にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値が変数(sz-1)の値を超えているか否かを判断する。変数kの値が変数(sz-1)の値を超えていると判断した場合には（ステップＳ９６２にてＹＥＳ）、処理はステップＳ９６６へと移される。もしそうでないと（ステップＳ９６２にてＮＯ）、処理はステップＳ９６８へと移される。
【０１１６】
ステップＳ９６４にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値を「１」増加させる。
【０１１７】
ステップＳ９６６にて、計算部１０２として動作するＣＰＵ６２２は、変数ｋに「０」を代入する。
【０１１８】
ステップＳ９６８にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値を「１」増加させる。
【０１１９】
ステップＳ９７０にて、計算部１０２として動作するＣＰＵ６２２は、変数ｊに「０」を代入する。ステップＳ９７２にて、計算部１０２として動作するＣＰＵ６２２は、変数ｉに「０」を代入する。
【０１２０】
ステップＳ９７４にて、計算部１０２として動作するＣＰＵ６２２は、変数muに変数muy（i,j,k）の値を代入する。
【０１２１】
ステップＳ９７６にて、計算部１０２として動作するＣＰＵ６２２は、Ｅy（i,j,k）に基づいてＨz（i,j,k）およびＨx（i,j,k）を算出するための変数である配列変数chya（i,j,k）および配列変数chyb（i,j,k）に、それぞれ次の式によって値を代入する。
【０１２２】
chya（i,j,k）＝Δt／（mu×Δz）
chyb（i,j,k）＝Δt／（mu×Δx）
ステップＳ９７８にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値が変数(sx-1)の値を超えているか否かを判断する。変数iの値が変数(sx-1)の値を超えていると判断した場合には（ステップＳ９７８にてＹＥＳ）、処理はステップＳ９８０へと移される。もしそうでないと（ステップＳ９７８にてＮＯ）、処理はステップＳ９８２へと移される。
【０１２３】
ステップＳ９８０にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値が変数syの値を超えているか否かを判断する。変数jの値が変数syの値を超えていると判断した場合には（ステップＳ９８０にてＹＥＳ）、処理はステップＳ９８４へと移される。もしそうでないと（ステップＳ９８０にてＮＯ）、処理はステップＳ９８６へと移される。
【０１２４】
ステップＳ９８２にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値を「１」増加させる。
【０１２５】
ステップＳ９８４にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値が変数(sz-1)の値を超えているか否かを判断する。変数kの値が変数(sz-1)の値を超えていると判断した場合には（ステップＳ９８４にてＹＥＳ）、処理はステップＳ９８８へと移される。もしそうでないと（ステップＳ９８４にてＮＯ）、処理はステップＳ９９０へと移される。
【０１２６】
ステップＳ９８６にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値を「１」増加させる。
【０１２７】
ステップＳ９８８にて、計算部１０２として動作するＣＰＵ６２２は、変数ｋに「０」を代入する。
【０１２８】
ステップＳ９９０にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値を「１」増加させる。
【０１２９】
ステップＳ９９２にて、計算部１０２として動作するＣＰＵ６２２は、変数ｊに「０」を代入する。ステップＳ９９４にて、計算部１０２として動作するＣＰＵ６２２は、変数ｉに「０」を代入する。
【０１３０】
ステップＳ９９６にて、計算部１０２として動作するＣＰＵ６２２は、変数muに変数muz（i,j,k）の値を代入する。
【０１３１】
ステップＳ９９８にて、計算部１０２として動作するＣＰＵ６２２は、Ｅz（i,j,k）に基づいてＨx（i,j,k）およびＨy（i,j,k）を算出するための変数である配列変数chza（i,j,k）および配列変数chzb（i,j,k）に、それぞれ次の式によって値を代入する。
【０１３２】
chza（i,j,k）＝Δt／（mu×Δy）
chzb（i,j,k）＝Δt／（mu×Δz）
ステップＳ１０００にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値が変数(sx-1)の値を超えているか否かを判断する。変数iの値が変数(sx-1)の値を超えていると判断した場合には（ステップＳ１０００にてＹＥＳ）、処理はステップＳ１００２へと移される。もしそうでないと（ステップＳ１０００にてＮＯ）、処理はステップＳ１００４へと移される。
【０１３３】
ステップＳ１００２にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値が変数(sy-1)の値を超えているか否かを判断する。変数jの値が変数(sy-1)の値を超えていると判断した場合には（ステップＳ１００２にてＹＥＳ）、処理はステップＳ１００６へと移される。もしそうでないと（ステップＳ１００２にてＮＯ）、処理はステップＳ１００８へと移される。
【０１３４】
ステップＳ１００４にて、計算部１０２として動作するＣＰＵ６２２は、変数iの値を「１」増加させる。
【０１３５】
ステップＳ１００６にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値が変数szの値を超えているか否かを判断する。変数kの値が変数szの値を超えていると判断した場合には（ステップＳ１００６にてＹＥＳ）、処理は終了する。もしそうでないと（ステップＳ１００６にてＮＯ）、処理はステップＳ１０１０へと移される。
【０１３６】
ステップＳ１００８にて、計算部１０２として動作するＣＰＵ６２２は、変数jの値を「１」増加させる。
【０１３７】
ステップＳ１０１０にて、計算部１０２として動作するＣＰＵ６２２は、変数kの値を「１」増加させる。
【０１３８】
以上のような構造およびフローチャートに基づく、電磁界解析装置１００の動作について説明する。
【０１３９】
計算部１０２として動作するＦＤ駆動装置６３０は、解析条件を表わす情報をＦＤ６３２から読取る。解析条件を表わす情報が読取られると、計算部１０２または補正部１０６として動作するＣＰＵ６２２は、読取られた解析条件をもとに初期化処理を行なう（ステップＳ８００）。
【０１４０】
初期化処理が行なわれると、計算部１０２として動作するＣＰＵ６２２は、電界変数の値を計算する。電界変数の値が計算されると、計算部１０２として動作するＣＰＵ６２２は、記憶部１０４に記憶された電界変数の値を自らが計算した値に更新する（ステップＳ８０２）。
【０１４１】
電界変数の値が更新されると、計算部１０２として動作するＣＰＵ６２２などはすべての電圧源について、解析領域内に流入したエネルギを算出する（ステップＳ８０４）。
【０１４２】
エネルギが算出されると、計算部１０２として動作するＣＰＵ６２２は、磁界変数の値を算出する（ステップＳ８０６）。磁界変数の値が算出されると、補正部１０６として動作するＣＰＵ６２２は、解析領域と吸収境界層との境界部から吸収境界層へ流出するエネルギを計算する（ステップＳ８０８）。
【０１４３】
エネルギが算出されると、計算部１０２として動作するＣＰＵ６２２は、時刻変数ｉが変数Ｎの倍数か否かを判断する（ステップＳ８１０）。この場合、時刻変数ｉが変数Ｎの倍数とすると（ステップＳ８１０にてＹＥＳ）、補正部１０６として動作するＣＰＵ６２２は、必要に応じて電界変数などを補正する（ステップＳ８１２）。
【０１４４】
電界変数などが補正されると、計算部１０２として動作するディスプレイ６１０は、メモリ６２４が記憶した、電界変数の値と磁界変数の値とを出力する（ステップＳ８１４）。
【０１４５】
値が出力されると、計算部１０２として動作するＣＰＵ６２２は、時刻変数ｉに「１」を加える（ステップＳ８１６）。
【０１４６】
計算部１０２として動作するＣＰＵ６２２は、解析を終了する条件に基づき、解析を終了するか否かを判断する（ステップＳ８１８）。この場合、解析を終了しないとすると（ステップＳ８１８にてＮＯ）、ステップＳ８０２〜ステップＳ８１８の処理が繰返される。
【０１４７】
以上のようにして、本実施の形態に係る電磁界解析装置は、エネルギ保存則に則って電界変数と磁界変数との値を補正するので、誤差の蓄積による解析結果の発散を防止できる。その結果、ＦＤＴＤ法などの数値解析法により長時間に亘り物性値の挙動を求めることができる。
【０１４８】
なお、本実施の形態の第１の変形例にかかる電磁界解析装置は、電流源などの別の波源を用いてもよい。電圧源以外の波源が用いられた場合、本実施の形態の変形例にかかる電磁界解析装置は、解析領域に流入したエネルギを算出し、それをエネルギの上限値Ｅmaxに加えることとなる。
【０１４９】
また、本実施の形態の第２の変形例にかかる電磁界解析装置は、物性値データに代え、各格子の物性を表わす値の情報を受付けてもよい。この場合、電磁界解析装置は、各格子の物性を表わす値から、補間によって物性値データの内容を決定することとなる。
【０１５０】
また、本実施の形態の第３の変形例にかかる電磁界解析装置は、ステップＳ８８８にて、配列変数cexa（i,j,k）、配列変数cexb（i,j,k）、および配列変数cexc（i,j,k）に値を代入することに代えて、次の手順の処理を行ってもよい。その第１の手順は、配列変数cexa（i,j,k）、配列変数cexb（i,j,k）、および配列変数cexc（i,j,k）に代入すべき値を算出する手順である。第２の手順は、第１の手順で算出した値のグループに対応付けられた番号を配列変数cexi（i,j,k）に代入する手順である。配列変数cexi（i,j,k）は、予め宣言されている。第１の手順で算出した値と同じ組合せのグループが既にメモリ６２４に記憶されている場合、この手順において代入される値は、そのグループに対応付けてメモリ６２４に記憶されている値である。第１の手順で算出した値と同じ組合せのグループがメモリ６２４に記憶されていない場合、この手順において代入される値は、第１の手順で算出した値を１つのグループとし、そのグループをメモリ６２４に記憶させる際、そのグループに対応付けてメモリ６２４に記憶される値である。第１の手順で算出した値と同じ組合せのグループがメモリ６２４に記憶されていない場合、そのグループは、第１の手順の直後にメモリ６２４に記憶される。この手順において代入される値は、メモリ６２４に記憶される値のグループと１対１で対応する。これらの手順を実施する場合、ステップＳ８０２にて、電界変数の値を算出するに先立ち、配列変数cexi（i,j,k）の値に基づき、ＣＰＵ６２２は、配列変数cexa（i,j,k）、配列変数cexb（i,j,k）、および配列変数cexc（i,j,k）に相当する値をメモリ６２４から読出すこととなる。これにより、メモリ６２４に記憶される情報量を少なくすることができる。この効果は、次の２つの場合にメモリ６２４に記憶されるデータの量を比較すれば明らかである。その第１の場合とは、配列変数cexa（i,j,1）の値を「0.00000000001」、配列変数cexb（i,j,1）の値を「0.00000000002」、配列変数cexc（i,j,1）の値を「0.00000000003」、配列変数cexa（i,j,2）の値を「0.00000000001」、配列変数cexb（i,j,2）の値を「0.00000000002」、配列変数cexc（i,j,2）の値を「0.00000000003」とし、かつこれらの値をメモリ６２４に記憶させた場合である。その第２の場合とは、cexi（i,j,1）の値を「１」、cexi（i,j,2）の値を「１」とし、「0.00000000001」、「0.00000000002」、および「0.00000000003」という値を「１」という値に対応付けて記憶した場合である。
【０１５１】
また、本実施の形態の第４の変形例にかかる電磁界解析装置は、ステップＳ９１０にて、配列変数ceya（i,j,k）、配列変数ceyb（i,j,k）、および配列変数ceyc（i,j,k）に値を代入することに代えて、次の手順の処理を行ってもよい。その第１の手順は、配列変数ceya（i,j,k）、配列変数ceyb（i,j,k）、および配列変数ceyc（i,j,k）に代入すべき値を算出する手順である。第２の手順は、第１の手順で算出した値のグループに対応付けられた番号を配列変数ceyi（i,j,k）に代入する手順である。配列変数ceyi（i,j,k）は、予め宣言されている。第１の手順で算出した値と同じ組合せのグループが既にメモリ６２４に記憶されている場合、この手順において代入される値は、そのグループに対応付けてメモリ６２４に記憶されている値である。第１の手順で算出した値と同じ組合せのグループがメモリ６２４に記憶されていない場合、この手順において代入される値は、第１の手順で算出した値を１つのグループとし、そのグループをメモリ６２４に記憶させる際、そのグループに対応付けてメモリ６２４に記憶される値である。第１の手順で算出した値と同じ組合せのグループがメモリ６２４に記憶されていない場合、そのグループは、第１の手順の直後にメモリ６２４に記憶される。この手順において代入される値は、メモリ６２４に記憶される値のグループと１対１で対応する。これらの手順を実施する場合、ステップＳ８０６にて、磁界変数の値を算出するに先立ち、配列変数ceyi（i,j,k）の値に基づき、ＣＰＵ６２２は、配列変数ceya（i,j,k）、配列変数ceyb（i,j,k）、および配列変数ceyc（i,j,k）に相当する値をメモリ６２４から読出すこととなる。これにより、上述した第３の変形例の場合と同様に、メモリ６２４に記憶される情報量を少なくすることができる。
【０１５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１５３】
【図１】本発明の実施の形態における電磁界解析装置の構成図である。
【図２】本発明の実施の形態における電磁界解析装置を実現するコンピュータハードウェアのブロック図である。
【図３】本発明の実施の形態における電界および磁界の解析処理の制御の手順を表わすフローチャートである。
【図４】本発明の実施の形態における初期化処理の制御の手順を表わすフローチャートである。
【図５】本発明の実施の形態における配列変数の添字の最大値を表わす図である。
【図６】本発明の実施の形態におけるエネルギの流入量の算出処理の制御の手順を表わすフローチャートである。
【図７】本発明の実施の形態におけるエネルギの流出量の算出処理の制御の手順を表わすフローチャートである。
【図８】本発明の実施の形態における電界変数などの補正処理の制御の手順を表わすフローチャートである。
【図９】本発明の実施の形態における値の代入処理の制御の手順を表わす第１のフローチャートである。
【図１０】本発明の実施の形態における値の代入処理の制御の手順を表わす第２のフローチャートである。
【図１１】本発明の実施の形態における値の代入処理の制御の手順を表わす第３のフローチャートである。
【図１２】本発明の実施の形態における値の代入処理の制御の手順を表わす第４のフローチャートである。
【図１３】本発明の実施の形態における値の代入処理の制御の手順を表わす第５のフローチャートである。
【図１４】本発明の実施の形態における値の代入処理の制御の手順を表わす第６のフローチャートである。
【図１５】構造体の含まれる領域と緩衝領域と吸収境界層との配置の関係を表わす図である。
【符号の説明】
【０１５４】
１００  電磁界解析装置、１０２  計算部、１０４  記憶部、１０６  補正部、６１０  ディスプレイ、６２２  ＣＰＵ、６２４  メモリ、６２６  固定ディスク、６３０  ＦＤ駆動装置、６３２  ＦＤ、６４０  ＣＤ−ＲＯＭ駆動装置、６４２  ＣＤ−ＲＯＭ、６５０  キーボード。
【図１】
2007232487.tif 000010
【図２】
2007232487.tif 000011
【図３】
2007232487.tif 000012
【図４】
2007232487.tif 000013
【図５】
2007232487.tif 000014
【図６】
2007232487.tif 000015
【図７】
2007232487.tif 000016
【図８】
2007232487.tif 000017
【図９】
2007232487.tif 000018
【図１０】
2007232487.tif 000019
【図１１】
2007232487.tif 000020
【図１２】
2007232487.tif 000021
【図１３】
2007232487.tif 000022
【図１４】
2007232487.tif 000023
【図１５】
2007232487.tif 000024