(57)【特許請求の範囲】
【請求項１】
複数の要素を有する磁性体の磁気的エネルギーが最小である状態における前記複数の要素の各々の磁化ベクトルを計算する処理のうち、前記複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、初期探索区間を基に探索区間の始点の微分係数の符号と探索区間の終点の微分係数の符号とが一致しなくなるまで探索区間を広げることにより、前記回転係数の探索区間を決定する決定部と、
前記決定部によって決定された前記探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が前記探索区間に含まれるという第１条件が満たされるか判定する第１判定部と、
前記第１条件が満たされると前記第１判定部により判定された場合、前記探索区間の両端についての静磁界ベクトルに基づく線型補間によって、前記第１の回転係数に対応する静磁界ベクトルを計算する第１計算部と、
を有する磁性体シミュレーション装置。
【請求項２】
前記第１計算部により計算された前記静磁界ベクトルに基づき、前記磁性体の磁気的エネルギーを計算する第２計算部と、
前記第２計算部により計算された磁気的エネルギーが、磁気的エネルギーの大きさについての第２条件を満たすか判定し、当該磁気的エネルギーが前記第２条件を満たす場合に前記第１の回転係数を出力する第２判定部と、
をさらに有する請求項１記載の磁性体シミュレーション装置。
【請求項３】
前記第１条件が満たされないと前記第１判定部により判定された場合、前記複数の要素の各々の磁化ベクトルに基づき算出された静磁界ポテンシャルによって、前記第１の回転係数に対応する静磁界ベクトルを計算する第３計算部、
をさらに有する請求項１又は２記載の磁性体シミュレーション装置。
【請求項４】
前記第１計算部は、
前記探索区間の始点についての静磁界ベクトルから前記探索区間の終点についての静磁界ベクトルを差し引いたベクトルに前記１の回転係数が乗じられたベクトルである第１ベクトルと、前記探索区間の始点についての静磁界ベクトルに前記探索区間の終点についての前記回転係数が乗じられたベクトルから前記探索区間の終点についての静磁界ベクトルに前記探索区間の始点についての前記回転係数が乗じられたベクトルを差し引いたベクトルである第２ベクトルとの和を、前記探索区間の終点についての前記回転係数から前記探索区間の始点についての前記回転係数を差し引いた値で除することで、前記第１の回転係数に対応する静磁界ベクトルを計算する、
請求項１乃至３のいずれか１つ記載の磁性体シミュレーション装置。
【請求項５】
コンピュータが、
複数の要素を有する磁性体の磁気的エネルギーが最小である状態における前記複数の要素の各々の磁化ベクトルを計算する処理のうち、前記複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、初期探索区間を基に探索区間の始点の微分係数の符号と探索区間の終点の微分係数の符号とが一致しなくなるまで探索区間を広げることにより、前記回転係数の探索区間を決定し、
決定された前記探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が前記探索区間に含まれるという第１条件が満たされるか判定し、
前記第１条件が満たされると判定された場合、前記探索区間の両端についての静磁界ベクトルに基づく線型補間によって、前記第１の回転係数に対応する静磁界ベクトルを計算する、
処理を実行するマイクロ磁化算出方法。
【請求項６】
コンピュータに、
複数の要素を有する磁性体の磁気的エネルギーが最小である状態における前記複数の要素の各々の磁化ベクトルを計算する処理のうち、前記複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、初期探索区間を基に探索区間の始点の微分係数の符号と探索区間の終点の微分係数の符号とが一致しなくなるまで探索区間を広げることにより、前記回転係数の探索区間を決定し、
決定された前記探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が前記探索区間に含まれるという第１条件が満たされるか判定し、
前記第１条件が満たされると判定された場合、前記探索区間の両端についての静磁界ベクトルに基づく線型補間によって、前記第１の回転係数に対応する静磁界ベクトルを計算する、
処理を実行させるマイクロ磁化算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁性体のシミュレーション技術に関する。
【背景技術】
【０００２】
マイクロマグネティクスシミュレーションとは、磁性体の理論計算に用いられる手法である。マイクロマグネティクスシミュレーションにおいては、例えば図１に示すように、磁性体１ｍが微小な要素に分割される。矢印はマイクロ磁化を表す。マイクロ磁化は要素ごとに配置され、各要素のマイクロ磁化の状態が計算される。
【０００３】
マイクロマグネティクスシミュレーションにおいて、系の全エネルギーである磁気的エネルギーＥtotalは以下の式で表される。
【０００４】
【数１】
0006623681.tif 000002
【０００５】
ここで、Ｅaniは異方性エネルギー、Ｅexcは交換エネルギー、Ｅapplはゼーマンエネルギー、Ｅstaticは静磁界エネルギーである。なお、書式の制限のため、本明細書上では太字及び斜体は使用されない。これらのエネルギーは、それぞれ以下の式で表される。
【０００６】
【数２】
0006623681.tif 000003
【数３】
0006623681.tif 000004
【数４】
0006623681.tif 000005
【数５】
0006623681.tif 000006
【数６】
0006623681.tif 000007
【０００７】
ここで、ｍは磁化ベクトル、ｍxは磁化ベクトルのＸ成分、ｍyは磁化ベクトルのＹ成分、ｍzは磁化ベクトルのＺ成分、ｋは磁気異方性ベクトル、Ｋuは磁気異方性定数、Ａは交換結合定数、Ｍsは飽和磁化、Ｈapplは外部磁界ベクトル、φは静磁界ポテンシャル、Ｈstaticは静磁界ベクトルである。
【０００８】
そして、静磁界ポテンシャルφは以下の関係式から求められる。
【０００９】
【数７】
0006623681.tif 000008
【００１０】
上記の変数のうち、計算の開始時に予め設定されるべき変数はｍ、ｋ、Ｋu、Ａ、Ｍs及びＨapplである。
【００１１】
有限要素法を用いて上記のエネルギーを計算する場合、静磁界ポテンシャルφを求めるのに要する時間が計算時間の大半を占める。なぜなら式（７）を数値的に解く場合、連立一次方程式を解く計算が行われることが原因で計算量が非常に多くなるからである。
【００１２】
磁性体の解析においては、しばしば定常状態が磁気物性に関する重要な情報を与える。磁性体の定常状態とは、上記の系の全エネルギーが最小である状態だと考えることができる。従って、系の全エネルギーを最小化するマイクロ磁化状態を求めることができれば、磁性体の定常状態を再現することができる。磁性体の全エネルギーを最小にするマイクロ磁化の状態を求める手法は、エネルギー最小化手法と呼ばれる。
【００１３】
エネルギー最小化手法を用いたマイクロマグネティクスシミュレーションのプログラムのインプット（すなわち、ユーザが予め用意するデータ）は、要素に分割された磁性体のモデル、各要素における磁化ベクトルの初期状態、及び外部磁界ベクトルである。アウトプットは、磁気的エネルギーを最小化するような、各要素における磁化ベクトルの状態である。
【００１４】
エネルギー最小化手法の一種であるＮＣＧ（Nonlinear Conjugate Gradient method）法（非線形共役勾配法とも呼ばれる）は、マイクロマグネティクスシミュレーションにおいてしばしば利用される。ＮＣＧ法によるマイクロマグネティクスシミュレーションの計算時間の大半は、ラインサーチ中に行われる静磁界ポテンシャルφの計算に占められる。従って、静磁界ポテンシャルφの計算の計算量を削減することができれば、マイクロマグネティクスシミュレーションの計算時間を短縮することができる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】国際公開第２０１４／０３３８８８号
【特許文献２】特開２０１２−３３１１６号公報
【特許文献３】特開２０１３−１３１０７２号公報
【特許文献４】特開２００６−５３９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、１つの側面では、ＮＣＧ法を用いたマイクロマグネティクスシミュレーションの計算量を削減するための技術を提供することである。
【課題を解決するための手段】
【００１７】
本発明に係る磁性体シミュレーション装置は、複数の要素を有する磁性体の磁気的エネルギーが最小である状態における複数の要素の各々の磁化ベクトルを計算する処理のうち、複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、回転係数の探索区間を決定する決定部と、決定部によって決定された探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が探索区間に含まれるという第１条件が満たされるか判定する第１判定部と、第１条件が満たされると第１判定部により判定された場合、探索区間の両端についての静磁界ベクトルに基づく線型補間によって、第１の回転係数に対応する静磁界ベクトルを計算する第１計算部とを有する。
【発明の効果】
【００１８】
１つの側面では、ＮＣＧ法を用いたマイクロマグネティクスシミュレーションの計算量を削減できるようになる。
【図面の簡単な説明】
【００１９】
【図１】図１は、複数の要素に分割された磁性体を示す図である。
【図２】図２は、情報処理装置の機能ブロック図である。
【図３】図３は、ラインサーチ部の機能ブロック図である。
【図４】図４は、メインの処理フローを示す図である。
【図５】図５は、ラインサーチの処理の処理フローを示す図である。
【図６】図６は、探索区間の決定の概要を示す図である。
【図７】図７は、区間内探索処理の処理フローを示す図である。
【図８】図８は、区間内探索処理の概要を示す図である。
【図９】図９は、線型補間処理の処理フローを示す図である。
【図１０】図１０は、マイクロマグネティクスシミュレーションに要する時間の短縮について説明するための図である。
【図１１】図１１は、マイクロマグネティクスシミュレーションに要する時間の短縮について説明するための図である。
【図１２】図１２は、Ｍ−Ｈ曲線の一例を示す図である。
【図１３】図１３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００２０】
図２に、本実施の形態の情報処理装置１の機能ブロック図を示す。情報処理装置１は、入力データ格納部１０１と、ＮＣＧ処理部１０と、出力データ格納部１０４とを含む。ＮＣＧ処理部１０は、処理部１０２と、ラインサーチ部１０３とを含む。
【００２１】
ＮＣＧ処理部１０は、入力データ格納部１０１に格納されたデータに基づき処理を実行し、処理結果に基づき入力データ格納部１０１に格納されたデータを更新、又は、処理結果を出力データ格納部１０４に格納する。具体的には、処理部１０２は、ＮＣＧ法の処理のうちラインサーチ以外の処理を実行する。ラインサーチ部１０３は、ＮＣＧ法の処理のうちラインサーチを実行する。
【００２２】
入力データ格納部１０１には、初期的には、複数の要素に分割された磁性体のモデル、各要素における磁化ベクトルの初期状態のデータ、及び外部磁界ベクトルのデータが格納される。出力データ格納部１０４には、磁気的エネルギーを最小化するような、各要素における磁化ベクトルの状態のデータが格納される。なお、本実施の形態のベクトルは３次元ベクトルである。
【００２３】
図３に、ラインサーチ部１０３の機能ブロック図を示す。ラインサーチ部１０３は、決定部１０３１と、区間データ格納部１０３２と、探索部１０３３と、回転係数格納部１０３４と、計算部１０３５と、第２ベクトル計算部１０３６と、ベクトルデータ格納部１０３７と、判定部１０３８とを含む。計算部１０３５は、ポテンシャル計算部１０３５１と、第１ベクトル計算部１０３５２とを含む。
【００２４】
決定部１０３１は、入力データ格納部１０１に格納されたデータに基づき処理を実行し、処理結果を区間データ格納部１０３２に格納する。探索部１０３３は、区間データ格納部１０３２に格納されたデータ及び入力データ格納部１０１に格納されたデータに基づき処理を実行し、処理結果を回転係数格納部１０３４に格納する。ポテンシャル計算部１０３５１は、回転係数格納部１０３４に格納されたデータ及び入力データ格納部１０１に格納されたデータに基づき処理を実行し、処理結果を第１ベクトル計算部１０３５２に通知する。第１ベクトル計算部１０３５２は、ポテンシャル計算部１０３５１による処理の結果及び入力データ格納部１０１に格納されたデータに基づき処理を実行し、処理結果をベクトルデータ格納部１０３７に格納する。第２ベクトル計算部１０３６は、回転係数格納部１０３４に格納されたデータ及び入力データ格納部１０１に格納されたデータに基づき処理を実行し、処理結果をベクトルデータ格納部１０３７に格納する。判定部１０３８は、ベクトルデータ格納部１０３７に格納されたデータに基づき処理を実行し、処理結果に基づき入力データ格納部１０１に格納されたデータを更新、又は、処理結果を出力データ格納部１０４に格納する。
【００２５】
次に、図４乃至図１２を用いて、情報処理装置１の動作を説明する。
【００２６】
まず、処理部１０２は、入力データ格納部１０１に格納されている、各要素の磁化ベクトルのデータ及びその他のデータ（例えば、ｋ、Ｋu、Ａ、Ｍs及びＨapplのデータ）に基づき、式（１）乃至（６）に従って、マイクロマグネティクスシミュレーションの対象である磁性体の各要素ｉについて勾配ベクトルｇi＝−∂Ｅtotal／∂ｍiを算出する（図４：ステップＳ１）。
【００２７】
処理部１０２は、各要素ｉについて、ステップＳ１において算出された勾配ベクトルｇi及び磁化ベクトルｍi等から、方向ベクトルｄiを算出する（ステップＳ３）。本処理はＮＣＧの処理としてよく知られた処理であるので、詳細な説明を省略する。
【００２８】
そして、ラインサーチ部１０３は、ラインサーチを実行する（ステップＳ５）。ラインサーチについては、図５乃至図９を用いて説明する。
【００２９】
まず、ラインサーチ部１０３における決定部１０３１は、入力データ格納部１０１に格納されたデータに基づき、磁気的エネルギーＥtotalを極小にする磁化ベクトル回転係数αを含むような探索区間（すなわち、αの上限及び下限）を決定する（図５：ステップＳ１１）。決定部１０３１は、決定された探索区間の情報を区間データ格納部１０３２に格納する。図６に、探索区間の決定の概要を示す。図６において、縦軸はＥtotal（α）を表し、横軸はαを表す。ステップＳ１１においては、例えば、まず初期の探索区間が適当に決定され、探索区間の始点の微分係数の符号と終点の微分係数の符号とが一致しなくなるまで探索区間を広げる処理が実行される。この場合、両端の微分係数の符号が異なることは探索区間内に極値が存在するための十分条件である。
【００３０】
そして、ラインサーチ部１０３は、区間内探索処理を実行する（ステップＳ１３）。区間内探索処理については、図７乃至図９を用いて説明する。
【００３１】
区間内探索処理の概要を図８に示す。図８において、縦軸はＥtotal（α）を表し、横軸はαを表す。区間内探索処理は、磁気的エネルギーＥtotalを極小にするような磁化ベクトル回転係数αを探索する処理である。
【００３２】
まず、ラインサーチ部１０３における探索部１０３３はαを決定し（図７：ステップＳ２１）、決定したαの値を回転係数格納部１０３４に格納する。ステップＳ２１においては、例えば、二分法又は割線法等によってαが決定される。
【００３３】
探索部１０３３は、区間データ格納部１０３２に格納された探索区間の情報に基づき、αが探索区間内に有り且つステップＳ１１において決定された探索区間の幅が閾値以下であるという条件が満たされるか判定する（ステップＳ２３）。
【００３４】
αが探索区間内に有り且つステップＳ１１において決定された探索区間の幅が閾値以下であるという条件が満たされない場合（ステップＳ２３：Ｎｏルート）、探索部１０３３は、計算部１０３５に処理の実行を指示する。これに応じ、ポテンシャル計算部１０３５１は、回転係数格納部１０３４に格納されたαの値及び入力データ格納部１０１に格納されたデータ（例えば、磁化ベクトルのデータ等）に基づき、式（７）に従って各要素ｉの静磁界ポテンシャルを計算する（ステップＳ２５）。そして、第１ベクトル計算部１０３５２は、ステップＳ２５の処理結果に基づき、式（６）に従って、各要素ｉの静磁界ポテンシャルから各要素ｉの静磁界ベクトルを計算する（ステップＳ２７）。第１ベクトル計算部１０３５２は、ステップＳ２７の処理結果である静磁界ベクトルのデータをベクトルデータ格納部１０３７に格納する。
【００３５】
一方、αが探索区間内に有り且つステップＳ１１において決定された探索区間の幅が閾値以下であるという条件が満たされる場合（ステップＳ２３：Ｙｅｓルート）、探索区間処理は、線型補間処理の実行を第２ベクトル計算部１０３６に指示する。これに応じ、第２ベクトル計算部１０３６は、線型補間処理を実行する（ステップＳ２９）。線型補間処理については、図９を用いて説明する。
【００３６】
線型補間処理は、静磁界ポテンシャルを使用せず以下の式に従って静磁界ベクトルを求める処理である。
【００３７】
【数８】
0006623681.tif 000009
【００３８】
ここで、αSTAは探索区間の始点（すなわち左端）での磁化ベクトル回転係数αを表し、αENDは探索区間の終点（すなわち右端）での磁化ベクトル回転係数αを表す。探索区間が大きい場合には補間の精度が下がるため、｜αSTA−αEND｜が閾値以下である場合にのみ補間が行われる。例えばプログラム中においては、モデルの要素数がＮである場合、静磁界ベクトルＨstaticは各要素のＸ軸成分、Ｙ軸成分及びＺ軸成分についての３つのＮ次元配列である。α、αSTA及びαENDはそれぞれスカラー変数である。各要素における磁化ベクトルの変化量が小さい場合、静磁界ベクトルの変化量も小さいと考えられるため、このような計算を適用することができる。
【００３９】
まず、第２ベクトル計算部１０３６は、要素を表す変数ｉをｉ＝１と設定する（図９：ステップＳ４１）。
【００４０】
第２ベクトル計算部１０３６は、回転係数格納部１０３４に格納されたαの値及び区間データ格納部１０３２に格納された探索区間の情報等に基づき、静磁界ベクトルのＸ軸成分を計算する（ステップＳ４３）。ステップＳ４３においては、以下の式によって静磁界ベクトルのＸ軸成分が計算される。
【００４１】
【数９】
0006623681.tif 000010
【００４２】
ここで、探索区間の両端における静磁界ベクトルのＸ軸成分は、ステップＳ４３の処理の前に、静磁界ポテンシャルから予め計算されるものとする。
【００４３】
第２ベクトル計算部１０３６は、回転係数格納部１０３４に格納されたαの値及び区間データ格納部１０３２に格納された探索区間の情報等に基づき、静磁界ベクトルのＹ軸成分を計算する（ステップＳ４５）。ステップＳ４５においては、以下の式によって静磁界ベクトルのＹ軸成分が計算される。
【００４４】
【数１０】
0006623681.tif 000011
【００４５】
ここで、探索区間の両端における静磁界ベクトルのＹ軸成分は、ステップＳ４５の処理の前に、静磁界ポテンシャルから予め計算されるものとする。
【００４６】
第２ベクトル計算部１０３６は、回転係数格納部１０３４に格納されたαの値及び区間データ格納部１０３２に格納された探索区間の情報等に基づき、静磁界ベクトルのＺ軸成分を計算する（ステップＳ４７）。ステップＳ４７においては、以下の式によって静磁界ベクトルのＺ軸成分が計算される。
【００４７】
【数１１】
0006623681.tif 000012
【００４８】
ここで、探索区間の両端における静磁界ベクトルのＺ軸成分は、ステップＳ４７の処理の前に、静磁界ポテンシャルから予め計算されるものとする。
【００４９】
第２ベクトル計算部１０３６は、ｉ＞Ｎが成立するか判定する（ステップＳ４９）。ｉ＞Ｎが成立しない場合（ステップＳ４９：Ｎｏルート）、第２ベクトル計算部１０３６は、ｉを１インクリメントする（ステップＳ５１）。そしてステップＳ４３の処理に戻る。一方、ｉ＞Ｎが成立する場合（ステップＳ４９：Ｙｅｓルート）、第２ベクトル計算部１０３６は、計算された静磁界ベクトルのデータをベクトルデータ格納部１０３７に格納する。そして呼び出し元の処理に戻る。
【００５０】
図７の説明に戻り、判定部１０３８は、ベクトルデータ格納部１０３７に格納された静磁界ベクトルのデータ及び入力データ格納部１０１に格納されたデータに基づき、式（１）乃至（５）に従ってＥ（α）及びＥ´（α）を計算する（ステップＳ３１）。
【００５１】
判定部１０３８は、Ｗｏｌｆｅ条件が満たされるか判定する（ステップＳ３３）。Ｗｏｌｆｅ条件とは以下の条件である。
【００５２】
【数１２】
0006623681.tif 000013
【００５３】
よって、磁気的エネルギーＥtotal（α）が厳密に極小化（つまりｄＥtotal／ｄα＝０）がされるとは限らない。Ｗｏｌｆｅ条件において、δはＷｏｌｆｅ条件を満たすαの上限を決めるパラメータであり、σはＷｏｌｆｅ条件を満たすαの下限を決めるパラメータである。
【００５４】
Ｗｏｌｆｅ条件が満たされない場合（ステップＳ３３：Ｎｏルート）、次のαについて処理するため、ステップＳ２１の処理に戻る。一方、Ｗｏｌｆｅ条件が満たされる場合（ステップＳ３３：Ｙｅｓルート）、呼び出し元の処理に戻る。
【００５５】
以上のような処理を実行すれば、磁気的エネルギーＥtotal（α）を最小にするような磁化ベクトル回転係数αを使用して各磁化ベクトルを回転させることができるようになる。なお、磁化ベクトル回転係数αは全要素について共通であるので、磁気的エネルギーＥtotalは磁化ベクトル回転係数αの一変数関数である。
【００５６】
図４の説明に戻り、処理部１０２は、各要素ｉの磁化ベクトルを、回転軸Ｖi＝ｄi×ｍiに対して、右手の法則に従い回転角度｜αｄi｜だけ回転する（ステップＳ７）。
【００５７】
処理部１０２は、磁化ベクトルの残差が所定値以下であるか判定する（ステップＳ９）。ステップＳ９における残差は、例えば、回転前の磁化ベクトルと回転後の磁化ベクトルとの差分ベクトルの大きさの平均値又は最大値等である。磁化ベクトルの残差が所定値以下ではない場合（ステップＳ９：Ｎｏルート）、処理部１０２は、回転後の磁化ベクトルのデータによって入力データ格納部１０１に格納されている磁化ベクトルのデータを更新する。そしてステップＳ１の処理に戻る。一方、磁化ベクトルの残差が所定値以下である場合（ステップＳ９：Ｙｅｓルート）、処理部１０２は、回転後の磁化ベクトルのデータを出力データ格納部１０４に格納する。そして処理は終了する。
【００５８】
以上のように、補間によって静磁界ベクトルを求める処理を実行すれば、静磁界ポテンシャルから静磁界ベクトルを求める際に実行する、連立一次方程式を解く処理を一部省略できる。これにより、計算量を削減し、シミュレーションの完了までに要する時間を短縮できるようになる。
【００５９】
図１０及び図１１を用いて、マイクロマグネティクスシミュレーションに要する時間の短縮について説明する。ここでは、磁性体のヒステリシス曲線を求める計算を行うことを考える。
【００６０】
図１０に、モデルの詳細を示す。このモデルは、主層１００１と粒界層１００２とを含む。主層１００１の物性値については、Ｍs＝１．６１［Ｔ］、Ａ＝１．２５＊１０-11［Ｊ／ｍ］、Ｈk＝５．５９＊１０6［Ａ／ｍ］である。粒界層１００２の物性値については、Ｍs＝０．５［Ｔ］、Ａ＝６．０＊１０-12［Ｊ／ｍ］、Ｈk＝０．０［Ａ／ｍ］である。ここで、Ｍsは飽和磁化を表し、Ａは交換結合定数を表し、Ｈkは異方性磁界を表す。
【００６１】
図１１に、ヒステリシス計算により計算された保磁力、計算過程での静磁界ポテンシャルの計算回数、及び計算時間を示す。図１１においては、本実施の形態の方法で計算を実行した場合と、本実施の形態の方法を使用せず計算を実行した場合とについて結果が示されている。保磁力が同じ値であれば計算の精度は同程度であると考えられることから、本実施の形態の方法を使用することで計算の精度を維持したまま計算時間を約０．６倍に短縮することができた。従って、本実施の形態の方法を使用すれば、同一計算機においてより大きなモデルのマイクロマグネティクスシミュレーションを実行することが可能になる。
【００６２】
図１２に、Ｍ−Ｈ曲線を示す。図１２において、縦軸は磁化［Ｔ］を表し、横軸は外部磁界［Ａ／ｍ］を表す。図１２には、外部磁界を徐々に強くした場合、或る外部磁界において磁石の磁化が反転する様子が示されている。本実施の形態のマイクロマグネティクスシミュレーションを、外部磁化を変化させつつ繰り返し実行することで、図１２に示したような特性を把握することができるようになる。
【００６３】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００６４】
また、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６５】
なお、上で述べた情報処理装置１は、コンピュータ装置であって、図１３に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６６】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００６７】
本実施の形態の第１の態様に係る磁性体シミュレーション装置は、（Ａ）複数の要素を有する磁性体の磁気的エネルギーが最小である状態における複数の要素の各々の磁化ベクトルを計算する処理のうち、複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、回転係数の探索区間を決定する決定部と、（Ｂ）決定部によって決定された探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が探索区間に含まれるという第１条件が満たされるか判定する第１判定部と、（Ｃ）第１条件が満たされると第１判定部により判定された場合、探索区間の両端についての静磁界ベクトルに基づく線型補間によって、第１の回転係数に対応する静磁界ベクトルを計算する第１計算部とを有する。
【００６８】
これにより、静磁界ポテンシャルから静磁界ベクトルを求めずに済むので、マイクロマグネティクスシミュレーションの計算量を削減できるようになる。
【００６９】
また、上記磁性体シミュレーション装置は、（Ｄ）第１計算部により計算された静磁界ベクトルに基づき、磁性体の磁気的エネルギーを計算する第２計算部と、（Ｅ）第２計算部により計算された磁気的エネルギーが、磁気的エネルギーの大きさについての第２条件を満たすか判定し、当該磁気的エネルギーが第２条件を満たす場合に第１の回転係数を出力する第２判定部とをさらに有してもよい。これにより、計算された磁気的エネルギーが第２条件を満たす場合における第１の回転係数を使用して、ＮＣＧ法における後の処理を実行できるようになる。
【００７０】
また、上記磁性体シミュレーション装置は、（Ｆ）第１条件が満たされないと第１判定部により判定された場合、複数の要素の各々の磁化ベクトルに基づき算出された静磁界ポテンシャルによって、第１の回転係数に対応する静磁界ベクトルを計算する第３計算部をさらに有してもよい。これにより、線型補間によって静磁界ベクトルを計算することが適切ではない（すなわち、補間の精度が下がる）場合には通常の方法で静磁界ベクトルを算出できるようになる。
【００７１】
また、上記第１計算部は、（ｃ１）探索区間の始点についての静磁界ベクトルから探索区間の終点についての静磁界ベクトルを差し引いたベクトルに１の回転係数が乗じられたベクトルである第１ベクトルと、探索区間の始点についての静磁界ベクトルに探索区間の終点についての回転係数が乗じられたベクトルから探索区間の終点についての静磁界ベクトルに探索区間の始点についての回転係数が乗じられたベクトルを差し引いたベクトルである第２ベクトルとの和を、探索区間の終点についての回転係数から探索区間の始点についての回転係数を差し引いた値で除することで、第１の回転係数に対応する静磁界ベクトルを計算してもよい。
【００７２】
また、上記所定方法が、二分法及び割線法であってもよい。
【００７３】
本実施の形態の第２の態様に係るマイクロ磁化算出方法は、（Ｇ）複数の要素を有する磁性体の磁気的エネルギーが最小である状態における複数の要素の各々の磁化ベクトルを計算する処理のうち、複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、回転係数の探索区間を決定し、（Ｈ）決定された探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が探索区間に含まれるという第１条件が満たされるか判定し、（Ｉ）第１条件が満たされると判定された場合、探索区間の両端についての静磁界ベクトルに基づく線型補間によって、第１の回転係数に対応する静磁界ベクトルを計算する処理を含む。
【００７４】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）
複数の要素を有する磁性体の磁気的エネルギーが最小である状態における前記複数の要素の各々の磁化ベクトルを計算する処理のうち、前記複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、前記回転係数の探索区間を決定する決定部と、
前記決定部によって決定された前記探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が前記探索区間に含まれるという第１条件が満たされるか判定する第１判定部と、
前記第１条件が満たされると前記第１判定部により判定された場合、前記探索区間の両端についての静磁界ベクトルに基づく線型補間によって、前記第１の回転係数に対応する静磁界ベクトルを計算する第１計算部と、
を有する磁性体シミュレーション装置。
【００７７】
（付記２）
前記第１計算部により計算された前記静磁界ベクトルに基づき、前記磁性体の磁気的エネルギーを計算する第２計算部と、
前記第２計算部により計算された磁気的エネルギーが、磁気的エネルギーの大きさについての第２条件を満たすか判定し、当該磁気的エネルギーが前記第２条件を満たす場合に前記第１の回転係数を出力する第２判定部と、
をさらに有する付記１記載の磁性体シミュレーション装置。
【００７８】
（付記３）
前記第１条件が満たされないと前記第１判定部により判定された場合、前記複数の要素の各々の磁化ベクトルに基づき算出された静磁界ポテンシャルによって、前記第１の回転係数に対応する静磁界ベクトルを計算する第３計算部、
をさらに有する付記１又は２記載の磁性体シミュレーション装置。
【００７９】
（付記４）
前記第１計算部は、
前記探索区間の始点についての静磁界ベクトルから前記探索区間の終点についての静磁界ベクトルを差し引いたベクトルに前記１の回転係数が乗じられたベクトルである第１ベクトルと、前記探索区間の始点についての静磁界ベクトルに前記探索区間の終点についての前記回転係数が乗じられたベクトルから前記探索区間の終点についての静磁界ベクトルに前記探索区間の始点についての前記回転係数が乗じられたベクトルを差し引いたベクトルである第２ベクトルとの和を、前記探索区間の終点についての前記回転係数から前記探索区間の始点についての前記回転係数を差し引いた値で除することで、前記第１の回転係数に対応する静磁界ベクトルを計算する、
付記１乃至３のいずれか１つ記載の磁性体シミュレーション装置。
【００８０】
（付記５）
前記所定方法が、二分法及び割線法である
付記１乃至４のいずれか１つ記載の磁性体シミュレーション装置。
【００８１】
（付記６）
コンピュータが、
複数の要素を有する磁性体の磁気的エネルギーが最小である状態における前記複数の要素の各々の磁化ベクトルを計算する処理のうち、前記複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、前記回転係数の探索区間を決定し、
決定された前記探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が前記探索区間に含まれるという第１条件が満たされるか判定し、
前記第１条件が満たされると判定された場合、前記探索区間の両端についての静磁界ベクトルに基づく線型補間によって、前記第１の回転係数に対応する静磁界ベクトルを計算する、
処理を実行するマイクロ磁化算出方法。
【００８２】
（付記７）
コンピュータに、
複数の要素を有する磁性体の磁気的エネルギーが最小である状態における前記複数の要素の各々の磁化ベクトルを計算する処理のうち、前記複数の要素の各々の磁化ベクトルの回転係数を算出する処理において、前記回転係数の探索区間を決定し、
決定された前記探索区間の幅が所定長以下であり、且つ、所定方法で決定された第１の回転係数が前記探索区間に含まれるという第１条件が満たされるか判定し、
前記第１条件が満たされると判定された場合、前記探索区間の両端についての静磁界ベクトルに基づく線型補間によって、前記第１の回転係数に対応する静磁界ベクトルを計算する、
処理を実行させるマイクロ磁化算出プログラム。
【符号の説明】
【００８３】
１  情報処理装置    １０１  入力データ格納部
１０  ＮＣＧ処理部    １０２  処理部
１０３  ラインサーチ部    １０４  出力データ格納部
１０３１  決定部    １０３２  区間データ格納部
１０３３  探索部    １０３４  回転係数格納部
１０３５  計算部    １０３５１  ポテンシャル計算部
１０３５２  第１ベクトル計算部    １０３６  第２ベクトル計算部
１０３７  ベクトルデータ格納部    １０３８  判定部
【図１】
0006623681.tif 000014
【図２】
0006623681.tif 000015
【図３】
0006623681.tif 000016
【図４】
0006623681.tif 000017
【図５】
0006623681.tif 000018
【図６】
0006623681.tif 000019
【図７】
0006623681.tif 000020
【図８】
0006623681.tif 000021
【図９】
0006623681.tif 000022
【図１０】
0006623681.tif 000023
【図１１】
0006623681.tif 000024
【図１２】
0006623681.tif 000025
【図１３】
0006623681.tif 000026