(57)【要約】【課題】磁性体解析で扱われる磁化ベクトルの保存効率を向上する。【解決手段】磁性体解析装置１は、磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて期間の間に変化した変化量を算出する変化量算出部４１と、期間毎に算出されたそれぞれの磁化ベクトルの変化量を、期間毎に累計する変化量累計部４２と、累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定する変化量判定部４３と、変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部３０に保存する保存部４４と、を有する。【選択図】図１
2015103189.tif 000002
【特許請求の範囲】
【請求項１】
磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出する算出部と、
前記算出部によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計する累計部と、
前記累計部によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定する判定部と、
前記判定部によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する記録部と、
を有することを特徴とする磁性体解析装置。
【請求項２】
前記判定部は、前記記録部によって超えた時点の磁化ベクトルが前記記憶部に記録されると、超えた時点以降の磁化ベクトルの変化量の累計値が、新たに前記変化幅を超えるか否かを判定し、
前記記録部は、前記判定部によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルおよび前回超えた時点から今回超えた時点までの期間を対応付けて記憶部に記録する
ことを特徴とする請求項１に記載の磁性体解析装置。
【請求項３】
前記記憶部に記憶された記録毎の磁化ベクトルおよび期間を用いて、記録された順に、それぞれ期間だけスリープさせ、当該期間に対応付けた磁化ベクトルを出力する出力部
を有することを特徴とする請求項２に記載の磁性体解析装置。
【請求項４】
コンピュータに、
磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出し、
前記算出する処理によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計し、
前記累計する処理によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定し、
前記判定する処理によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する
処理を実行させることを特徴とする磁性体解析プログラム。
【請求項５】
コンピュータが、
磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出し、
前記算出する処理によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計し、
前記累計する処理によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定し、
前記判定する処理によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する
各処理を実行することを特徴とする磁性体解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁性体解析装置などに関する。
【背景技術】
【０００２】
マイクロメートル（μｍ）以下の小さい領域の磁性体の磁化構造を数値解析する場合、マイクロマグネティクス解析と呼ばれる解析手法が使用される。マイクロマグネティックス解析は、複数の磁化ベクトルを未知数とする磁化ベクトルの歳差運動方程式（ＬＬＧ方程式）を解いて、磁化ベクトルの時間変化を計算する。この解析手法は時間に依存する過渡計算であり、時間の経過と共に磁化ベクトルが変化する。ここで、磁化ベクトルとは、例えば、マイクロマグネティックス解析において、ＬＬＧ方程式の未知数であり、有限要素法や有限差分法で扱うメッシュの個々の要素に定義されるベクトルの値のことをいう。
【０００３】
従来のマイクロマグネティックス解析では、磁化ベクトルを保存する時間間隔の値が設定され計算が開始されると、設定された一定の時間間隔で磁化ベクトルのデータを保存する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−８３７６４号公報
【特許文献２】特開２００４−１１０２１２号公報
【特許文献３】国際公開第２００５／０５７４３４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のマイクロマグネティックス解析では、一定の時間間隔で磁化ベクトルのデータを保存するので、磁化ベクトルのデータを効率的に保存することができないという問題がある。例えば、磁化ベクトルにおける時間変化の割合が不均一な場合、つまり磁化ベクトルが変化しない時間領域と磁化ベクトルが急激に変化する時間領域とが混在する場合に、磁化ベクトルのデータを効率的に保存することができない。かかる場合の問題について、図８および図９を参照して説明する。
【０００６】
図８は、磁化ベクトルの変化と保存時間間隔が長い場合の保存のタイミングを示す図である。図８に示すように、一定の時間間隔（保存時間間隔）で磁化ベクトルのデータを保存したとすると、短い時間で磁化ベクトルが大きく変化する過程（変化が急激）の磁化ベクトルのデータを十分な数だけ保存することができない。
【０００７】
図９は、磁化ベクトルの変化と保存時間間隔が短い場合の保存のタイミングを示す図である。図９に示すように、一定の時間間隔（保存時間間隔）で磁化ベクトルのデータを保存したとすると、短い時間で磁化ベクトルが大きく変化する過程（変化が急激）の磁化ベクトルを保存することが可能となる。ところが、保存される磁化ベクトルの大部分は変化しない値であるために、多くの磁化ベクトルのデータを無駄に保存してしまう。
【０００８】
なお、上記課題は、マイクロマグネティックス解析だけではなく、時間の経過と共に磁化ベクトルが変化する磁性体解析に同様に生じる課題である。
【０００９】
１つの側面では、磁性体解析で扱われる磁化ベクトルの保存効率を向上することができる磁性体解析装置、磁性体解析プログラムおよび磁性体解析方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の案では、磁性体解析装置は、磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出する算出部と、前記算出部によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計する累計部と、前記累計部によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定する判定部と、前記判定部によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する記録部と、を有する。
【発明の効果】
【００１１】
磁性体解析で扱われる磁化ベクトルの保存効率を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係る磁性体解析装置の構成を示す機能ブロック図である。
【図２】図２は、単位磁化ベクトルと変化量の総和と保存のタイミングを説明する図である。
【図３】図３は、結果データの一例を示す図である。
【図４】図４は、実施例に係る磁化ベクトル保存処理のフローチャートを示す図である。
【図５】図５は、実施例に係る結果出力処理のフローチャートを示す図である。
【図６Ａ】図６Ａは、磁化ベクトル（Ｙ軸成分）の磁化変化の遷移の一例を示す図（１）である。
【図６Ｂ】図６Ｂは、磁化ベクトル（Ｙ軸成分）の磁化変化の遷移の一例を示す図（２）である。
【図７】図７は、磁性体解析プログラムを実行するコンピュータの一例を示す図である。
【図８】図８は、磁化ベクトルの変化と保存のタイミングを示す図（保存時間間隔が長い場合）である。
【図９】図９は、磁化ベクトルの変化と保存のタイミングを示す図（保存時間間隔が短い場合）である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する磁性体解析装置、磁性体解析プログラムおよび磁性体解析方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、マイクロマグネティックス解析に適用した場合を示す。しかし、本実施例によりこの発明が限定されるものではなく、磁性体解析に広く適用可能である。
【実施例】
【００１４】
図１は、実施例に係る磁性体解析装置の構成を示す機能ブロック図である。図１に示すように、磁性体解析装置１は、入力部１０と、表示部２０と、記憶部３０と、制御部４０とを有する。
【００１５】
磁性体解析装置１は、磁性体解析の際、時間の経過と共に変化する磁化ベクトルのデータを、磁化ベクトルの変化量に応じて保存する。すなわち、磁性体解析装置１は、磁化ベクトルの変化が緩い場合、磁化ベクトルのデータを保存する時間間隔を変化量に応じて大きくし、磁化ベクトルの変化が急激な場合、磁化ベクトルのデータを保存する時間間隔を変化量に応じて小さくする。そして、磁性体解析装置１は、保存された磁化ベクトルのデータを、データが保存された時間間隔（保存時間間隔）に基づいて可視化する。ここで、磁化ベクトルとは、マイクロマグネティックス解析において、例えば、有限要素法や有限差分法で扱うメッシュの個々の要素に定義されるベクトルの値のことをいう。なお、実施例で扱う時間とは、磁性体解析のシミュレーション対象となる物理現象の空間における時間である。
【００１６】
入力部１０は、解析を行うユーザが各種の情報や指示を磁性体解析装置１に入力するための入力装置である。例えば、入力部１０は、キーボード、マウス、タッチパネルに対応する。表示部２０は、各種の情報を表示する表示装置である。例えば、表示部２０は、ディスプレイ、タッチパネルに対応する。
【００１７】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部３０は、メッシュデータ３１と、計算条件データ３２と、結果データ３３とを記憶する。メッシュデータ３１は、解析対象となる磁性体の領域を有限要素法や有限差分法により有限個に分割された複数の要素からなるデータである。要素とは、解析対象となる領域を分割した最小単位の領域であり、複数の節点によって構成される。また、計算条件データ３２は、磁性体解析の計算条件に関するデータである。計算条件データ３２には、例えば、有限要素法や有限差分法で扱うメッシュの個々の要素の数や、後述する変化量幅の値が含まれる。なお、結果データ３３のデータの書式は、後述するものとする。
【００１８】
制御部４０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路の電子回路に対応する。また、制御部４０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路に対応する。そして、制御部４０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部４０は、磁性体解析処理を実行する。磁性体解析処理は、記憶部３０からメッシュデータ３１および計算条件データ３２を読み込んで計算を開始する。そして、磁性体解析処理は、過渡計算の過程で、メッシュデータ３１の各要素に磁化ベクトルを配置し、配置した磁化ベクトルを場のデータとして記憶部３０に保存する。
【００１９】
制御部４０は、変化量算出部４１と、変化量累計部４２と、変化量判定部４３と、保存部４４と、結果出力部４５とを有する。
【００２０】
変化量算出部４１は、磁性体解析の際に、解析開始から解析終了までの所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて当該期間の間に変化した変化量を算出する。ここでいう所定の期間とは、磁性体解析で扱われる時間における時間刻み幅を意味する。例えば、変化量算出部４１は、時間刻み幅分経た直後の時刻で、単位磁化ベクトルの変化量を算出する。ここで、単位磁化ベクトルとは、磁化ベクトルを飽和磁束密度で割った値のことをいう。すなわち、単位磁化ベクトルは、磁化ベクトルの大きさを１に規格化したベクトルである。
【００２１】
一例として、変化量算出部４１は、式（１）を用いて、時刻ｉの単位磁化ベクトルの変化量ｄｍｓｕｍｉを算出する。
【数１】
2015103189.tif 000003
【００２２】
式（１）で示されるｄｍｓｕｍｉは、時刻ｉにおいてメッシュデータ３１の全ての要素（または節点など）に配置される単位磁化ベクトルの変化量の絶対値の平均値である。変化量ｄｍｊｉは、ｊ番目の要素（または節点など）における単位磁化ベクトルの物理量が時刻ｉ−１と時刻ｉとの間に変化する量である。変化量ｄｍｊｉは、ベクトルを対象とするため、式（２）のように、変化したベクトルの絶対値で表される。
【数２】
2015103189.tif 000004
なお、磁化ベクトルを１の大きさに規格化した単位磁化ベクトルを用いることで、変化量を百分率で定義することができる。
【００２３】
式（２）は、ｘ、ｙ、ｚ成分で表現すると、式（３）のように表される。
【数３】
2015103189.tif 000005
【００２４】
変化量累計部４２は、所定の期間毎に算出されたそれぞれの磁化ベクトルの変化量を、所定の期間毎に累計する。例えば、変化量累計部４２は、変化量算出部４１によって時間刻み分経た直後の時刻で算出された単位磁化ベクトルの変化量を、これまで算出された単位磁化ベクトルの変化量の総和に加算する。一例として、変化量累計部４２は、式（４）を用いて、時刻Ｔまでの単位磁化ベクトルの変化量の総和を算出する。
【数４】
2015103189.tif 000006
なお、磁化ベクトルを１の大きさに規格化した単位磁化ベクトルを用いることで、変化量の総和を百分率で定義することができ、式（４）に示す１００を掛けることで変化量の総和をパーセント（％）で定義することができる。
【００２５】
変化量判定部４３は、磁化ベクトルの変化量の累計値が、変化量幅を超えるか否かを判定する。変化量幅は、保存のタイミングを決めるために用いられる。なお、変化量幅は、予めユーザによって定められる。例えば、変化量判定部４３は、変化量累計部４２によって各時刻における単位磁化ベクトルの変化量が累計された結果得られた総和が、変化量幅を超えるか否かを判定する。そして、変化量判定部４３は、変化量幅を超えると判定した場合、超えた時刻の磁化ベクトルを保存すべく、保存部４４に移行する。
【００２６】
また、変化量判定部４３は、後述する保存部４４によって超えた時刻の磁化ベクトルが保存されると、超えた時刻以降の磁化ベクトルの変化量の累計値が、新たに変化量幅を超えるか否かを判定する。そして、変化量判定部４３は、変化量幅を超えると判定した場合、超えた時刻の磁化ベクトルを保存すべく、保存部４４に移行する。なお、変化量判定部４３は、変化量幅を超えないと判定した場合、次の時刻の磁化ベクトルの変化量を算出すべく、変化量算出部４１に移行する。
【００２７】
保存部４４は、磁化ベクトルの変化量の累計値が変化量幅を超えた場合に、超えた時刻の磁化ベクトルを結果データ３３に保存する。例えば、保存部４４は、変化量判定部４３によって変化量幅を超えたと判定された場合に、超えた時刻の単位磁化ベクトルおよび前回超えた時刻から今回超えた時刻までの期間を対応付けて結果データ３３に保存する。この期間のことを「保存時間間隔」というものとする。
【００２８】
［単位磁化ベクトルを保存するタイミング］
ここで、単位磁化ベクトルを保存するタイミングについて、図２を参照して説明する。図２は、単位磁化ベクトルと変化量の総和と保存のタイミングを説明する図である。図２に示す折れ線グラフは、Ｘ軸を時間、Ｙ軸を単位磁化ベクトルの平均値＜ｍ＞および単位磁化ベクトルの変化量の総和＜ｍｓｕｍ＞として表している。実線の曲線は、時間に対応する単位磁化ベクトルの平均値＜ｍ＞を表している。破線の曲線は、時間に対応して刻々と変化する単位磁化ベクトルの変化量の総和＜ｍｓｕｍ＞を表している。
【００２９】
単位磁化ベクトルの変化量の総和＜ｍｓｕｍ＞は、式（４）で表される。単位磁化ベクトルの平均値＜ｍ＞は、時刻ｉにおいて全ての要素（または節点など）ｊに配置される単位磁化ベクトルの平均値を、式（５）で表される。
【数５】
2015103189.tif 000007
【００３０】
また、変化量の総和の軸に対して一定の間隔で水平の補助線がある。この水平の補助線の間隔が、変化量幅となる。
【００３１】
このような状況の下、変化量判定部４３は、変化量累計部４２によって各時刻における単位磁化ベクトルの変化量が累計された結果得られた総和が、変化量幅を超えるか否かを判定する。そして、保存部４４は、変化量判定部４３によって変化量幅を超えたと判定された場合に、超えた時刻の単位磁化ベクトルおよび前回超えた時刻から今回超えた時刻までの期間（保存時間間隔）を対応付けて結果データ３３に保存する。
【００３２】
一例として、変化量判定部４３は、時刻ｔ１における単位磁化ベクトルの変化量の総和が、変化量幅を超えると判定する（△で表示）。したがって、保存部４４は、超えた時刻ｔ１における単位磁化ベクトルおよび計算開始０から今回超えた時刻ｔ１までの保存時間間隔ｔ１を対応付けて結果データ３３に保存する。別の一例として、変化量判定部４３は、時刻ｔ２における単位磁化ベクトルの変化量の総和が、変化量幅を超えると判定する（▽で表示）。したがって、保存部４４は、超えた時刻ｔ２における単位磁化ベクトルおよび前回超えた時刻ｔ１から今回超えた時刻ｔ２までの保存時間間隔（ｔ２−ｔ１）を対応付けて結果データ３３に保存する。
【００３３】
すなわち、変化量幅を示す水平の補助線と、変化量の総和の曲線とが交わる点を通過するように垂直の補助線が生成される。生成された垂直の補助線の時間（例えば、ｔ１、ｔ２）が、単位磁化ベクトルを保存する時刻となる。この時刻の垂直の補助線と、単位磁化ベクトルの平均値の曲線との交点（○で表示）が、保存する時刻の単位磁化ベクトルの平均値＜ｍ＞となる。
【００３４】
これにより、保存部４４は、磁化ベクトルが大きく変化しない時間領域（例えば、０〜ｔ１、ｔ３〜）では、磁化ベクトルの値に変化が小さいので磁化ベクトルのデータを無駄に保存することを防止できる。一方、保存部４４は、磁化ベクトルが大きく変化する時間領域（例えばｔ１〜ｔ３）では、磁化ベクトルのデータを十分な数だけ保存することができる。すなわち、保存部４４は、磁化ベクトルの変化量に応じて磁化ベクトルのデータを保存することが可能となる。
【００３５】
［計算データの一例］
ここで、保存部４４によって保存される結果データ３３の一例を、図３を参照して説明する。図３は、結果データ３３の一例を示す図である。図３上図には、解析対象となる磁性体のメッシュデータ３１が表されている。メッシュデータ３１は、解析対象となる磁性体の領域を１５個に分割された複数の要素からなる。各要素の中心には、磁化ベクトルが配置される。このモデルを用いた過渡計算の結果データ３３には、保存タイミングの時刻毎に１５要素分の磁化ベクトルおよび保存時間間隔の情報が保存される。
【００３６】
図３下図には、結果データ３３の一例が示される。結果データ３３には、ステップｄ１と、保存時間間隔ｄ２と、要素番号ｄ３と、磁化ベクトルｄ４とが含まれる。ステップｄ１は、保存タイミングの時刻毎に保存された情報の識別番号であり、昇順に付与される。保存時間間隔ｄ２は、変化量幅を前回超えた時刻から今回超えた時刻までの期間を示す。要素番号ｄ３は、要素の番号を示す。要素番号ｄ３の各番号は、式（１）〜式（５）のインデックスｊの各値に対応する。磁化ベクトルｄ４は、要素番号ｄ３が示す番号に対応する磁化ベクトルの値を示す。例えば、磁化ベクトルｄ４は、ｘ成分の値、ｙ成分の値、ｚ成分の値で示される。
【００３７】
一例として、ステップ（Ｓｔｅｐ）ｄ１が「１」である場合、保存時間間隔（ＳｐａｎＴ）ｄ２として「０．０１２０１」を記憶している。そして、要素番号ｄ３が「１」である場合、磁化ベクトルｄ４について、ｘ成分として「００００００ｅ＋０００」、ｙ成分として「００００００ｅ＋０００」、ｚ成分として「００００００ｅ＋０００」を記憶している。要素番号ｄ３が「１５」である場合、磁化ベクトルｄ４について、ｘ成分として「９６８０２４ｅ−００１」、ｙ成分として「１．８３２９１６ｅ−００２」、ｚ成分として「７．７７７５３６ｅ−００２」を記憶している。
【００３８】
図１に戻って、結果出力部４５は、記憶部３０に保存された結果データ３３を用いて、磁化ベクトルを出力する。例えば、結果出力部４５は、記憶部３０に保存された順に、結果データ３３の保存時間間隔だけスリープさせ、保存時間間隔に対応付けた磁化ベクトルを出力する。具体的には、結果出力部４５は、磁化ベクトルを連続的に描画するフレームとフレームとの間に、保存時間間隔の係数倍の時間だけスリープさせる。そして、結果出力部４５は、メッシュデータ３１に含まれる該当するメッシュ上に磁化ベクトルを配置して出力する。これにより、結果出力部４５は、磁化ベクトルの実際の物理的挙動に合うように、可視化することができる。
【００３９】
［磁化ベクトル保存処理のフローチャート］
次に、図４を参照して、磁化ベクトル保存処理のフローチャートを説明する。図４は、実施例に係る磁化ベクトル保存処理のフローチャートを示す図である。
【００４０】
まず、制御部４０は、解析要求があったか否かを判定する（ステップＳ１０）。解析要求がなかったと判定した場合（ステップＳ１０；Ｎｏ）、制御部４０は、解析要求があるまで、判定処理を繰り返す。
【００４１】
一方、制御部４０は、解析要求があったと判定した場合（ステップＳ１０；Ｙｅｓ）、制御部４０は、変化量幅ｄ、磁化ベクトルが配置される要素の数Ｎおよび時間ステップの最大数Ｔを設定する（ステップＳ１１）。例えば、制御部４０は、入力部１０から入力された、変化量幅、磁化ベクトルが配置される要素の数および時間ステップの最大数をそれぞれの変数に設定する。
【００４２】
続いて、制御部４０は、解析に用いられる各変数を初期化する（ステップＳ１２）。例えば、制御部４０は、磁化ベクトルの変化量の総和の設定に用いられる変数ｍｓｕｍを０に設定する。制御部４０は、ステップの設定に用いられるＳｔｅｐを０に設定する。ここでいうステップとは、保存タイミングの時刻毎に設定される識別番号であり、結果データ３３のステップｄ１に対応する。また、制御部４０は、解析内での時間の管理に用いられるＴｉｍｅに０を設定する。制御部４０は、前回超えた時刻の設定に用いられるＴｉｍｅＯｌｄに０を設定する。制御部４０は、時間ステップの設定に用いられるｉに１を設定する。この時間ステップｉは、保存時刻に対応するインデックスとなる。制御部４０は、時間ステップｉが０である場合の全要素ｊの磁化ベクトルの値ｍj０に０を設定する。
【００４３】
この後、変化量判定部４３は、磁化ベクトルの変化量の総和の設定に用いられる変数ｍｓｕｍが、ステップの設定に用いられるＳｔｅｐと変化量幅ｄを乗じて得た値以上であるか否かを判定する（ステップＳ１３）。すなわち、変化量判定部４３は、磁化ベクトルの変化量が累計された結果得られた総和が、変化量幅を超えるか否かを判定する。なお、変数ｍｓｕｍ、すなわち、磁化ベクトルの変化量が累計された結果得られた総和は、変化量累計部４２によって算出される。
【００４４】
変数ｍｓｕｍが、Ｓｔｅｐと変化量幅ｄを乗じて得た値未満であると判定した場合（ステップＳ１３；Ｎｏ）、変化量判定部４３は、時間を進めるべく、ステップＳ１６に移行する。
【００４５】
一方、変数ｍｓｕｍが、Ｓｔｅｐと変化量幅ｄを乗じて得た値以上であると判定した場合（ステップＳ１３；Ｙｅｓ）、保存部４４は、今回超えた時刻Ｔｉｍｅから前回超えた時刻ＴｉｍｅＯｌｄを引いた値を保存時間間隔としてＳｐａｎＴに設定する。そして、保存部４４は、前回超えた時刻ＴｉｍｅＯｌｄに今回超えた時刻Ｔｉｍｅを設定する（ステップＳ１４）。
【００４６】
そして、保存部４４は、今回超えた時刻の磁化ベクトルと保存時間間隔ＳｐａｎＴを結果データ３３に保存する。加えて、保存部４４は、Ｓｔｅｐに設定された値を結果データ３３に保存する。そして、保存部４４は、Ｓｔｅｐに１を加算する（ステップＳ１５）。そして、保存部４４は、時間を進めるべく、ステップＳ１６に移行する。
【００４７】
ステップＳ１６では、変化量算出部４１が、時間管理に用いられる変数Ｔｉｍｅに時間刻み幅ｄＴｉｍｅを加算する（ステップＳ１６）。
【００４８】
続いて、変化量算出部４１は、時間ステップｉの磁化ベクトルの変化量ｄｍｓｕｍを初期化すべく０に設定する。また、変化量算出部４１は、要素ｊを１に設定する（ステップＳ１７）。そして、変化量算出部４１は、時間ステップｉの磁化ベクトルの変化量ｄｍｓｕｍを、以下のように算出する。すなわち、変化量算出部４１は、今回の時間ステップｉと前回の時間ステップｉ−１との要素ｊにおける磁化ベクトルの変化量の絶対値の平均値をｄｍｓｕｍに加算する。そして、変化量算出部４１は、要素ｊを１だけ加算する（ステップＳ１８）。
【００４９】
そして、変化量算出部４１は、要素ｊが要素の最大数であるＮ以下であるか否かを判定する（ステップＳ１９）。要素ｊが要素の最大数であるＮ以下であると判定した場合（ステップＳ１９；Ｙｅｓ）、変化量算出部４１は、次の要素ｊの変化量を算出すべく、ステップＳ１８に移行する。
【００５０】
一方、要素ｊが要素の最大数であるＮより大きいと判定した場合（ステップＳ１９；Ｎｏ）、変化量累計部４２は、時間ステップｉの磁化ベクトルの変化量ｄｍｓｕｍを磁化ベクトルの変化量の総和ｍｓｕｍに加算する。そして、変化量累計部４２は、時間ステップｉを１だけ加算する（ステップＳ２０）。すなわち、変化量累計部４２は、変化量算出部４１によって算出された磁化ベクトルの変化量を、これまで算出された磁化ベクトルの変化量の総和に加算する。
【００５１】
そして、変化量累計部４２は、時間ステップｉが時間ステップの最大数Ｔ以下であるか否かを判定する（ステップＳ２１）。時間ステップｉが時間ステップの最大数Ｔ以下であると判定した場合（ステップＳ２１；Ｙｅｓ）、変化量累計部４２は、変化量を判定すべく、ステップＳ１３に移行する。
【００５２】
一方、時間ステップｉが時間ステップの最大数Ｔ未満であると判定した場合（ステップＳ２１；Ｎｏ）、制御部４０は、磁化ベクトル保存処理を終了する。
【００５３】
［結果出力処理のフローチャート］
次に、図５を参照して、結果出力処理のフローチャートを説明する。図５は、実施例に係る結果出力処理のフローチャートを示す図である。
【００５４】
まず、制御部４０は、結果出力要求があったか否かを判定する（ステップＳ３０）。結果出力要求がなかったと判定した場合（ステップＳ３０；Ｎｏ）、制御部４０は、結果出力要求があるまで、判定処理を繰り返す。
【００５５】
一方、結果出力部４５は、結果出力要求があったと判定した場合（ステップＳ３０；Ｙｅｓ）、結果として出力するフレームのフレーム数ＳｔｅｐＡｌｌおよびフレーム間でスリープさせるために用いられるスリープ係数Ｓを設定する（ステップＳ３１）。例えば、結果出力部４５は、入力部１０から入力された、出力するフレーム数およびスリープ係数をそれぞれの変数に設定する。出力するフレーム数として、結果データ３３に設定されたステップｄ１の最大数を超えない数が入力部１０から入力される。
【００５６】
続いて、結果出力部４５は、結果出力に用いられる変数を初期化する（ステップＳ３２）。例えば、結果出力部４５は、出力するフレーム番号として用いられる変数Ｓｔｅｐに１を設定する。
【００５７】
そして、結果出力部４５は、結果データ３３を読み出して、フレーム番号として示されるＳｔｅｐの磁化ベクトルを可視化する。ここでいうＳｔｅｐは、結果データ３３のステップｄ１に対応する。そして、結果出力部４５は、結果データ３３のステップｄ１で表される値のうちＳｔｅｐと一致する値の結果について、保存時間間隔ｄ２で表される時間ＳｐａｎＴだけ、Ｓｌｅｅｐ関数を用いて停止させる（ステップＳ３３）。
【００５８】
そして、結果出力部４５は、結果データ３３のステップｄ１で表される値のうちＳｔｅｐと一致する値の結果について、要素番号ｄ３分の磁化ベクトルｄ４を表示部２０に表示する（ステップＳ３４）。なお、結果出力部４５は、Ｘ軸成分、Ｙ軸成分およびＺ軸成分のいずれか１つの成分の磁化ベクトルを表示しても良い。また、結果出力部４５は、Ｘ軸成分、Ｙ軸成分およびＺ軸成分のいずれの２つの成分の磁化ベクトルを表示しても良いし、全成分の磁化ベクトルを纏めて表示しても良い。
【００５９】
そして、結果出力部４５は、フレーム番号として用いられる変数Ｓｔｅｐに１を加算する（ステップＳ３５）。そして、結果出力部４５は、変数Ｓｔｅｐがフレーム数を示すＳｔｅｐＡｌｌ以下であるか否かを判定する（ステップＳ３６）。変数Ｓｔｅｐがフレーム数を示すＳｔｅｐＡｌｌ以下であると判定した場合（ステップＳ３６；Ｙｅｓ）、結果出力部４５は、次のフレームを出力すべく、ステップＳ３３に移行する。
【００６０】
一方、変数Ｓｔｅｐがフレーム数を示すＳｔｅｐＡｌｌより大きいと判定した場合（ステップＳ３６；Ｎｏ）、結果出力部４５は、結果出力処理を終了する。
【００６１】
［結果出力の一例］
次に、結果出力部４５による結果出力の一例を、図６Ａおよび図６Ｂに示す。図６Ａおよび図６Ｂは、磁化ベクトル（Ｙ軸成分）の磁化変化の遷移の一例を示す図である。なお、結果データ３３には、複数要素の磁化ベクトルが時間ステップ（ここでは、１５個）分設定されているとする。
【００６２】
図６Ａおよび図６Ｂに示すように、結果出力部４５は、結果データ３３に設定されたＳｔｅｐ１の結果を用いて、磁化ベクトルｄ４のＹ成分の磁化ベクトルを出力している。Ｙ成分の磁化ベクトルｄ４は、要素番号ｄ３に設定される全ての番号の要素について出力される。ここでは、結果出力部４５は、Ｓｔｅｐ１の結果を用いて、保存時間間隔ｄ２の係数倍の時間だけスリープさせる。そして、結果出力部４５は、Ｙ成分の磁化ベクトルを、各要素の中心に配置して出力している。
【００６３】
次に、結果出力部４５は、結果データ３３に設定されたＳｔｅｐ２の結果を用いて、磁化ベクトルｄ４のＹ成分の磁化ベクトルを出力している。Ｙ成分の磁化ベクトルｄ４は、要素番号ｄ３に設定されている全番号の要素について出力される。ここでは、結果出力部４５は、Ｓｔｅｐ２の結果を用いて、保存時間間隔ｄ２の係数倍の時間だけスリープさせる。そして、結果出力部４５は、Ｙ成分の磁化ベクトルを、各要素の中心に配置して出力している。
【００６４】
このように、結果出力部４５は、結果データ３３に設定されたステップｄ１の値が小さい順に、１５個の時間ステップ分の磁化ベクトルを出力している。これにより、結果出力部４５は、磁化ベクトルの実際の物理的挙動の変化速度に比例して、磁化ベクトルを可視化することができる。
【００６５】
［実施例の効果］
上記実施例によれば、磁性体解析装置１は、磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出する。そして、磁性体解析装置１は、期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計する。そして、磁性体解析装置１は、累計された磁化ベクトルの変化量の累計が、予め定められた変化量幅を超えるか否かを判定する。そして、磁性体解析装置１は、変化量幅を超えたと判定された場合に、超えた時点の磁化ベクトルを結果データ３３として記憶部３０に記録する。かかる構成によれば、磁性体解析装置１は、磁化ベクトルの変化量に応じて磁化ベクトルを保存するので、磁化ベクトルの保存効率を向上することができる。すなわち、磁性体解析装置１は、磁化ベクトルの変化が大きく変化しない期間では、磁化ベクトルを無駄に保存することを防止できる。一方、磁性体解析装置１は、磁化ベクトルが大きく変化する期間では、短期間で磁化ベクトルを保存できるので、刻々と変化する磁化ベクトルを保存することが可能となる。
【００６６】
また、磁性体解析装置１は、超えた時点の磁化ベクトルが記憶部３０に記録されると、超えた時点以降の磁化ベクトルの変化量の累計が、新たに変化幅を超えるか否かを判定する。そして、磁性体解析装置１は、変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルおよび前回超えた時点から今回超えた時点までの期間を対応付けて記憶部３０に記録する。かかる構成によれば、磁性体解析装置１は、磁化ベクトルの変化量に応じて、刻々と変化する磁化ベクトルを保存できる。
【００６７】
また、磁性体解析装置１は、記憶部３０に記憶された記録毎の磁化ベクトルおよび期間を用いて、記録された順に、それぞれ期間だけスリープさせ、当該期間に対応付けた磁化ベクトルを出力する。かかる構成によれば、磁性体解析装置１は、記録された順に、それぞれ期間だけスリープさせることで、実際の物理現象の磁場の変化を可視化することができる。
【００６８】
また、磁性体解析装置１は、所定の期間を経た時点毎に、解析対象が分割される各要素に配置される磁化ベクトルの各変化量を用いて、磁化ベクトルの変化量として磁化ベクトルの変化量の絶対値の平均値を算出する。かかる構成によれば、各時点毎に、解析対象が分割される各要素の磁化ベクトルを用いて解析対象における磁化ベクトルの変化量を算出するので、要素の数を増やす程、精度の良い磁化ベクトルの変化量を算出することが可能となる。
【００６９】
［その他］
なお、上記実施例では、磁性体解析装置１は、記憶部３０からメッシュデータ３１および計算条件データ３２を読み込んで計算を開始し、過渡計算の過程で磁化ベクトルの結果データ３３を記憶部３０に保存すると説明した。しかしながら、磁性体解析装置１は、磁性体解析装置１と接続された記憶装置からメッシュデータ３１および計算条件データ３２を取得して計算を開始し、過渡計算の過程で磁化ベクトルの結果データ３３を記憶部３０に保存するようにしても良い。また、磁性体解析装置１は、ネットワークを介してメッシュデータ３１および計算条件データ３２を受信して計算を開始し、過渡計算の過程で磁化ベクトルの結果データ３３を記憶部３０に保存するようにしても良い。
【００７０】
また、図示した磁性体解析装置１の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、磁性体解析装置１の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、変化量算出部４１と変化量累計部４２とを１つの部として統合しても良い。また、記憶部３０を磁性体解析装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【００７１】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した磁性体解析装置１と同様の機能を実現する磁性体解析プログラムを実行するコンピュータの一例を説明する。図７は、磁性体解析プログラムを実行するコンピュータの一例を示す図である。
【００７２】
図７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【００７３】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、磁性体解析プログラム２０５ａおよび磁性体解析関連情報２０５ｂを記憶する。
【００７４】
ＣＰＵ２０３は、磁性体解析プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、磁性体解析装置１の各機能部に対応する。磁性体解析関連情報２０５ｂは、メッシュデータ３１、計算条件データ３２および結果データ３３に対応する。そして、例えばリムーバブルディスク２１１が、磁性体解析プログラム２０５ａなどの各情報を記憶する。
【００７５】
なお、磁性体解析プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから磁性体解析プログラム２０５ａを読み出して実行するようにしても良い。
【００７６】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【００７７】
（付記１）磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出する算出部と、
前記算出部によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計する累計部と、
前記累計部によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定する判定部と、
前記判定部によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する記録部と、
を有することを特徴とする磁性体解析装置。
【００７８】
（付記２）前記判定部は、前記記録部によって超えた時点の磁化ベクトルが前記記憶部に記録されると、超えた時点以降の磁化ベクトルの変化量の累計値が、新たに前記変化幅を超えるか否かを判定し、
前記記録部は、前記判定部によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルおよび前回超えた時点から今回超えた時点までの期間を対応付けて記憶部に記録する
ことを特徴とする付記１に記載の磁性体解析装置。
【００７９】
（付記３）前記記憶部に記憶された記録毎の磁化ベクトルおよび期間を用いて、記録された順に、それぞれ期間だけスリープさせ、当該期間に対応付けた磁化ベクトルを出力する出力部
を有することを特徴とする付記２に記載の磁性体解析装置。
【００８０】
（付記４）前記算出部は、所定の期間を経た時点毎に、解析対象が分割される各要素に配置される磁化ベクトルの各変化量を用いて、磁化ベクトルの変化量として磁化ベクトルの変化量の絶対値の平均値を算出する
ことを特徴とする付記１に記載の磁性体解析装置。
【００８１】
（付記５）コンピュータに、
磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出し、
前記算出する処理によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計し、
前記累計する処理によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定し、
前記判定する処理によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する
処理を実行させることを特徴とする磁性体解析プログラム。
【００８２】
（付記６）コンピュータが、
磁性体解析の際に、所定の期間を経た時点毎に、解析対象に配置される磁化ベクトルについて前記期間の間に変化した変化量を算出し、
前記算出する処理によって前記期間毎に算出されたそれぞれの磁化ベクトルの変化量を、前記期間毎に累計し、
前記累計する処理によって累計された磁化ベクトルの変化量の累計値が、予め定められた変化幅を超えるか否かを判定し、
前記判定する処理によって前記変化幅を超えたと判定された場合に、超えた時点の磁化ベクトルを記憶部に記録する
各処理を実行することを特徴とする磁性体解析方法。
【符号の説明】
【００８３】
１  磁性体解析装置
１０  入力部
２０  表示部
３０  記憶部
３１  メッシュデータ
３２  計算条件データ
３３  結果データ
４０  制御部
４１  変化量算出部
４２  変化量累計部
４３  変化量判定部
４４  保存部
４５  結果出力部
【図１】
2015103189.tif 000008
【図２】
2015103189.tif 000009
【図３】
2015103189.tif 000010
【図４】
2015103189.tif 000011
【図５】
2015103189.tif 000012
【図７】
2015103189.tif 000013
【図８】
2015103189.tif 000014
【図９】
2015103189.tif 000015
【図６Ａ】
2015103189.tif 000016
【図６Ｂ】
2015103189.tif 000017