(57)【特許請求の範囲】
【請求項１】
コンピュータに、
第１の面を有する第１の要素および第２の面を有する第２の要素を含み、前記第２の面は前記第１の面と重なる重畳領域および前記第１の面と重ならない非重畳領域を含むモデルについて、前記第１の面の位置を示す位置情報と前記第１の面に対する第１の磁界情報とに基づいて、前記重畳領域に対する第２の磁界情報を算出し、
前記第２の磁界情報と、前記重畳領域と前記非重畳領域との位置関係とに基づいて、前記非重畳領域に対する第３の磁界情報を算出する、
処理を実行させる磁界シミュレータプログラム。
【請求項２】
前記第２の磁界情報は、前記重畳領域と前記非重畳領域との境界に対応する第１のベクトル情報を含み、前記第３の磁界情報は、前記非重畳領域が有する複数の辺に対応する複数の第２のベクトル情報を含み、
前記第３の磁界情報の算出では、前記境界と前記複数の辺それぞれとの位置関係に応じて、前記第１のベクトル情報が示す値を前記複数の辺に分配する、
請求項１記載の磁界シミュレータプログラム。
【請求項３】
前記第１のベクトル情報が示す値の分配は、前記境界を示す第１の方向ベクトルと前記複数の辺を示す複数の第２の方向ベクトルそれぞれとの内積の大きさに応じて行う、
請求項２記載の磁界シミュレータプログラム。
【請求項４】
前記第２の磁界情報は、前記重畳領域が有する複数の他の辺に対応する複数の第３のベクトル情報を更に含み、
前記第２の磁界情報に含まれる前記複数の第３のベクトル情報と前記第３の磁界情報に含まれる前記複数の第２のベクトル情報とを合成する処理を更に実行させる、
請求項２または３記載の磁界シミュレータプログラム。
【請求項５】
第１の面を有する第１の要素および第２の面を有する第２の要素を含み、前記第２の面は前記第１の面と重なる重畳領域および前記第１の面と重ならない非重畳領域を含むモデルについて、前記第１の面の位置を示す位置情報と前記第１の面に対する第１の磁界情報とを記憶する記憶部と、
前記位置情報および前記第１の磁界情報に基づいて、前記重畳領域に対する第２の磁界情報を算出し、前記第２の磁界情報と、前記重畳領域と前記非重畳領域との位置関係とに基づいて、前記非重畳領域に対する第３の磁界情報を算出する演算部と、
を有する磁界シミュレータ装置。
【請求項６】
コンピュータが実行する磁界シミュレーション方法であって、
第１の面を有する第１の要素および第２の面を有する第２の要素を含み、前記第２の面は前記第１の面と重なる重畳領域および前記第１の面と重ならない非重畳領域を含むモデルについて、前記第１の面の位置を示す位置情報と前記第１の面に対する第１の磁界情報とに基づいて、前記重畳領域に対する第２の磁界情報を算出し、
前記第２の磁界情報と、前記重畳領域と前記非重畳領域との位置関係とに基づいて、前記非重畳領域に対する第３の磁界情報を算出する、
磁界シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁界シミュレータプログラム、磁界シミュレータ装置および磁界シミュレーション方法に関する。
【背景技術】
【０００２】
コンピュータの演算能力の向上に伴い、様々な物理現象に対してコンピュータを利用した数値解析が行われるようになっている。数値解析法の１つとして、有限要素法が挙げられる。有限要素法を用いることで、解析的に解くことが難しい微分方程式の近似解を数値的に求めることができる。有限要素法では、二次元または三次元の空間を「要素」と呼ばれる小領域に分割する。そして、要素毎に元の方程式を一次関数などの比較的単純な「補間関数」で近似することで、元の方程式の近似解を求める。コンピュータは、例えば、疎な係数行列を用いて大規模連立一次方程式を解くことで、当該近似解を求める。
【０００３】
有限要素法には、解くべき未知数を示す変数を要素の頂点である「節点」に対して対応付ける節点要素有限要素法と、変数を要素の辺に対して対応付ける辺要素有限要素法とがある。磁場解析においては、辺要素有限要素法は、磁束が保存される、ループの線積分がゼロになるなどの性質が得られるため、節点要素有限要素法よりも高い精度で数値解析を行いやすいという特徴をもつ。このため、磁場解析のシミュレーションにおいては、数値解析法として辺要素有限要素法が用いられることがある。
【０００４】
辺要素有限要素法に関して、モデル上で複数の物体の一部（例えば、コイルと鉄心のうちのコイル）を移動させながら、それら物体が配置された空間における物理量の変化を解析する偏微分方程式解析方法が提案されている。この偏微分方程式解析方法では、物体毎に独立に、その物体が占める領域およびその周辺の領域を複数の要素に分割する。このとき、鉄心とコイルとで要素の形状を変えるなど、物体に応じて異なる形状の要素を用いることを許容する。また、ある物体についての要素と他の物体についての要素とが空間上で重なることを許容する。これにより、モデルの入力が容易となる。
【０００５】
上記のモデル上で一部の物体を移動させると、複数の物体の間の位置関係を判定し、重なっている要素を検出する。重なっている２つの要素は辺を共有するとは限らない。そこで、重なっている要素については、一方の要素の内部のベクトルを他方の要素の境界辺に「内挿」することで、２つの要素をデータ的に結合する。「内挿」では、一方の要素のベクトルと他方の要素の境界辺を示す方向ベクトルとの内積をとり、境界辺に沿った成分を算出する。そして、上記のようにして結合した複数の物体の要素全体について、連立方程式の係数の集合を示す係数行列を生成し、連立方程式を解く。
【０００６】
なお、有限差分時間領域（ＦＤＴＤ：Finite Difference Time Domain）法を用いて電磁界解析を行うシミュレーション装置が提案されている。また、辺要素有限要素法を含む複数の種類の解析方法を用いて、電磁場問題と温度場問題と流体場問題とを同時に解くことができる電磁熱流体解析装置が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−４４４７３号公報
【特許文献２】特開２００４−４０５４号公報
【特許文献３】特開２０１２−７４０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
辺要素有限要素法を用いた磁場解析においては、回転するモータのように、互いの位置関係が変化する複数の部位を含む物体を解析する場合がある。この場合、位置関係が変化する前に作成した要素の集合は、位置関係が変化した後の解析でも使用できることが好ましい。一方で、複数の部位が接する境界面では、位置関係が変化すると、隣接する一方の部位の要素と他方の部位の要素とが辺を共有しなくなり不連続になるおそれがある。各辺に対して未知数を示す変数を独立に定義すると、そのままでは辺を共有しない隣接する要素の間の磁束の流れを適切に表現することができないという問題がある。
【０００９】
これに対して、上記の特許文献１に記載された方法のように、境界面においては一方の要素の辺と他方の要素の辺とに対して独立の変数を定義せず、一方の要素の辺に対応する未知数を他方の要素の変数を用いて表現する方法が考えられる。しかし、特許文献１に記載された方法は、ある要素の辺に対応する未知数を表現するにあたり、その辺全体が１または２以上の他の要素の面と接していることを前提としている。位置関係の変化によって、ある要素の一部分が他の何れの要素とも接しなくなった場合、特許文献１に記載された方法では磁束の流れを適切に表現することが難しい。
【００１０】
１つの側面では、本発明は、位置関係が変化する複数の部位を含む物体についての磁界のシミュレーションを容易にする磁界シミュレータプログラム、磁界シミュレータ装置および磁界シミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
１つの態様では、コンピュータに以下の処理を実行させる磁界シミュレータプログラムが提供される。第１の面を有する第１の要素および第２の面を有する第２の要素を含み、第２の面は第１の面と重なる重畳領域および第１の面と重ならない非重畳領域を含むモデルについて、第１の面の位置を示す位置情報と第１の面に対する第１の磁界情報とに基づいて、重畳領域に対する第２の磁界情報を算出する。第２の磁界情報と、重畳領域と非重畳領域との位置関係とに基づいて、非重畳領域に対する第３の磁界情報を算出する。
【００１２】
また、１つの態様では、記憶部と演算部とを有する磁界シミュレータ装置が提供される。また、１つの態様では、コンピュータが実行する磁界シミュレーション方法が提供される。
【発明の効果】
【００１３】
１つの側面では、位置関係が変化する複数の部位を含む物体についての磁界のシミュレーションが容易になる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の磁界シミュレータ装置を示す図である。
【図２】磁界シミュレータ装置のハードウェア例を示すブロック図である。
【図３】辺要素有限要素法における未知数の例を示す図である。
【図４】モータのモデル例を示す図である。
【図５】回転したモータのモデル例を示す図である。
【図６】マスタ側要素とスレーブ側要素の例を示す図である。
【図７】マスタ面の形状とスレーブ面の形状の組み合わせ例を示す図である。
【図８】マスタ面とスレーブ面の第１の重なり例を示す図である。
【図９】マスタ面とスレーブ面の第２の重なり例を示す図である。
【図１０】マスタ面とスレーブ面の第３の重なり例を示す図である。
【図１１】磁界シミュレータ装置の機能例を示すブロック図である。
【図１２】幾何データの構造例を示す図である。
【図１３】重みデータの構造例を示す図である。
【図１４】変数結合の手順例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の磁界シミュレータ装置を示す図である。
【００１６】
第１の実施の形態の磁界シミュレータ装置１０は、辺要素有限要素法を用いて磁場解析を行う。例えば、磁界シミュレータ装置１０は、物体におけるベクトルポテンシャルの分布をシミュレートする。辺要素有限要素法を用いることで、解析的に求めることが難しい磁場に関する物理量について、その近似値を精度よく求めることができる。
【００１７】
磁界シミュレータ装置１０は、解析する物体の形状を示すモデル１３を使用する。モデル１３は、好ましくは、三次元モデルである。磁界シミュレータ装置１０は、モデル１３を「要素」と呼ばれる複数の小領域に分割する。モデル１３が三次元モデルである場合、例えば、各要素は三角形の面をもつ四面体または四角形の面をもつ六面体である。辺要素有限要素法では、辺に対して、解くべき未知数を示す変数が定義される。磁界シミュレータ装置１０は、要素毎に元の方程式を一次関数などの比較的単純な「補間関数」で近似する。そして、磁界シミュレータ装置１０は、未知数を解くことで、ベクトルポテンシャルなどの磁場に関する物理量を算出する。未知数を解くため、例えば、磁界シミュレータ装置１０は、疎な係数行列を生成して大規模連立一次方程式を解く。
【００１８】
第１の実施の形態では、解析する物体は、位置関係が変化する複数の部位を含むものとする。モデル１３が示す物体の一例として、固定子と固定子に対して回転する回転子とを含むモータが挙げられる。磁界シミュレータ装置１０は、時間の経過に応じた物理量の変化をシミュレートする。このとき、磁界シミュレータ装置１０は、ある時点における物理量の解析に用いたモデル１３を、要素を再分割せずに、別の時点における物理量の解析に使用できることが好ましい。しかし、複数の部位の間の位置関係が変化すると、その境界では、元は幾つかの辺を共有していた隣接する要素が辺を共有しなくなり、不連続となるおそれがある。一方、辺要素有限要素法では、原則として、各辺に対して独立の変数が定義される。このため、隣接する要素が辺を共有しないと、その要素の間の磁束の流れがモデル１３上で適切に表現されず、解析結果の精度が低下するおそれがある。
【００１９】
そこで、磁界シミュレータ装置１０は、位置関係の変化によって不連続となった隣接する要素の間で、未知数が関連付けられるようにする。モデル１３は、面１３ａ（第１の面）を有する第１の要素と、面１３ｂ（第２の面）を有する第２の要素とを含む。面１３ａ，１３ｂは、位置関係が変化した複数の部位の間の境界に位置する。面１３ａと面１３ｂは、辺を共有せず不連続である。面１３ａ，１３ｂはそれぞれ、三角形や四角形などの任意の二次元形状を有していてよい。面１３ｂは、面１３ａと重なる重畳領域１３ｃと、面１３ａなどの何れの要素の面とも重ならない非重畳領域１３ｄとを含む。面１３ｂは、更に別の要素の面と重なる他の重畳領域を含んでもよい。すなわち、面１３ｂは、その一部分のみ１または２以上の他の要素の面と重なっている。
【００２０】
以下、面１３ａ，１３ｂの間で未知数を関連付ける方法について説明する。
磁界シミュレータ装置１０は、記憶部１１および演算部１２を有する。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性の記憶装置でもよい。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサでもよく、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。なお、プロセッサは、ＲＡＭなどのメモリに記憶された磁界シミュレータプログラムを実行する。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と言うこともある。
【００２１】
記憶部１１は、モデル１３についての各種の情報を記憶する。特に、記憶部１１は、位置情報１４ａおよび磁界情報１４ｂ（第１の磁界情報）を記憶する。位置情報１４ａは、少なくとも面１３ａの位置についての情報（例えば、面１３ａが有する頂点の位置、面１３ａが有する辺の位置、または、面１３ａの重心の位置などを示す情報）を含む。位置情報１４ａは、面１３ｂの位置についての情報を含んでもよい。磁界情報１４ｂは、面１３ａに対する磁場に関する情報を含む。磁界情報１４ｂは、例えば、面１３ａが有する辺それぞれに対して定義された変数を含む。例えば、各辺のベクトルポテンシャルが当該辺に沿った方向ベクトルとその大きさを示す係数との積として与えられる場合、当該係数が解くべき未知数であり当該係数に対応する変数が定義されることになる。
【００２２】
演算部１２は、記憶部１１に記憶された位置情報１４ａおよび磁界情報１４ｂに基づいて、重畳領域１３ｃに対する磁界情報１４ｃ（第２の磁界情報）を算出する。磁界情報１４ｃは、例えば、重畳領域１３ｃを囲む線分であって非重畳領域１３ｄとの間の境界線を除く線分、すなわち、面１３ｂが有する辺の一部分について、当該線分における物理量を示す未知数の式を含む。この未知数の式は、例えば、面１３ａの辺に対して定義された変数を用いて表された式であり、当該変数を線形結合した線形式である。この場合、重畳領域１３ｃを囲む線分（重畳領域１３ｃと非重畳領域１３ｄとの間の境界線を除く）に対応する未知数は、面１３ａの辺に対応する未知数に従属することになる。
【００２３】
また、磁界情報１４ｃは、例えば、重畳領域１３ｃと非重畳領域１３ｄとの間の境界線について、当該境界線における物理量を示す未知数の式を含む。この未知数の式は、例えば、重畳領域１３ｃを囲む線分の場合と同様に、面１３ａの辺に対して定義された変数を用いて表された式であり、当該変数を線形結合した線形式である。
【００２４】
そして、演算部１２は、磁界情報１４ｃと、重畳領域１３ｃと非重畳領域１３ｄの位置関係に基づいて、非重畳領域１３ｄに対する磁界情報１４ｄ（第３の磁界情報）を算出する。磁界情報１４ｄは、例えば、非重畳領域１３ｄを囲む線分であって重畳領域１３ｃとの間の境界線を除く線分、すなわち、面１３ｂが有する辺の一部分について、当該線分における物理量を示す未知数の式を含む。この未知数の式は、例えば、面１３ａの辺に対して定義された変数を用いて表された式であり、当該変数を線形結合した線形式である。この場合、非重畳領域１３ｄを囲む線分（重畳領域１３ｃと非重畳領域１３ｄとの間の境界線を除く）に対応する未知数は、面１３ａの辺に対応する未知数に従属することになる。
【００２５】
例えば、演算部１２は、重畳領域１３ｃと非重畳領域１３ｄとの間の境界線から、非重畳領域１３ｄを囲む線分（境界線を除く）への「寄与」を算出する。すなわち、演算部１２は、磁界情報１４ｃが示す境界線における物理量を、非重畳領域１３ｄを囲む線分（境界線を除く）に対して分配することで、非重畳領域１３ｄを囲む線分の物理量を推定する。「寄与」は、境界線を示す方向ベクトルと各線分を示す方向ベクトルとの内積に応じて決定してもよい。例えば、演算部１２は、境界線における物理量を、内積に比例するように複数の線分に分配する。この場合、境界線と直交する線分に対する「寄与」はゼロになり、境界線と対向する辺に対して大きい「寄与」が与えられることになる。
【００２６】
上記の例によれば、重畳領域１３ｃを囲む線分と非重畳領域１３ｄを囲む線分それぞれについて、その未知数が、面１３ａの辺に対して定義された変数を用いて表現される。この場合、演算部１２は、磁界情報１４ｃ，１４ｄが示す未知数の式を合成することで、面１３ｂの全ての辺の未知数を、面１３ａの辺の変数を用いて表現することができる。すなわち、面１３ｂの一部が何れの要素の面とも重なっていなくても、面１３ｂが有する全ての辺の未知数が、面１３ａが有する辺の未知数と関連付けられる。
【００２７】
第１の実施の形態の磁界シミュレータ装置１０によれば、位置情報１４ａと面１３ａに対する磁界情報１４ｂとに基づいて、重畳領域１３ｃに対する磁界情報１４ｃが算出される。そして、磁界情報１４ｃと重畳領域１３ｃ・非重畳領域１３ｄの間の位置関係とに基づいて、非重畳領域１３ｄに対する磁界情報１４ｄが算出される。これにより、モデル１３上で複数の部位の位置関係が変化して境界面上に非重畳領域１３ｄが生じても、磁界情報１４ｃに加えて磁界情報１４ｄも算出できる。面１３ｂの磁界情報１４ｃ，１４ｄは、面１３ａの磁界情報１４ｂから独立して定義されるのではなく、磁界情報１４ｂと関連付けられている。よって、面１３ｂ全体が面１３ａと関連付けられ、面１３ａを有する要素と面１３ｂを有する要素の間の磁束の流れをモデル１３上で表現することができる。その結果、辺要素有限要素法を用いた磁界シミュレーションの精度が向上する。
【００２８】
［第２の実施の形態］
次に、第２の実施の形態を説明する。第２の実施の形態の磁界シミュレータ装置１００は、辺要素有限要素法を用いて磁場解析を行い、物体におけるベクトルポテンシャルの分布をシミュレートする。磁界シミュレータ装置１００は、ユーザが操作するクライアントコンピュータでもよいし、サーバコンピュータでもよい。磁界シミュレータ装置１００は、第１の実施の形態の磁界シミュレータ装置１０の一例である。
【００２９】
図２は、磁界シミュレータ装置のハードウェア例を示すブロック図である。
磁界シミュレータ装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。上記のユニットは、それぞれバス１０８に接続されている。
【００３０】
ＣＰＵ１０１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、磁界シミュレータ装置１００は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００３１】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、磁界シミュレータ装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００３２】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、磁界シミュレータプログラムが含まれる。なお、磁界シミュレータ装置１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００３３】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、磁界シミュレータ装置１００に接続されたディスプレイ１１１に画像を出力する。ディスプレイ１１１としては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ（ＰＤＰ：Plasma Display Panel）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなどを用いることができる。
【００３４】
入力信号処理部１０５は、磁界シミュレータ装置１００に接続された入力デバイス１１２から入力信号を取得し、ＣＰＵ１０１に出力する。入力デバイス１１２としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、磁界シミュレータ装置１００に、複数の種類の入力デバイスが接続されていてもよい。
【００３５】
媒体リーダ１０６は、記録媒体１１３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１３として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１１３から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００３６】
通信インタフェース１０７は、ネットワーク１１４に接続され、ネットワーク１１４を介して他の装置と通信を行う。通信インタフェース１０７は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局またはアクセスポイントと無線リンクで接続される無線通信インタフェースでもよい。
【００３７】
ただし、磁界シミュレータ装置１００は、媒体リーダ１０６を備えなくてもよい。また、磁界シミュレータ装置１００は、サーバコンピュータである場合、画像信号処理部１０４や入力信号処理部１０５を備えなくてもよい。また、ディスプレイ１１１や入力デバイス１１２が、磁界シミュレータ装置１００の筐体と一体に形成されていてもよい。なお、ＣＰＵ１０１は、第１の実施の形態の演算部１２の一例である。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１の一例である。
【００３８】
次に、辺要素有限要素法を用いた磁界シミュレーションについて説明する。
図３は、辺要素有限要素法における未知数の例を示す図である。
有限要素法では、節点と辺と要素を含むモデルが用いられる。第２の実施の形態では、磁界シミュレータ装置１００は三次元モデルを使用するものとする。有限要素法において、「要素」はモデル空間を細分化した小領域である。「節点」は要素の頂点に相当する点である。「辺」は要素を囲む線分であって２つの節点を結んだものである。なお、要素の集合または個々の要素を「メッシュ」と言うことがある。
【００３９】
三次元モデルの空間を細分化した要素には、（Ａ）四面体要素と（Ｂ）六面体要素とが含まれ得る。四面体要素は、三角形の面を４つ有する三次元要素である。六面体要素は、四角形の面を６つ有する三次元要素である。なお、四面体要素は正四面体でなくてよく、六面体要素は正六面体でなくてよい。磁界シミュレータ装置１００は、物体の形状に応じて、適切な形状の四面体要素、六面体要素またはそれらの組み合わせを使用できる。
【００４０】
一例として、四面体要素である要素２１は、辺２１ａ，２１ｂ，２１ｃ，２１ｄ，２１ｅ，２１ｆを有する。辺２１ａ，２１ｂ，２１ｃが１つの三角形の面を形成する。辺２１ａ，２１ｄ，２１ｅが１つの三角形の面を形成する。辺２１ｂ，２１ｅ，２１ｆが１つの三角形の面を形成する。辺２１ｃ，２１ｄ，２１ｆが１つの三角形の面を形成する。
【００４１】
また、一例として、六面体要素である要素２２は、辺２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２ｈ，２２ｉ，２２ｊ，２２ｋ，２２ｌを有する。辺２２ａ，２２ｂ，２２ｅ，２２ｈが１つの四角形の面を形成する。辺２２ｃ，２２ｄ，２２ｆ，２２ｇが１つの四角形の面を形成する。辺２２ａ，２２ｄ，２２ｉ，２２ｊが１つの四角形の面を形成する。辺２２ｂ，２２ｃ，２２ｋ，２２ｌが１つの四角形の面を形成する。辺２２ｅ，２２ｆ，２２ｉ，２２ｌが１つの四角形の面を形成する。辺２２ｇ，２２ｈ，２２ｊ，２２ｋが１つの四角形の面を形成する。
【００４２】
辺要素有限要素法では、各辺に対して、辺に沿った所定の長さ（長さ＝１）のベクトルである「基底関数」（基底ベクトルと言うこともある）が定義される。各辺の基底関数の方向として、２通りの何れか一方が予め選択される。
【００４３】
例えば、要素２１について、辺２１ａに対して基底関数Ｎ1（以下、記載の都合でベクトル記号「→」を省略することがある）が定義される。同様に、辺２１ｂ，２１ｃ，２１ｄ，２１ｅ，２１ｆに対して、基底関数Ｎ2，Ｎ3，Ｎ4，Ｎ5，Ｎ6が定義される。また、例えば、要素２２について、辺２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２ｈ，２２ｉ，２２ｊ，２２ｋ，２２ｌに対して、基底関数Ｎ1，Ｎ2，Ｎ3，Ｎ4，Ｎ5，Ｎ6，Ｎ7，Ｎ8，Ｎ9，Ｎ10，Ｎ11，Ｎ12が定義される。
【００４４】
また、辺要素有限要素法では、各辺に対して、スカラの未知数を示す変数が定義される。辺要素有限要素法を実行することで、この変数の値が算出される。ある辺の未知数は、その辺のベクトルポテンシャルの大きさを示し、その辺の基底関数にかける係数を意味する。すなわち、辺毎に、未知数×基底関数のベクトルポテンシャルが与えられる。ある要素のベクトルポテンシャルＡは、式（１）に示すように、その要素を囲む辺（四面体要素の場合は６個の辺、六面体要素の場合は１２個の辺）のベクトルポテンシャルを合成することで与えられる。なお、式（１）において、ｎはある要素を囲む辺の辺番号を示し、Ａnはｎ番目の辺の変数を示し、Ｎnはｎ番目の辺の基底関数を示す。
【００４５】
【数１】
0006424651.tif 000002
【００４６】
例えば、要素２１について、辺２１ａ，２１ｂ，２１ｃ，２１ｄ，２１ｅ，２１ｆに対して、変数Ａ1，Ａ2，Ａ3，Ａ4，Ａ5，Ａ6が定義される。辺２１ａ，２１ｂ，２１ｃ，２１ｄ，２１ｅ，２１ｆのベクトルポテンシャルは、Ａ1Ｎ1，Ａ2Ｎ2，Ａ3Ｎ3，Ａ4Ｎ4，Ａ5Ｎ5，Ａ6Ｎ6と表され、要素２１のベクトルポテンシャルはこれらを合成したベクトルとなる。また、例えば、要素２２について、辺２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２ｈ，２２ｉ，２２ｊ，２２ｋ，２２ｌに対して、変数Ａ1，Ａ2，Ａ3，Ａ4，Ａ5，Ａ6，Ａ7，Ａ8，Ａ9，Ａ10，Ａ11，Ａ12が定義される。辺２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２ｈ，２２ｉ，２２ｊ，２２ｋ，２２ｌのベクトルポテンシャルは、Ａ1Ｎ1，Ａ2Ｎ2，Ａ3Ｎ3，Ａ4Ｎ4，Ａ5Ｎ5，Ａ6Ｎ6，Ａ7Ｎ7，Ａ8Ｎ8，Ａ9Ｎ9，Ａ10Ｎ10，Ａ11Ｎ11，Ａ12Ｎ12と表され、要素２２のベクトルポテンシャルはこれらを合成したベクトルとなる。
【００４７】
このようなモデルに対して、磁界シミュレータ装置１００は、式（２）に示す磁場の方程式を解くことで、各辺の変数の値を求める。式（２）において、σは誘電率を示し、μは透磁率を示し、μ0は真空の透磁率を示し、Ｊは電流密度ベクトルを示し、Ｍは磁石の磁化ベクトルを示す。磁界シミュレータ装置１００は、ベクトルポテンシャルＡを用いて、式（３）に示すように磁束密度Ｂを求めることができる。
【００４８】
【数２】
0006424651.tif 000003
【００４９】
【数３】
0006424651.tif 000004
【００５０】
ここで、磁界シミュレータ装置１００は、位置関係が変化する複数の部位を含む物体について、位置関係の変化に応じたベクトルポテンシャルの分布の変化をシミュレートすることができる。このとき、磁界シミュレータ装置１００は、要素の集合を再生成せずに、ある時点におけるベクトルポテンシャルの分布と別の時点におけるベクトルポテンシャルの分布とを算出する。しかし、この場合、複数の部位の境界では、元は幾つかの辺を共有していた隣接する要素が、位置がずれて辺を共有しなくなり不連続になることがある。
【００５１】
図４は、モータのモデル例を示す図である。
モータ３０は、磁場解析を行う対象の物体の一例である。モータ３０は、固定子３１および回転子３２を有する。回転子３２は、円柱形の部位であり、円柱軸を中心に回転する。一方、固定子３１は、回転子３２を囲む部位であり回転しない。
【００５２】
ある時点におけるモータ３０の形状を複数の要素に細分化すると、固定子３１と回転子３２の境界では、隣接する要素が境界面の辺を共有するように要素が形成される。すなわち、境界面で接する固定子３１の要素と回転子３２の要素とが、連続性を有している。図４の例では、境界面を挟んで、固定子３１の要素３１ａと回転子３２の要素３２ａとが隣接している。要素３１ａと要素３２ａは、境界面の辺を共有しており連続している。また、境界面を挟んで、固定子３１の要素３１ｂと回転子３２の要素３２ｂとが隣接している。要素３１ｂと要素３２ｂは、境界面の辺を共有しており連続している。
【００５３】
図５は、回転したモータのモデル例を示す図である。
上記のように複数の要素に分割したモデル上で、固定子３１に対して回転子３２を回転させると、その境界では隣接する要素がずれる。その結果、隣接する要素が境界面の辺を共有しなくなり不連続となる。図５の例では、境界面を挟んで、固定子３１の要素３１ａが回転子３２の要素３２ａ，３２ｂと接している。しかし、要素３１ａは、境界面の辺を要素３２ａ，３２ｂと共有しておらず、要素３２ａ，３２ｂと不連続である。また、境界面を挟んで、固定子３１の要素３１ｂは回転子３２の要素３２ｂと接している。しかし、要素３１ｂは、境界面の辺を要素３２ｂと共有しておらず、要素３２ｂと不連続である。
【００５４】
境界面を挟んで要素が不連続になった場合に、一方の側の要素の辺と他方の側の要素の辺とに対して独立に変数を定義してしまうと、それら要素の間に存在する磁束の流れがモデル上で正確に表現されなくなる。その結果、磁場解析の精度が低下するおそれがある。そこで、磁界シミュレータ装置１００は、境界面の一方の側の未知数を他方の側の変数の線形式として表現し、他方の側の未知数に従属させる。これにより、一方の側の未知数と他方の側の未知数を関連付けることができ、境界面を挟んだ要素の間の磁束の流れを正確に表現できる。また、不連続な要素を含むモデルのまま、磁場解析を行うことができる。なお、境界上に重なる異なる要素の面のうち、辺に対して独立の変数を定義する面を「マスタ面」、独立の変数を定義しない面を「スレーブ面」と言うことができる。
【００５５】
図６は、マスタ側要素とスレーブ側要素の例を示す図である。
前述の要素２１に対して、辺２３ａ，２３ｂ，２３ｃ，２３ｄ，２３ｅ，２３ｆを有する四面体の要素２３が隣接しているとする。要素２３では、辺２３ａ，２３ｂ，２３ｃが１つの三角形の面を形成し、辺２３ａ，２３ｄ，２３ｅが１つの三角形の面を形成し、辺２３ｂ，２３ｅ，２３ｆが１つの三角形の面を形成し、辺２３ｃ，２３ｄ，２３ｆが１つの三角形の面を形成する。要素２３の辺２３ａ，２３ｂ，２３ｃが形成する面は、要素２１の辺２１ａ，２１ｂ，２１ｃが形成する面と部分的に接している。この２つの面は辺を共有しておらず、要素２１と要素２３は不連続である。
【００５６】
要素２３の辺２３ｄ，２３ｅ，２３ｆに対しては、基底関数Ｎ7，Ｎ8，Ｎ9と変数Ａ7，Ａ8，Ａ9が定義されている。すなわち、辺２３ｄ，２３ｅ，２３ｆのベクトルポテンシャルは、Ａ7Ｎ7，Ａ8Ｎ8，Ａ9Ｎ9と表される。一方、要素２１と接する辺２３ａ，２３ｂ，２３ｃに対しては、基底関数Ｎs1，Ｎs2，Ｎs3と変数Ａs1，Ａs2，Ａs3が定義されている。すなわち、辺２３ａ，２３ｂ，２３ｃのベクトルポテンシャルは、Ａs1Ｎs1，Ａs2Ｎs2，Ａs3Ｎs3と表される。ただし、変数Ａs1，Ａs2，Ａs3は独立した変数ではなく、変数Ａ1，Ａ2，Ａ3などの他の要素の変数に従属する。よって、要素２１の辺２１ａ，２１ｂ，２１ｃが形成する面を「マスタ面」と言うことができ、要素２３の辺２３ａ，２３ｂ，２３ｃが形成する面を「スレーブ面」と言うことができる。
【００５７】
要素２１のベクトルポテンシャルは、辺２１ａ，２１ｂ，２１ｃ，２１ｄ，２１ｅ，２１ｆのベクトルポテンシャルを合成したものであり、式（４）のように表される。要素２３のベクトルポテンシャルは、辺２３ａ，２３ｂ，２３ｃ，２３ｄ，２３ｅ，２３ｆのベクトルポテンシャルを合成したものであり、式（５）のように表される。式（５）の変数Ａs1，Ａs2，Ａs3は、変数Ａ1，Ａ2，Ａ3などの他の要素の変数の線形式に置き換えられる。よって、要素２１と要素２３の間の電磁的な連続性が表現される。
【００５８】
【数４】
0006424651.tif 000005
【００５９】
【数５】
0006424651.tif 000006
【００６０】
図７は、マスタ面の形状とスレーブ面の形状の組み合わせ例を示す図である。
磁界シミュレータ装置１００が三角形の面を有する四面体要素と四角形の面を有する六面体要素とを使用する場合、マスタ面とスレーブ面の重なり方は、次の４つのパターンに分類することができる。（Ａ）第１のパターンでは、三角形のマスタ面２４ａと三角形のスレーブ面２５ａとが部分的に重なる。（Ｂ）第２のパターンでは、四角形のマスタ面２４ｂと四角形のスレーブ面２５ｂとが部分的に重なる。（Ｃ）第３のパターンでは、三角形のマスタ面２４ｃと四角形のスレーブ面２５ｃとが部分的に重なる。（Ｄ）第４のパターンでは、四角形のマスタ面２４ｄと三角形のスレーブ面２５ｄとが部分的に重なる。
【００６１】
以下では主に、マスタ面とスレーブ面が両方とも三角形である第１のパターンの計算例について説明する。第２〜第４のパターンについても、同様の方針で計算が可能である。
図８は、マスタ面とスレーブ面の第１の重なり例を示す図である。
【００６２】
ここでは、マスタ面４１ａ，４１ｂ，４１ｃ，４１ｄ，４１ｅ，４１ｆとスレーブ面４２ａとが重なっている場合を考える。マスタ面４１ａ，４１ｂ，４１ｃ，４１ｄ，４１ｅ，４１ｆおよびスレーブ面４２ａは、それぞれ異なる要素の１つの面である。
【００６３】
マスタ面４１ａとマスタ面４１ｂが、１つの辺で接している。マスタ面４１ｂとマスタ面４１ｃが、１つの辺で接している。マスタ面４１ｂとマスタ面４１ｃが、１つの辺で接している。マスタ面４１ｃとマスタ面４１ｄが、１つの辺で接している。マスタ面４１ｄとマスタ面４１ｅが、１つの辺で接している。マスタ面４１ｅとマスタ面４１ｆが、１つの辺で接している。マスタ面４１ｆとマスタ面４１ａが、１つの辺で接している。
【００６４】
スレーブ面４２ａは、マスタ面４１ａ，４１ｂ，４１ｃ，４１ｄ，４１ｅ，４１ｆそれぞれと部分的に重なっている。すなわち、スレーブ面４２ａは、マスタ面４１ａと重なる領域と、マスタ面４１ｂと重なる領域と、マスタ面４１ｃと重なる領域と、マスタ面４１ｄと重なる領域と、マスタ面４１ｅと重なる領域と、マスタ面４１ｆと重なる領域とを含む。スレーブ面４２ａには、他の要素の面と重ならない領域は存在しない。
【００６５】
マスタ面４１ａは、基底関数Ｎm1，Ｎm2，Ｎm12が示す辺に囲まれる。マスタ面４１ｂは、基底関数Ｎm2，Ｎm3，Ｎm4が示す辺に囲まれる。マスタ面４１ｃは、基底関数Ｎm4，Ｎm5，Ｎm6が示す辺に囲まれる。マスタ面４１ｄは、基底関数Ｎm6，Ｎm7，Ｎm8が示す辺に囲まれる。マスタ面４１ｅは、基底関数Ｎm8，Ｎm9，Ｎm10が示す辺に囲まれる。マスタ面４１ｆは、基底関数Ｎm10，Ｎm11，Ｎm12が示す辺に囲まれる。基底関数Ｎm1，Ｎm2，Ｎm3，Ｎm4，Ｎm5，Ｎm6，Ｎm7，Ｎm8，Ｎm9，Ｎm10，Ｎm11，Ｎm12が示す辺に対して、解くべき未知数を示す独立の変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7，Ａm8，Ａm9，Ａm10，Ａm11，Ａm12が定義されている。
【００６６】
スレーブ面４２ａは、基底関数Ｎs1，Ｎs2，Ｎs3が示す辺に囲まれる。基底関数Ｎs1，Ｎs2，Ｎs3が示す辺に対して、変数Ａs1，Ａs2，Ａs3が定義されている。ただし、変数Ａs1，Ａs2，Ａs3は独立の変数ではなく、変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7，Ａm8，Ａm9，Ａm10，Ａm11，Ａm12の線形式として表される。
【００６７】
マスタ面の変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7，Ａm8，Ａm9，Ａm10，Ａm11，Ａm12とスレーブ面の変数Ａs1，Ａs2，Ａs3との関係は、磁束の保存則を用いて算出することができる。式（６）に示すように、磁束Φは磁束密度Ｂを面積分することで算出される。磁束密度Ｂは、ベクトルポテンシャルＡを線積分することで算出される。式（６）において、ｄＳは積分する面を表し、ｎはその面に対する法線ベクトルを表す。
【００６８】
【数６】
0006424651.tif 000007
【００６９】
スレーブ面４２ａの辺の未知数は、その辺に沿ってマスタ面上でベクトルポテンシャルを線積分することで算出することが可能である。そこで、線積分を表現するため、スレーブ面４２ａの辺上に以下のような線ベクトルを定義する。
【００７０】
スレーブ面４２ａについて、基底関数Ｎs1が与えられた辺全体を示すベクトルを線ベクトルｌs1、基底関数Ｎs2が与えられた辺全体を示すベクトルを線ベクトルｌs2、基底関数Ｎs3が与えられた辺全体を示すベクトルを線ベクトルｌs3と置く。線ベクトルｌs1は、マスタ面４１ｆと重なる線分を示す線ベクトルｌm61と、マスタ面４１ａと重なる線分を示す線ベクトルｌm11と、マスタ面４１ｂと重なる線分を示す線ベクトルｌm21とに分割される。線ベクトルｌs2は、マスタ面４１ｂと重なる線分を示す線ベクトルｌm22と、マスタ面４１ｃと重なる線分を示す線ベクトルｌm32と、マスタ面４１ｄと重なる線分を示す線ベクトルｌm42とに分割される。線ベクトルｌs3は、マスタ面４１ｄと重なる線分を示す線ベクトルｌm43と、マスタ面４１ｅと重なる線分を示す線ベクトルｌm53と、マスタ面４１ｆと重なる線分を示す線ベクトルｌm63とに分割される。
【００７１】
上記のように線ベクトルを定義すると、マスタ面のベクトルポテンシャルを線ベクトルｌs1に沿って線積分したものが、変数Ａs1の未知数に相当する。線ベクトルｌs1の線積分は、マスタ面４１ｆ上での線ベクトルｌm61の線積分と、マスタ面４１ａ上での線ベクトルｌm11の線積分と、マスタ面４１ｂ上での線ベクトルｌm21の線積分とに分割できる。マスタ面４１ｆのベクトルポテンシャルは、基底関数Ｎm10，Ｎm11，Ｎm12が示す辺のベクトルポテンシャルを合成したものである。マスタ面４１ａのベクトルポテンシャルは、基底関数Ｎm1，Ｎm2，Ｎm12が示す辺のベクトルポテンシャルを合成したものである。マスタ面４１ｂのベクトルポテンシャルは、基底関数Ｎm2，Ｎm3，Ｎm4が示す辺のベクトルポテンシャルを合成したものである。よって、変数Ａs1の未知数は、式（７）のように算出できる。すなわち、スレーブ面４２ａの変数Ａs1は、変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm10，Ａm11，Ａm12の線形式に置換できる。なお、基底関数と上記の線ベクトルとの内積は、各節点の座標が既知であるため、具体的な数値として算出できる。
【００７２】
【数７】
0006424651.tif 000008
【００７３】
同様に、マスタ面のベクトルポテンシャルを線ベクトルｌs2に沿って線積分したものが、変数Ａs2の未知数に相当する。線ベクトルｌs2の線積分は、マスタ面４１ｂ上での線ベクトルｌm22の線積分と、マスタ面４１ｃ上での線ベクトルｌm32の線積分と、マスタ面４１ｄ上での線ベクトルｌm42の線積分とに分割できる。よって、変数Ａs2の未知数は、式（８）のように算出できる。すなわち、スレーブ面４２ａの変数Ａs2は、変数Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7，Ａm8の線形式に置換できる。
【００７４】
【数８】
0006424651.tif 000009
【００７５】
また、マスタ面のベクトルポテンシャルを線ベクトルｌs3に沿って線積分したものが、変数Ａs3の未知数に相当する。線ベクトルｌs3の線積分は、マスタ面４１ｄ上での線ベクトルｌm43の線積分と、マスタ面４１ｅ上での線ベクトルｌm53の線積分と、マスタ面４１ｆ上での線ベクトルｌm63の線積分とに分割できる。よって、変数Ａs3の未知数は、式（９）のように算出できる。すなわち、スレーブ面４２ａの変数Ａs3は、変数Ａm6，Ａm7，Ａm8，Ａm9，Ａm10，Ａm11，Ａm12の線形式に置換できる。
【００７６】
【数９】
0006424651.tif 000010
【００７７】
上記の式（７），（８），（９）を一般化すると、スレーブ面の変数は式（１０）のように定義される。式（１０）において、ｎはスレーブ面が有する辺の辺番号を表し、ｉはスレーブ面と重なるマスタ面の面番号を表し、ｊはｉ番目のマスタ面が有する辺の辺番号を表す。よって、Ａsnはスレーブ面のｎ番目の辺の変数を表し、Ａmjはｉ番目のマスタ面が有するｊ番目の辺の変数を表し、Ｎmjはｉ番目のマスタ面が有するｊ番目の辺の基底関数を表す。また、ｌminはスレーブ面のｎ番目の辺のうちｉ番目のマスタ面と重なる線分についての線ベクトルを表す。これにより、マスタ面の未知数が算出されれば、スレーブ面の未知数を算出することができ、両者を関連付けることができる。
【００７８】
【数１０】
0006424651.tif 000011
【００７９】
このように、スレーブ面の全体が１または２以上のマスタ面と重なっている場合には、式（７），（８），（９），（１０）に従って、スレーブ面が有する辺の未知数を算出することができる。一方、スレーブ面の中に何れのマスタ面とも重ならない領域が存在する場合、そのままではスレーブ面が有する辺の一部分についてベクトルポテンシャルを線積分することができず、式（７），（８），（９），（１０）をそのまま使用できない。そこで、次に、何れのマスタ面とも重ならない領域が存在する場合について説明する。
【００８０】
図９は、マスタ面とスレーブ面の第２の重なり例を示す図である。
ここでは、マスタ面４３ａ，４３ｂ，４３ｃとスレーブ面４４ａとが部分的に重なっている場合を考える。マスタ面４３ａ，４３ｂ，４３ｃおよびスレーブ面４４ａは、それぞれ異なる要素の１つの面である。マスタ面４３ａとマスタ面４３ｂが、１つの辺で接している。マスタ面４３ｂとマスタ面４３ｃが、１つの辺で接している。スレーブ面４４ａは、マスタ面４３ａ，４３ｂ，４３ｃそれぞれと部分的に重なっている。すなわち、スレーブ面４４ａは、マスタ面４３ａと重なる領域と、マスタ面４３ｂと重なる領域と、マスタ面４３ｃと重なる領域とを含む。更に、スレーブ面４４ａは、マスタ面４３ａ，４３ｂ，４３ｃを含む他の何れの面とも重ならない領域を含む。
【００８１】
マスタ面４３ａは、基底関数Ｎm1，Ｎm2，Ｎm3が示す辺に囲まれる。マスタ面４３ｂは、基底関数Ｎm2，Ｎm4，Ｎm5が示す辺に囲まれる。マスタ面４３ｃは、基底関数Ｎm5，Ｎm6，Ｎm7が示す辺に囲まれる。基底関数Ｎm1，Ｎm2，Ｎm3，Ｎm4，Ｎm5，Ｎm6，Ｎm7が示す辺に対して、解くべき未知数を示す独立の変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7が定義されている。スレーブ面４４ａは、基底関数Ｎs1，Ｎs2，Ｎs3が示す辺に囲まれる。基底関数Ｎs1，Ｎs2，Ｎs3が示す辺に対して、変数Ａs1，Ａs2，Ａs3が定義されている。ただし、変数Ａs1，Ａs2，Ａs3は独立の変数ではなく、変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7の線形式として表される。
【００８２】
ここで、図８の場合と同様に、スレーブ面４４ａの辺上に以下のような線ベクトルを定義する。基底関数Ｎs1が与えられた辺全体を示すベクトルを線ベクトルｌs1、基底関数Ｎs2が与えられた辺全体を示すベクトルを線ベクトルｌs2、基底関数Ｎs3が与えられた辺全体を示すベクトルを線ベクトルｌs3と置く。
【００８３】
また、マスタ面４３ａ，４３ｂ，４３ｃとスレーブ面４４ａとが重なる領域について、当該領域を囲む線分上に以下のような線ベクトルを定義する。線ベクトルｌs1が示す辺のうち、マスタ面４３ａと重なる線分を示すベクトルを線ベクトルｌm11、マスタ面４３ｂと重なる線分を示すベクトルを線ベクトルｌm21と置く。線ベクトルｌs2が示す辺のうち、マスタ面４３ｂと重なる線分を示すベクトルを線ベクトルｌm22、マスタ面４３ｃと重なる線分を示すベクトルを線ベクトルｌm32と置く。
【００８４】
また、マスタ面４３ａ，４３ｂ，４３ｃとスレーブ面４４ａとが重なる領域（重畳領域）と重ならない領域（非重畳領域）との境界を示す線分を、境界線４４ｂと置く。境界線４４ｂのうち、マスタ面４３ａの辺と重なる線分を示すベクトルを線ベクトルｌs13、マスタ面４３ｃの辺と重なる線分を示すベクトルを線ベクトルｌs17と置く。
【００８５】
上記のように線ベクトルを定義すると、スレーブ面４４ａの辺のうちマスタ面４３ａ，４３ｂ，４３ｃと重なる線分については、マスタ面のベクトルポテンシャルをその線分の線ベクトルに沿って線積分することで値を算出できる。一方、スレーブ面４４ａの辺のうちマスタ面４３ａ，４３ｂ，４３ｃと重ならない線分については、マスタ面４３ａ，４３ｂ，４３ｃから直接的な影響を受けないため、その線分の線ベクトルに沿って線積分を行うことはできない。ただし、境界線４４ｂから非重畳領域への影響、すなわち、境界線４４ｂから非重畳領域の線分へのベクトルポテンシャルの「寄与」が存在する。
【００８６】
よって、式（１１）に示すように、マスタ面４３ａ上での線ベクトルｌm11の線積分と、マスタ面４３ｂ上での線ベクトルｌm21の線積分と、境界線４４ｂから線ベクトルｌs1の非重畳部分への寄与との合計が、変数Ａs1の未知数に相当する。マスタ面４３ａのベクトルポテンシャルは、基底関数Ｎm1，Ｎm2，Ｎm3が示す辺のベクトルポテンシャルを合成したものである。マスタ面４３ｂのベクトルポテンシャルは、基底関数Ｎm2，Ｎm4，Ｎm5が示す辺のベクトルポテンシャルを合成したものである。式（１１）において、変数Ａs*1は境界線４４ｂから線ベクトルｌs1の非重畳部分への寄与を表す。
【００８７】
【数１１】
0006424651.tif 000012
【００８８】
また、式（１２）に示すように、マスタ面４３ｂ上での線ベクトルｌm22の線積分と、マスタ面４３ｃ上での線ベクトルｌm32の線積分と、境界線４４ｂから線ベクトルｌs2の非重畳部分への寄与との合計が、変数Ａs2の未知数に相当する。マスタ面４３ｂのベクトルポテンシャルは、基底関数Ｎm2，Ｎm4，Ｎm5が示す辺のベクトルポテンシャルを合成したものである。マスタ面４３ｃのベクトルポテンシャルは、基底関数Ｎm5，Ｎm6，Ｎm7が示す辺のベクトルポテンシャルを合成したものである。式（１２）において、変数Ａs*2は境界線４４ｂから線ベクトルｌs2の非重畳部分への寄与を表す。
【００８９】
【数１２】
0006424651.tif 000013
【００９０】
一方、スレーブ面４４ａの基底関数Ｎs3が示す辺のベクトルポテンシャルは、マスタ面４３ａ，４３ｂ，４３ｃから直接的な影響を受けないため、境界線４４ｂからの寄与のみ含む。よって、式（１３）に示すように、境界線４４ｂから線ベクトルｌs3に相当する辺全体への寄与が、変数Ａs3の未知数に相当する。式（１３）において、変数Ａs*3は境界線４４ｂから線ベクトルｌs3に相当する辺全体への寄与を表す。
【００９１】
【数１３】
0006424651.tif 000014
【００９２】
スレーブ面４４ａの変数Ａs1，Ａs2，Ａs3の未知数を算出するにあたり、境界線４４ｂ上でのベクトルポテンシャルの線積分を求めることになる。境界線４４ｂの線積分は、線ベクトルｌs13の線積分と線ベクトルｌs17の線積分との合計である。線ベクトルｌs13の線積分は、マスタ面４３ａの変数Ａm3の未知数を、基底関数Ｎm3が示す辺に相当する線ベクトルｌm3と当該辺の一部分の線分に相当する線ベクトルｌs13との長さの比に応じて分割した値である。線ベクトルｌs17の線積分は、マスタ面４３ｃの変数Ａm7の未知数を、基底関数Ｎm7が示す辺に相当する線ベクトルｌm7と当該辺の一部分の線分に相当する線ベクトルｌs13との長さの比に応じて分割した値である。
【００９３】
また、境界線４４ｂの線積分は、基底関数Ｎs1が示す辺の非重畳部分に対する分配量（第１の分配量）と、基底関数Ｎs2が示す辺の非重畳部分に対する分配量（第２の分配量）と、基底関数Ｎs3が示す辺に対する分配量（第３の分配量）の合計でもある。第１の分配量は、基底関数Ｎs1を境界線４４ｂに沿って線積分したものと変数Ａs*1の値との積である。第２の分配量は、基底関数Ｎs2を境界線４４ｂに沿って線積分したものと変数Ａs*2の値との積である。第３の分配量は、基底関数Ｎs3を境界線４４ｂに沿って線積分したものと変数Ａs*3の値との積である。境界線４４ｂの線積分は、線ベクトルｌs13の線積分と線ベクトルｌs17の線積分とに分割できる。よって、境界線４４ｂの線積分は、式（１４）のように求めることができる。式（１４）において、線ベクトルｌmeは線ベクトルｌs13と線ベクトルｌs17を合成したものである。
【００９４】
【数１４】
0006424651.tif 000015
【００９５】
式（１４）を一般化すると、境界線４４ｂの線積分は式（１５）のように定義される。式（１５）において、ｋは境界線４４ｂと重なるマスタ面の辺の辺番号を表し、ｉはスレーブ面の面番号を表し、ｊはｉ番目のスレーブ面が有する辺の辺番号を表す。よって、Ａmkはマスタ面のｋ番目の辺のベクトルポテンシャルを表し、ｌsikはスレーブ面とｋ番目の辺とが重なった線分の線ベクトルを表す。また、Ａs*jはスレーブ面のｊ番目の辺に対する境界線４４ｂからの寄与を表し、Ｎsjはｊ番目の辺の基底関数を表す。
【００９６】
【数１５】
0006424651.tif 000016
【００９７】
ここで、式（１４），（１５）自体からは、境界線４４ｂの線積分をどの様に非重畳領域の複数の線分に対して分配するか一意に決まらないため、変数Ａs*1，Ａs*2，Ａs*3を変数Ａm3，Ａm7の線形結合（一次結合）した線形式（一次式）として表現できない。そこで、境界線４４ｂから各線分への寄与は、基底関数Ｎsjを境界線４４ｂに沿って線積分した値に比例するように算出することとする。この仮定を置くと、変数Ａs*1，Ａs*2，Ａs*3の値は、式（１６）のように定義できる。式（１６）において、ｔはパラメータであり、基底関数Ｎsjの線積分に対する倍率を表す。
【００９８】
【数１６】
0006424651.tif 000017
【００９９】
式（１６）を式（１４）に代入すると、式（１７）が得られる。よって、パラメータｔは、式（１８）に従って算出することができる。式（１５）と同様にして、式（１８）を一般化すると、パラメータｔは式（１９）のように定義される。式（１５）と同様に、式（１９）のｋは境界線４４ｂと重なるマスタ面の辺の辺番号を表し、ｉはスレーブ面の面番号を表し、ｊはｉ番目のスレーブ面が有する辺の辺番号を表す。
【０１００】
【数１７】
0006424651.tif 000018
【０１０１】
【数１８】
0006424651.tif 000019
【０１０２】
【数１９】
0006424651.tif 000020
【０１０３】
以上により、スレーブ面４４ａの変数Ａs1は、式（２０）に示すように、マスタ面の変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm7の線形式として表現することができる。スレーブ面４４ａの変数Ａs2は、式（２１）に示すように、マスタ面の変数Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7の線形式として表現することができる。スレーブ面４４ａの変数Ａs3は、式（２２）に示すように、マスタ面の変数Ａm3，Ａm7の線形式として表現することができる。なお、式（２０），（２１），（２２）のパラメータｔは、式（１８）に示すように、マスタ面の変数Ａm3，Ａm7の線形式として表される。式（２０），（２１），（２２）を一般化すると、スレーブ面の未知数は式（２３）のように定義される。
【０１０４】
【数２０】
0006424651.tif 000021
【０１０５】
【数２１】
0006424651.tif 000022
【０１０６】
【数２２】
0006424651.tif 000023
【０１０７】
【数２３】
0006424651.tif 000024
【０１０８】
次に、マスタ面とスレーブ面が共に四角形であり、マスタ面が境界線と直交する辺を有する例を用いて、上記の「寄与」の算出方法の効果について説明する。
図１０は、マスタ面とスレーブ面の第３の重なり例を示す図である。
【０１０９】
ここでは、マスタ面４５ａ，４５ｂとスレーブ面４６ａ，４６ｂ，４６ｃとが部分的に重なっている場合を考える。マスタ面４５ａ，４５ｂおよびスレーブ面４６ａ，４６ｂ，４６ｃは、それぞれ異なる要素の１つの面である。マスタ面４５ａ，４５ｂおよびスレーブ面４６ａ，４６ｂ，４６ｃは、四角形である。マスタ面４５ａとマスタ面４５ｂが、１つの辺で接している。スレーブ面４６ａとスレーブ面４６ｂが、１つの辺で接している。スレーブ面４６ｂとスレーブ面４６ｃが、１つの辺で接している。
【０１１０】
スレーブ面４６ａは、マスタ面４５ａと部分的に重なっている。すなわち、スレーブ面４６ａは、マスタ面４５ａと重なる重畳領域と、何れのマスタ面とも重ならない非重畳領域を含む。スレーブ面４６ｂは、マスタ面４５ａ，４５ｂと部分的に重なっている。すなわち、スレーブ面４６ｂは、マスタ面４５ａと重なる重畳領域と、マスタ面４５ｂと重なる重畳領域と、何れのマスタ面とも重ならない非重畳領域を含む。スレーブ面４６ｃは、マスタ面４５ｂと部分的に重なっている。すなわち、スレーブ面４６ｃは、マスタ面４５ｂと重なる重畳領域と、何れのマスタ面とも重ならない非重畳領域を含む。
【０１１１】
マスタ面４５ａは、基底関数Ｎm1，Ｎm2，Ｎm3，Ｎm4が示す辺に囲まれる。マスタ面４５ｂは、基底関数Ｎm3，Ｎm5，Ｎm6，Ｎm7が示す辺に囲まれる。基底関数Ｎm1，Ｎm2，Ｎm3，Ｎm4，Ｎm5，Ｎm6，Ｎm7が示す辺に対して、解くべき未知数を示す独立の変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7が定義されている。スレーブ面４６ｂは、基底関数Ｎs1，Ｎs2，Ｎs3，Ｎs4が示す辺に囲まれる。基底関数Ｎs1，Ｎs2，Ｎs3，Ｎs4が示す辺に対して、変数Ａs1，Ａs2，Ａs3，Ａs4が定義されている。スレーブ面の変数Ａs1，Ａs2，Ａs3，Ａs4は独立の変数ではなく、マスタ面の変数Ａm1，Ａm2，Ａm3，Ａm4，Ａm5，Ａm6，Ａm7の線形式として表される。なお、ここではスレーブ面４６ｂに着目し、スレーブ面４６ａ，４６ｃについての説明は省略する。
【０１１２】
基底関数Ｎm4が与えられた辺全体を示すベクトルを線ベクトルｌm4、基底関数Ｎm7が与えられた辺全体を示すベクトルを線ベクトルｌm7と置く。また、スレーブ面４６ｂに含まれる重畳領域と非重畳領域との境界を示す線分を、境界線４６ｄと置く。境界線４６ｄは、スレーブ面４６ｂの２つの辺（基底関数Ｎs1，Ｎs3の辺）と直交している。境界線４６ｄのうち、マスタ面４５ａの辺と重なる線分を示すベクトルを線ベクトルｌs24、マスタ面４５ｂの辺と重なる線分を示すベクトルを線ベクトルｌs27と置く。線ベクトルｌs24と線ベクトルｌs27を合成したものを線ベクトルｌmeと置く。
【０１１３】
この場合、境界線４６ｄの線積分は、上記で説明した方法に従って式（２４）のように算出することができる。すなわち、境界線４６ｄの線積分は、線ベクトルｌs24の線積分と線ベクトルｌs27の線積分との合計である。線ベクトルｌs24の線積分は、マスタ面４５ａの変数Ａm4の未知数を、線ベクトルｌm4と線ベクトルｌs24との長さの比に応じて分割した値である。線ベクトルｌs27の線積分は、マスタ面４５ｂの変数Ａm7の未知数を、線ベクトルｌm7と線ベクトルｌs27との長さの比に応じて分割した値である。
【０１１４】
また、境界線４６ｄの線積分は、基底関数Ｎs1が示す辺の非重畳部分に対する分配量（第１の分配量）と、基底関数Ｎs3が示す辺の非重畳部分に対する分配量（第２の分配量）と、基底関数Ｎs4が示す辺に対する分配量（第３の分配量）の合計でもある。第１の分配量は、基底関数Ｎs1を境界線４６ｄに沿って線積分したものと変数Ａs*1の値との積である。第２の分配量は、基底関数Ｎs3を境界線４６ｄに沿って線積分したものと変数Ａs*3の値との積である。第３の分配量は、基底関数Ｎs4を境界線４６ｄに沿って線積分したものと変数Ａs*4の値との積である。
【０１１５】
【数２４】
0006424651.tif 000025
【０１１６】
ここで、基底関数Ｎs1，Ｎs3が示す辺と境界線４６ｄとは直交することから、基底関数Ｎs1と線ベクトルｌmeの内積および基底関数Ｎs3と線ベクトルｌmeの内積はそれぞれゼロである。よって、式（２５）に示すように、基底関数Ｎs1を境界線４６ｄに沿って線積分した値と、基底関数Ｎs3を境界線４６ｄに沿って線積分した値はそれぞれゼロである。前述のように、変数Ａs*nの値は線積分に比例するように決定されるため、Ａs*1＝Ａs*3＝０になる。その結果、境界線４６ｄからの寄与は、境界線４６ｄと平行である基底関数Ｎs4が示す辺に対してのみ割り当てられることになる。
【０１１７】
【数２５】
0006424651.tif 000026
【０１１８】
基底関数Ｎs1が示す辺はスレーブ面４６ａ，４６ｂが共有するため、この辺に対して境界線４６ｄからの寄与が多く割り当てられると、スレーブ面４６ａの磁束に影響を与える。また、基底関数Ｎs3が示す辺はスレーブ面４６ｂ，４６ｃが共有するため、この辺に対して境界線４６ｄからの寄与が多く割り当てられると、スレーブ面４６ｃの磁束に影響を与える。これに対し、前述の方法によれば、境界線４６ｄから基底関数Ｎs1，Ｎs3が示す辺への寄与は小さく算出されやすく、境界線４６ｄから基底関数Ｎs4が示す辺への寄与は大きく算出されやすくなる。これにより、スレーブ面４６ｂからスレーブ面４６ａ，４６ｃに与える磁束の影響を抑制することができる。
【０１１９】
次に、磁界シミュレータ装置１００のシミュレーション機能を説明する。
図１１は、磁界シミュレータ装置の機能例を示すブロック図である。
磁界シミュレータ装置１００は、幾何データ記憶部１２１、重みデータ記憶部１２２、方程式記憶部１２３、解析結果記憶部１２４、要素算出部１３１、変数結合部１３２、方程式生成部１３３および解算出部１３４を有する。幾何データ記憶部１２１、重みデータ記憶部１２２、方程式記憶部１２３および解析結果記憶部１２４は、例えば、ＲＡＭ１０２またはＨＤＤ１０３に確保した記憶領域として実装される。要素算出部１３１、変数結合部１３２、方程式生成部１３３および解算出部１３４は、例えば、ＣＰＵ１０１が実行するプログラムのモジュールとして実装される。
【０１２０】
幾何データ記憶部１２１は、モデルの形状を示す幾何データを記憶する。モデルは複数の要素に細分化される。複数の要素それぞれの形状と位置を表すため、幾何データは節点のデータと辺のデータと面のデータを含む。要素への細分化は、ユーザが予め行っておいてもよい。その場合、ユーザが節点のデータと辺のデータと面のデータを含む幾何データを生成して、幾何データ記憶部１２１に格納しておく。また、要素への細分化は、要素算出部１３１が行ってもよい。その場合、ユーザは物体全体の形状を示す幾何データを生成して、幾何データ記憶部１２１に格納しておく。そして、要素算出部１３１が、物体全体の形状に基づいて節点のデータと辺のデータと面のデータを生成する。
【０１２１】
重みデータ記憶部１２２は、スレーブ面の未知数をマスタ面の未知数と関連付ける重みデータを記憶する。重みデータは、スレーブ面の未知数をマスタ面の変数の線形式で表した場合に、線形式に含まれる各変数の重みを示す。重みデータは変数結合部１３２によって生成される。方程式記憶部１２３は、要素の辺に対して定義された未知数を解くための連立方程式を記憶する。連立方程式は、その係数を集めた係数行列によって表現される。連立方程式は方程式生成部１３３によって生成される。解析結果記憶部１２４は、辺要素有限要素法の解析結果を記憶する。解析結果は、連立方程式を解くことで算出された各辺の未知数を含む。解析結果は、解算出部１３４によって生成される。
【０１２２】
要素算出部１３１は、幾何データ記憶部１２１が示すモデルが要素に細分化されていない場合、物体全体の形状を考慮してモデルを要素に細分化する。各要素の形状および位置を定義するにあたり、要素算出部１３１は、節点の位置を決定し、２つの節点を結ぶ辺を決定し、複数の節点によって形成される面を決定し、複数の面を有する要素を決定する。要素としては、三角形の面を有する四面体要素や四角形の面を有する六面体要素を用いることができる。物体の中の部位によって、異なる形状の要素を用いることもできる。
【０１２３】
また、要素算出部１３１は、モデルが示す物体の中に移動可能な部位（例えば、図４の回転子３２のような回転可能な部位）が含まれている場合、モデル上でその部位を移動させる。移動方向や１回当たりの移動量は、例えば、ユーザから指定される。
【０１２４】
変数結合部１３２は、要素算出部１３１がモデルを変形させると、幾何データ記憶部１２１から変形後のモデルを示す幾何データを読み出す。変数結合部１３２は、移動した部位と他の部位との境界面において不連続となった要素を検出する。すなわち、変数結合部１３２は、境界面を挟んで隣接する要素のうち、辺を共有していない要素を検出する。変数結合部１３２は、不連続な要素のうちの一方が有する面をマスタ面に指定し、他方が有する面をスレーブ面に指定する。マスタ面とスレーブ面の選択は、変数結合部１３２が任意の基準で行ってもよいし、ユーザが指示してもよい。例えば、図４のモータ３０の場合、固定子３１側の面をマスタ面とし、回転子３２側の面をスレーブ面としてもよい。
【０１２５】
また、変数結合部１３２は、要素の辺それぞれに対して未知数を示す変数を定義する。未知数は、その辺の基底関数にかけるスカラ値であり、その辺のベクトルポテンシャルの大きさを示す。そして、変数結合部１３２は、スレーブ面が有する辺の変数を、当該スレーブ面と重なるマスタ面が有する辺の変数に従属させる。すなわち、変数結合部１３２は、スレーブ面の変数をマスタ面の変数の線形式に置き換える。変数結合部１３２は、線形式に含まれる変数の重み（変数にかける実数）を示す重みデータを生成し、生成した重みデータを重みデータ記憶部１２２に格納する。
【０１２６】
方程式生成部１３３は、重みデータ記憶部１２２から重みデータを読み出す。方程式生成部１３３は、変数結合部１３２が辺に対して定義した変数と重みデータが示す線形式に基づいて、連立方程式を生成する。連立方程式を生成するにあたり、方程式生成部１３３は、スレーブ面の辺の未知数を独立した変数として表現せず、重みデータが示す線形式に従ってマスタ面の辺の未知数に依存するものとして取り扱う。そして、方程式生成部１３３は、連立方程式の係数を集めた係数行列を生成し、方程式記憶部１２３に格納する。一般に、生成する係数行列は大規模かつ疎な（ゼロが多い）行列であることが多い。
【０１２７】
解算出部１３４は、方程式記憶部１２３から係数行列を読み出す。解算出部１３４は、係数行列に対して各種の行列演算を行うことで連立方程式を解く。連立方程式の解法は、既存の任意のものを利用することができる。これにより、各辺の未知数が算出され、その辺のベクトルポテンシャルを特定できる。ただし、スレーブ面が有する辺の未知数は、連立方程式自体からは算出されず、そのスレーブ面と重なるマスタ面が有する辺の未知数と重みデータが示す線形式とから算出される。解算出部１３４は、算出した未知数などを示す解析結果を生成し、解析結果記憶部１２４に格納する。なお、解算出部１３４は、解析結果を可視化して（例えば、ベクトルポテンシャルを矢印やグラデーションなどを用いて表現した画像を生成して）ディスプレイ１１１に表示してもよい。
【０１２８】
図１２は、幾何データの構造例を示す図である。
幾何データ記憶部１２１は、点データ１４１、辺データ１４２および面データ１４３を記憶する。点データ１４１は、節点の集合を示す。辺データ１４２は、２つの節点によって特定される辺の集合を示す。面データ１４３は、複数の節点（例えば、四面体要素の場合は３個の節点、六面体要素の場合は４個の節点）によって特定される面の集合を示す。
【０１２９】
点データ１４１は、点番号、Ｘ座標、Ｙ座標およびＺ座標の項目を有する。点番号は、節点を識別する自然数の識別番号である。Ｘ座標、Ｙ座標およびＺ座標は、モデル空間上における節点の位置を示す。辺データ１４２は、辺番号、点１および点２の項目を有する。辺番号は、辺を識別する自然数の識別番号である。点１および点２は、辺の両端に位置する節点を点番号を用いて特定する項目である。面データ１４３は、面番号、点１、点２、点３および点４の項目を有する。面番号は、面を識別する自然数の識別番号である。点１、点２、点３および点４は、面の頂点に位置する節点を点番号を用いて特定する項目である。ただし、四面体要素の面については、点４の項目は空でよい。また、面データ１４３は、点番号に代えて辺番号を用いて面を特定することも可能である。
【０１３０】
図１３は、重みデータの構造例を示す図である。
重みデータ記憶部１２２は、重みデータ１４４を記憶する。重みデータ１４４は、スレーブ面が有する辺の未知数を算出するための線形式を示す。重みデータ１４４は、スレーブ辺番号、マスタ辺数、マスタ辺番号および重みの項目を有する。
【０１３１】
スレーブ辺番号は、スレーブ面が有する辺の辺番号である。マスタ辺数は、スレーブ辺番号が示す辺の未知数と関連するマスタ面の辺の数であり、線形式に現れるマスタ面の変数の数に相当する。マスタ辺番号は、スレーブ辺番号が示す辺の未知数と関連するマスタ面の辺を、辺番号を用いて特定する項目である。マスタ辺番号の項目では、マスタ辺数の項目が示す数だけ辺番号が列挙される。重みは、スレーブ辺番号が示す辺の未知数と関連するマスタ面の辺について、その辺の変数にかける実数を特定する項目である。重みの項目では、マスタ辺数の項目が示す数だけ実数が列挙される。
【０１３２】
図１４は、変数結合の手順例を示すフローチャートである。
（Ｓ１）要素算出部１３１は、移動可能な部位を含む物体（例えば、回転子３２を含むモータ３０）のモデルを、少なくとも一部の部位を移動させることで変形する。変数結合部１３２は、移動した部位と他の部位の間の境界に位置する要素を抽出する。そして、変数結合部１３２は、一方の部位に含まれる要素の面であって境界面に属する面を、マスタ面として抽出する。また、変数結合部１３２は、他方の部位に含まれる要素の面であって境界面に属する面を、スレーブ面として抽出する。２つの部位の何れの側をマスタ面とするかは、変数結合部１３２が決定してもよいしユーザが選択してもよい。ただし、１つの部位の中にマスタ面とスレーブ面を混在させないことが好ましい。
【０１３３】
（Ｓ２）変数結合部１３２は、ステップＳ１で抽出したスレーブ面を１つ選択する。
（Ｓ３）変数結合部１３２は、ステップＳ２で選択したスレーブ面が、何れかのマスタ面と重なる重畳領域を含むか判断する。２つの面が重なるか否かは、幾何データ記憶部１２１に記憶された点データ１４１および面データ１４３に基づいて、各面の位置を算出することで判定できる。選択したスレーブ面が重畳領域を含む場合はステップＳ４に処理が進み、重畳領域を含まない場合はステップＳ８に処理が進む。
【０１３４】
（Ｓ４）変数結合部１３２は、ステップＳ２で選択したスレーブ面と重なる１または２以上のマスタ面を特定する。変数結合部１３２は、スレーブ面が有する辺のうち重畳領域に属する部分について、マスタ面のベクトルポテンシャルを線積分する。スレーブ面が有する辺の位置は、幾何データ記憶部１２１に記憶された点データ１４１および辺データ１４２に基づいて算出できる。マスタ面のベクトルポテンシャルは、そのマスタ面が有する辺の基底関数と変数を用いて表現される。よって、線積分の結果は、マスタ面で使用される変数の線形式として表される。ここで算出される線形式は、非重畳領域の存在を考慮しない場合における、スレーブ面が有する辺の変数に対応する。
【０１３５】
（Ｓ５）変数結合部１３２は、ステップＳ２で選択したスレーブ面が、何れのマスタ面とも重ならない非重畳領域を含むか判断する。選択したスレーブ面が非重畳領域を含む場合、ステップＳ６に処理が進む。スレーブ面が非重畳領域を含まない場合、変数結合部１３２は、ステップＳ４で算出した線形式を、重みデータ記憶部１２２に記憶された重みデータ１４４に登録する。そして、ステップＳ８に処理が進む。
【０１３６】
（Ｓ６）変数結合部１３２は、重畳領域と非重畳領域の間の境界線を算出する。変数結合部１３２は、マスタ面のベクトルポテンシャルを境界線に沿って線積分する。そして、変数結合部１３２は、境界線の線積分の結果を用いて、境界線からスレーブ面が有する辺のうち非重畳領域に属する部分への寄与を決定する。非重畳領域に属する各線分への寄与は、当該線分の基底関数を境界線に沿って線積分した値に比例するように決定される。決定された寄与は、マスタ面で使用される変数の線形式として表される。
【０１３７】
（Ｓ７）変数結合部１３２は、スレーブ面の辺毎に、ステップＳ４で算出した線形式にステップＳ６で算出した寄与を示す線形式を加える。これによって得られる線形式は、非重畳領域の存在を考慮した場合における、スレーブ面が有する辺の変数に対応する。すなわち、スレーブ面の辺毎に、当該辺の未知数がマスタ面の変数を用いて表現される。変数結合部１３２は、この線形式を重みデータ１４４に登録する。
【０１３８】
（Ｓ８）変数結合部１３２は、ステップＳ１で抽出したスレーブ面の全てをステップＳ２において選択したか判断する。全てのスレーブ面を選択した場合は変数結合の処理が終了し、未選択のスレーブ面がある場合はステップＳ２に処理が進む。
【０１３９】
第２の実施の形態の磁界シミュレータ装置１００によれば、辺要素有限要素法において、スレーブ面の辺のうちマスタ面と重なる重畳領域の線分については、マスタ面のベクトルポテンシャルに基づいて未知数を表す線形式が算出される。一方、スレーブ面の辺のうちマスタ面と重ならない非重畳領域の線分については、重畳領域と非重畳領域の境界から受ける寄与を表す線形式が算出される。これにより、スレーブ面が有する辺全体について、その未知数をマスタ面で定義された変数を用いて適切に表現することができる。
【０１４０】
よって、マスタ面とスレーブ面が辺を共有せず不連続であっても、マスタ面を含む要素とスレーブ面を含む要素の間の磁束の流れを適切に表現でき、磁場解析の精度を向上させることができる。また、スレーブ面の中に何れのマスタ面とも重ならない非重畳領域が含まれていても、磁束の流れを適切に表現でき、磁場解析の精度を向上させることができる。このため、位置関係が変化する複数の部位を含む物体（例えば、モータなど）について、位置関係が変化する毎に要素を生成し直さなくても磁場解析を行うことができ、そのような物体に対する辺要素有限要素法を用いた磁場解析が容易となる。
【０１４１】
また、境界線から非重畳領域への寄与は、非重畳領域の線分と境界線との位置関係に応じて決定される。これにより、境界線と平行な線分に対する寄与を大きくし、境界線と垂直な線分に対する寄与を小さくすることができる。このため、隣接する他のスレーブ面への寄与の影響を抑制することができ、磁場解析の精度を向上させることができると共に、辺要素有限要素法の計算を簡潔にし磁場解析を容易にすることができる。
【０１４２】
なお、第１の実施の形態の情報処理は、磁界シミュレータ装置１０にプログラムを実行させることで実現できる。第２の実施の形態の情報処理は、磁界シミュレータ装置１００にプログラムを実行させることで実現できる。
【０１４３】
プログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体１１３）に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体からＨＤＤなどの他の記録媒体（例えば、ＨＤＤ１０３）にプログラムをコピーして実行してもよい。
【符号の説明】
【０１４４】
１０  磁界シミュレータ装置
１１  記憶部
１２  演算部
１３  モデル
１３ａ，１３ｂ  面
１３ｃ  重畳領域
１３ｄ  非重畳領域
１４ａ  位置情報
１４ｂ，１４ｃ，１４ｄ  磁界情報
【図１】
0006424651.tif 000027
【図２】
0006424651.tif 000028
【図３】
0006424651.tif 000029
【図４】
0006424651.tif 000030
【図５】
0006424651.tif 000031
【図６】
0006424651.tif 000032
【図７】
0006424651.tif 000033
【図８】
0006424651.tif 000034
【図９】
0006424651.tif 000035
【図１０】
0006424651.tif 000036
【図１１】
0006424651.tif 000037
【図１２】
0006424651.tif 000038
【図１３】
0006424651.tif 000039
【図１４】
0006424651.tif 000040