(57)【特許請求の範囲】
【請求項１】
所定の角度及び大きさを有する第１磁化ベクトル及び第２磁化ベクトルを取得する取得部と、
取得した第１磁化ベクトルの始点及び第２磁化ベクトルの前記第１磁化ベクトルの始点とは異なる始点を結ぶ直線上の中間に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する生成部と
を備える情報処理装置。
【請求項２】
前記生成部は、
前記第１磁化ベクトル及び第２磁化ベクトルの成す角度に基づき、補間磁化ベクトルを生成する
請求項１に記載の情報処理装置。
【請求項３】
線形陰解法の交換結合磁界を算出する場合に、前記第１磁化ベクトルの始点と生成した補間磁化ベクトルの始点との距離、及び、前記角度の関係を示す一次式を読み出す読み出し部
を備える請求項２に記載の情報処理装置。
【請求項４】
所定の角度及び大きさを有する第１磁化ベクトル及び第２磁化ベクトルを取得し、
取得した第１磁化ベクトルの始点及び第２磁化ベクトルの前記第１磁化ベクトルの始点とは異なる始点を結ぶ直線上の中間に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する
処理をコンピュータに実行させるプログラム。
【請求項５】
所定の角度及び大きさを有する第１磁化ベクトル及び第２磁化ベクトルを取得し、
取得した第１磁化ベクトルの始点及び第２磁化ベクトルの前記第１磁化ベクトルの始点とは異なる始点を結ぶ直線上の中間に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する
処理をコンピュータに実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
従来、様々な磁気特性分析方法が提案されている（例えば特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８４２３４号公報
【特許文献２】特開２００３−９８２４１号公報
【特許文献３】特開２０１２−３３１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では計算誤差が大きいという問題がある。
【０００５】
一つの側面では、計算精度を高めることが可能な情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、所定の角度及び大きさを有する第１磁化ベクトル及び第２磁化ベクトルを取得する取得部と、取得した第１磁化ベクトルの始点及び第２磁化ベクトルの前記第１磁化ベクトルの始点とは異なる始点を結ぶ直線上の中間に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する生成部とを備える。
【発明の効果】
【０００７】
一つの側面では、計算精度を高めることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア群を示すブロック図である。
【図２】マイクロ磁化により磁性体をモデル化した状態を示す説明図である。
【図３】磁化ベクトルを示す説明図である。
【図４】磁化ベクトルを示す説明図である。
【図５】磁化ベクトルの勾配の変化を示すグラフである。
【図６】中間磁化ベクトルを示す説明図である。
【図７】中間磁化との対比を示すグラフである。
【図８】磁化ベクトルを示す説明図である。
【図９】補間磁化ベクトルを示す説明図である。
【図１０】補間磁化ベクトルとの対比を示すグラフである。
【図１１】補間磁化ベクトルの生成処理の手順を示すフローチャートである。
【図１２】磁化ベクトルを示す説明図である。
【図１３】磁化ベクトルを示すグラフである。
【図１４】磁化ベクトルを示す説明図である。
【図１５】交換結合磁界の算出手順を示すフローチャートである。
【図１６】交換結合磁界の算出手順を示すフローチャートである。
【図１７】実験に用いたメッシュを示す説明図である。
【図１８】６面体における保持力の変化を示すグラフである。
【図１９】４面体における保持力の変化を示すグラフである。
【図２０】上述した形態のコンピュータの動作を示す機能ブロック図である。
【図２１】実施の形態３に係るコンピュータのハードウェア群を示すブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は情報処理装置１のハードウェア群を示すブロック図である。情報処理装置１は、サーバコンピュータ、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、またはスマートフォン等である。以下情報処理装置１をコンピュータ１という。コンピュータ１は制御部としてのＣＰＵ（Central Processing Unit）１１、ＲＡＭ(Random Access Memory)１２、入力部１３、表示部１４、記憶部１５、通信部１６、及び、時計部１８等を含む。
【００１０】
ＣＰＵ１１は、バス１７を介してハードウェア各部と接続されている。ＣＰＵ１１は記憶部１５に記憶された制御プログラム１５Ｐに従いハードウェア各部を制御する。ＲＡＭ１２は例えばＳＲＡＭ（Static RAM）、ＤＲＡＭ(Dynamic RAM)、フラッシュメモリ等である。ＲＡＭ１２は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１１】
入力部１３はマウスまたはキーボード、マウスまたはタッチパネル等の入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ出力する。表示部１４は液晶ディスプレイまたは有機ＥＬ（electroluminescence）ディスプレイ等であり、ＣＰＵ１１の指示に従い各種情報を表示する。時計部１８は日時情報をＣＰＵ１１へ出力する。通信部１６は通信モジュールであり、図示しない他のコンピュータとの間でインターネット等の通信網Ｎを介して、情報の送受信を行う。記憶部１５はハードディスクまたは大容量メモリであり、制御プログラム１５Ｐ等を記憶する。
【００１２】
図２はマイクロ磁化により磁性体をモデル化した状態を示す説明図である。マイクロマグネティックスシミュレーションは、図２に示すように磁性体を小さな磁石の集合としてモデル化し、磁区状態を数値シミュレーションする手法である。マイクロマグネティクス（以下、マイクロ磁化）とは個々の小さな磁石に対応する。計算コストの観点からマイクロマグネティクスシミュレーションでは実際の原子サイズオーダーのメッシュを使用せず、数nmのメッシュを使用する。一般に用いられるメッシュサイズでは、隣接するメッシュの磁化ベクトルの成す角が小さくなるようメッシュサイズを調整し、磁化方向はほぼ連続とみなされるよう計算される。
【００１３】
マイクロ磁化の運動を支配する方程式（支配方程式、以下ＬＬＧ(Landau-Lifshitz-Gilbert)方程式という）を数１に示す。
【００１４】
【数１】
0006540193.tif 000002
【００１５】
有効磁界Heffは、数２に示す通り、外部磁界Hout、反磁界Hdemag、異方性磁界Han、及び磁気交換結合磁界Hexを含む複数の磁界ベクトルの合成である。
【００１６】
【数２】
0006540193.tif 000003
【００１７】
マイクロ磁化が受ける磁界は、外部磁界Hout、数３で示す反磁界Hdemag、数４で示す異方性磁界Han、数５で示す磁気交換結合磁界Hexである。なお、φは静磁ポテンシャル、Msは飽和磁化、Kuは磁気異方性定数、ｕは磁気異方性ベクトル(ベクトルについては、上付き矢印の記載を適宜省略する)である。Aは交換結合定数である。磁気交換結合磁界Hexは、本来隣接する原子間に作用する力である。原子間距離より大きいサイズでメッシュ分割された解析モデルを用いて、計算精度を維持した解析を行うためには、隣接する磁化ベクトルの角度変化がある程度小さくなるようにメッシュ分割する。
【００１８】
【数３】
0006540193.tif 000004
【００１９】
【数４】
0006540193.tif 000005
【００２０】
【数５】
0006540193.tif 000006
【００２１】
続いて、線形陰解法について説明する。線形陰解法は、磁化ベクトルの常微分方程式であるLLG方程式に陰解法を適用することで時間刻みを大きくし、計算を高速化することが可能な手法である。LLG方程式は磁化ベクトルに対して非線形であるためそのままでは磁化ベクトルに対して線形方程式で表現できない。異方性磁界と交換結合磁界に含まれる磁化ベクトルに次の時間ステップの磁化ベクトルmn+1を用いて線形化する。数１で示したLLG方程式は、右辺に未知数となる磁化ベクトルmの１乗の項と２乗の項がある。
【００２２】
異方性磁界Hanと交換結合磁界Hexもｍの１乗で表現できるため、LLG方程式の右辺はｍの２乗および３乗の項となる。LLG方程式はｍに関して非線形方程式であるが、異方性磁界と交換結合磁界に現れるｍを陰的（mn+1）に扱い、それ以外のｍを陽的（mn）に扱うことで、mn+1に関して線形化することができる。以下に、線形陰解法に関する式の導出について説明する。数６で示すベクトル解析の公式を、LLG方程式の右辺第２項に適用することにより、数７で表現することができる。
【００２３】
【数６】
0006540193.tif 000007
【００２４】
【数７】
0006540193.tif 000008
【００２５】
LLG方程式の右辺第１項（歳差運動）を無視（=0）し、右辺第２項（摩擦項）に数７を代入し、ダンピングコンスタントα=1として書き直すことにより、数８で表現することができる。
【００２６】
【数８】
0006540193.tif 000009
【００２７】
数８を複数のメッシュ(i=0〜N)の磁化miに関し線形陰解法を適用すると数９となる。
【００２８】
【数９】
0006540193.tif 000010
【００２９】
次いで、mn+1に関する項を左辺に移行し、mnに関する項を右辺に移項する。ここで有効磁界Heffの中で、異方性磁界Hanと磁気交換結合磁界Hexがmn+1の線形結合で表現できるため、左辺に移行し、それ以外の外部磁界Houtと反磁界Hdemagを右辺に移項する。移項した数９の左辺と右辺はそれぞれ数１０、数１１で示すことができる。なお、数１０の｛｝内の前側の[]内に示す式は異方性磁界に寄与し、後ろ側の[]内に示す式は交換結合磁界に寄与する。以下では、前側の[]内の係数行列をGan、後ろ側の[]内の係数行列をGexという。
【００３０】
【数１０】
0006540193.tif 000011
【００３１】
【数１１】
0006540193.tif 000012
【００３２】
図３は磁化ベクトルを示す説明図である。線形陰解法は、磁化ベクトルmin+1に関する連立方程式を係数行列で表現し、大規模な連立方程式を解くことで解min+1を求める。着目する磁化ベクトルmiに対する交換結合による磁界のx軸方向成分は、隣接の磁化ベクトルmjとの重心間の距離Lij、面積dSj、単位方向ベクトルlj、面の法線ベクトルnjおよび自身の要素の体積dViに依存して数１２となる。
【００３３】
【数１２】
0006540193.tif 000013
【００３４】
向きを一般化した場合、交換結合による磁界は数１３で表すことができる。
【００３５】
【数１３】
0006540193.tif 000014
【００３６】
交換結合による磁界Hexは、隣接する磁化ベクトルmjの向きに依存する。線形陰解法の式を行列で表現すると数１４となる。
【００３７】
【数１４】
0006540193.tif 000015
【００３８】
ここでベクトルGijは前のステップのベクトルminに依存する３×３の行列、ベクトルFiは前のステップのベクトルminに依存する３×１のベクトルである。数１５を計算することで、次のステップn+1の磁化ベクトルmin+1を計算することができる。
【００３９】
【数１５】
0006540193.tif 000016
【００４０】
またベクトルFiは数１６により求めることができる。
【００４１】
【数１６】
0006540193.tif 000017
【００４２】
以下では、異方性磁界と交換結合磁界による係数行列を計算する。異方性時間に関係する数１０における係数行列Ganは数１７を通じて数１８で表せ、最終的に数１９で表すことができる。
【００４３】
【数１７】
0006540193.tif 000018
【００４４】
【数１８】
0006540193.tif 000019
【００４５】
【数１９】
0006540193.tif 000020
【００４６】
交換結合磁界に関係する数１０の係数行列Gexは数２０を通じて数２１及び２２で表すことができる。ここでiは自身の要素、jは隣接する要素からの寄与を意味する。
【００４７】
【数２０】
0006540193.tif 000021
【００４８】
【数２１】
0006540193.tif 000022
【００４９】
【数２２】
0006540193.tif 000023
【００５０】
数１０、数１１、及び数２１より、離接の寄与を陽に含めて行列で表現すると数２３となる。隣接の磁化ベクトルmjn+1を左辺の行列に含めることで、時間刻みを大きくしても安定に計算が可能になる。
【００５１】
【数２３】
0006540193.tif 000024
【００５２】
I/Δt、異方性、および隣接の寄与を考慮した交換結合の行列の和をGとして全ての要素iに対する全体の行列を表現すると数２４で表すことができる。
【００５３】
【数２４】
0006540193.tif 000025
【００５４】
この全体の連立方程式を解くことで、次の時刻の磁化ベクトルを数２５に示すとおり求めることができる。
【００５５】
【数２５】
0006540193.tif 000026
【００５６】
図４は磁化ベクトルを示す説明図である。続いて中間磁化について説明する。磁化ベクトルMは単位磁化ベクトルmと飽和磁化Msの積M=Msmで表現できる。以下では、単位磁化ベクトルmについて述べる。磁化iに対する隣接の磁化jによる交換結合による磁界は、磁化ベクトルの数２６で示す勾配に比例する（数１３参照）。
【００５７】
【数２６】
0006540193.tif 000027
【００５８】
磁化ベクトルmiを回転させるトルクは、勾配のY軸成分が大きく寄与する。そこで、以下ではΔx=1と簡単化して、勾配のY軸方向成分のみを考える。従来の微分の考えでそのまま勾配を計算すると、回転角度θが90[deg]を超えると勾配のY成分が減衰する。
【００５９】
図５は磁化ベクトルの勾配の変化を示すグラフである。図９のグラフは横軸を２つの磁化ベクトルの成す角θとして、従来の手法で計算した磁化ベクトルの勾配のY軸成分をプロットしたものである。図５の点線で示すように、角度９０度を超えた場合、減衰が発生し、計算誤差が大きくなる問題がある。
【００６０】
メッシュの幅を小さくした場合、隣接し合う磁化ベクトルの成す角が小さくなるため、交換結合による磁界を高精度に計算することが可能となる。ただし、メッシュの幅を小さくした場合、全体のメッシュ数が大きくなるため、計算時間が増加する。多少メッシュ幅が大きくても、高精度に交換結合（磁化ベクトルの勾配）による磁界を計算する手法として、中間磁化ベクトルが存在する。
【００６１】
図６は中間磁化ベクトルを示す説明図である。中間磁化ベクトルmijは、２つの磁化ベクトルの間に配置した仮想的な磁化ベクトルである。中間磁化ベクトルは、数２７に示すとおり、２つの磁化ベクトルを補間した仮想的な磁化ベクトルをその長さで規格化（長さ=１）したものである。中間磁化ベクトルを用いて磁界の勾配を計算することで、勾配の減衰を抑制することができる。
【００６２】
【数２７】
0006540193.tif 000028
【００６３】
ここでcは、数２８で示すとおり、図３の磁化ベクトルmijが配置される位置を距離で規格化した値である。
【００６４】
【数２８】
0006540193.tif 000029
【００６５】
中間磁化を用いた交換結合による磁界は数２９で表すことができる。
【００６６】
【数２９】
0006540193.tif 000030
【００６７】
中間磁化を用いて勾配を計算した場合、角度が大きくなっても減衰が少なくなる。つまり、中間磁化を用いることで、従来手法に比べて大きい角度の磁化変化まで高精度に勾配を計算することができるため、同じ精度の計算をより大きいメッシュ間隔で計算可能となる。
【００６８】
図７は中間磁化との対比を示すグラフである。図７のグラフでは、横軸を２つの磁化ベクトルの成す角θとして、“従来の手法”と“中間磁化”の手法で計算した磁化ベクトルの勾配のY軸成分をプロットした。中間磁化を用いることで、実線で示す従来手法に比べて磁化ベクトルの勾配計算精度が向上する。しかしながら、点線で示す中間磁化は、成す角θが180[deg]の近くでは勾配が飽和することで計算精度が低下すると考えられる。
【００６９】
図８は磁化ベクトルを示す説明図である。図８に示すように磁性体は、磁化ベクトルを持つ原子が約１Åの距離を隔てて並び、隣接する磁化ベクトルの成す角は小さい。本実施形態では、数値計算において計算機資源の制約上、メッシュ間隔を数nm〜と10倍以上大きくする。ここで小さな距離δxだけ離れた位置の磁化ベクトルmの値を取得できれば、より高精度に数３０で示す磁化ベクトルの空間勾配を計算でき、結果的により高精度に交換結合による磁界を計算できる。従って、着目する磁化の近傍δxだけ離れた磁化ベクトルを算出し、その磁化ベクトルを用いて磁化ベクトルの勾配（交換結合による磁界）を計算する必要がある。
【００７０】
【数３０】
0006540193.tif 000031
【００７１】
図９は補間磁化ベクトルを示す説明図である。ＣＰＵ１１は、記憶部１５から磁化ベクトルmi（第１磁化ベクトル）及び隣接する磁化ベクトルmj（第２磁化ベクトル）を読み出す。ＣＰＵ１１は、図９に示すように、磁化ベクトルmiと隣接する磁化ベクトルmjとの始点を結ぶ直線上に始点を有し、磁化ベクトルmiと隣接する磁化ベクトルmjと同一面内を向く近傍の磁化ベクトルm*（補間磁化ベクトル）を生成する。図９の例ではＸ軸及びＹ軸で規定される面内に磁化ベクトルm*が生成される。
【００７２】
ＣＰＵ１１は磁化ベクトルmiと隣接する磁化ベクトルmjとの間のなす角度αに基づき補間磁化ベクトルを生成する。具体的には、ＣＰＵ１１は、数３１で示すように、近傍の磁化ベクトルm*の角度αを線形補間して算出する。なお、本実施形態においては単位磁化ベクトルmi、単位磁化ベクトルmj及び近傍の単位磁化ベクトルm*を用いる例を挙げて説明するが、磁化ベクトルm*の大きさは磁化ベクトルmi及び磁化ベクトルmjの平均値としても良い。
【００７３】
【数３１】
0006540193.tif 000032
【００７４】
基準の磁化ベクトルmiと隣接の磁化ベクトルmjはXY面内に存在すると仮定し、基準の磁化ベクトルと近傍の磁化ベクトルm*を用いて勾配を計算すると、数３２で表すことができる。
【００７５】
【数３２】
0006540193.tif 000033
【００７６】
磁化ベクトルmiを回転させる力は磁化ベクトルmiに対し垂直方向の成分であるため、垂直成分となるY軸成分をグラフ化する。図１０は補間磁化ベクトルとの対比を示すグラフである。横軸は２つの磁化ベクトルの成す角θ、縦軸は磁化ベクトルの勾配である。実線で、従来の手法、点線で中間磁化、一点鎖線で角度補間の手法で計算した磁化ベクトルの勾配のY軸成分を示す。
【００７７】
このように、角度補間を用いることで、磁化ベクトルの成す角が大きくなった場合でも、磁化ベクトルの勾配が減衰しない。回転を仮定するなら微分Δxの位置に依らずに勾配は一定であるので、角度補間は理論的に正しい。つまり、角度補間を用いることで交換結合による磁界をさらに高精度に計算することが可能となる。
【００７８】
図１１は補間磁化ベクトルの生成処理の手順を示すフローチャートである。ＣＰＵ１１は、記憶部１５から磁化ベクトルmi及び磁化ベクトルmjを読み出す（ステップＳ１１１）。なお、ステップＳ１１１ではＸＹ平面内を向く単位磁化ベクトルmi及び単位磁化ベクトルmjを用いるものとする。ＣＰＵ１１は、磁化ベクトルmi及び磁化ベクトルmjの始点を結ぶ直線上の位置に補間磁化ベクトルm*の始点を決定する（ステップＳ１１２）。なお、始点の位置の決定処理については後述する。ＣＰＵ１１は、磁化ベクトルmi及び磁化ベクトルmjがなす角度を算出する（ステップＳ１１３）。なお、角度は磁化ベクトルmiを基準に時計回転方向であるものとする。
【００７９】
ＣＰＵ１１は、磁化ベクトルmi及び磁化ベクトルmjの始点位置と、ステップＳ１１２で決定した始点位置と、算出した角度に基づき、ＸＹ平面における補間磁化ベクトルm*の角度を決定する（ステップＳ１１４）。これにより、交換結合による磁界をさらに高精度で計算することが可能となる。
【００８０】
実施の形態２
実施の形態２は、線形陰解法に角度補間した磁化ベクトルを適用する形態に関する。図１２は磁化ベクトルを示す説明図である。線形陰解法に補間磁化ベクトルを適用する際に、着目する磁化ベクトルmiに隣接する磁化ベクトルmjを回転させて磁化ベクトルmiの近傍に近づける。この近傍の磁化ベクトルをm*とする。ＣＰＵ１１は、記憶部１５から、時刻nの磁化ベクトルminと磁化ベクトルmjnを読み出す。ＣＰＵ１１は、記憶部１５から数３３を読み出し、時刻nの磁化ベクトルminと磁化ベクトルmjnの成す角αを算出する。ＣＰＵ１１は記憶部１５から数３４を読み出し、時刻nの磁化ベクトルminと磁化ベクトルmjnに対して垂直な単位ベクトルtを算出する。
【００８１】
【数３３】
0006540193.tif 000034
【００８２】
【数３４】
0006540193.tif 000035
【００８３】
ＣＰＵ１１は、角度αに応じて距離δxを算出する。具体的な算出手順は以下のとおりである。角度補間では、隣接の磁化ベクトルを着目する磁化ベクトルに近づけることで勾配の計算精度を上げられる。しかし、近づけすぎる（δx → 0）と連立方程式の非対角成分（隣接の磁化ベクトルによる寄与）が大きくなり、計算が不安定または収束の反復回数が増加してしまうという問題が発生する。そこで、磁化ベクトルの成す角を基にして好ましいδxを予め計算する。このδxの値は、勾配計算の精度を保ちながら可能な限り大きくする必要がある。
【００８４】
図１３は磁化ベクトルを示すグラフである。横軸は着目する磁化ベクトルに隣接する仮想的な磁化ベクトルの位置δx、縦軸が磁化ベクトルの勾配を示す。隣接する磁化ベクトルの位置を１として、位置δxにおいて補間された磁化ベクトルをｍ*とする。この磁化ベクトルｍ*は“角度補間（実線で示すＡ１〜Ａ６）”または“ベクトル補間（点線で示すＢ１〜Ｂ６）”で計算される。真の磁化ベクトルの勾配の値は、角度補間のδx→0とする値である。ベクトル補間は、中間の位置δx=0.5が最も値が大きく精度も良い。角度補間はδx→0が真の勾配の値であるが、角度αが小さいほどこのδxを大きくしても勾配計算の精度は維持される。
【００８５】
２つの磁化ベクトルが平行または反平行に近い場合には、２つのベクトルに垂直なベクトルを計算することが困難となる。また、平行の場合の勾配は従来の計算方法で十分精度よく計算できる。そこで、本実施形態では予め指定した範囲内にαの値がある場合に線形陰解法に対し角度補間を適用する。
【００８６】
ＣＰＵ１１は、α_min<α<α_maxの時に線形陰解法に角度補間を適用するため、まずα_minとα_maxの値を設定する（フィルタリング）。なお、各パラメータは以下のとおりである。
ｎ：時間積分のステップ数
α_min：角度補間を使用するときの２つの磁化ベクトルの成す角αの下限値
α＜α_minの時には従来手法を使用
α_max：角度補間を使用するときの２つの磁化ベクトルの成す角αの上限値
α_max＜αの時には従来手法を使用
δx_min：δxの下限値である。αの1次式で表現されるδxをαから算出する際に、δx＜δx_minの場合にはδx＝δx_minとする。
δxA：グラフ上の位置Aのδxの値
αA：グラフ上の位置Aのαの値
δxB：グラフ上の位置Bのδxの値
αB：グラフ上の位置Bのαの値
【００８７】
ＣＰＵ１１は、Δxが小さい場合、収束が悪化するため、予め最小となるδx_minの値を設定する。ＣＰＵ１１は、図１３で示すグラフの計算結果に基づき、αA=80degでδxA=0.3(位置A)、αB=170degでδxB=0.0(位置B)となるようにδxとαの関係を決定する。また、δx_min=0.1とする。ＣＰＵ１１は、当該２組の角度及び距離の組合せに基づき、角度αがこの２点を通過する直線を、数３５に示すように生成する。
【００８８】
【数３５】
0006540193.tif 000036
【００８９】
これにより最小値を考慮してαの関数で表現した場合、数３６で表現することができる。
【００９０】
【数３６】
0006540193.tif 000037
【００９１】
続いて、ＣＰＵ１１は、δxの値を用いて数３７で示す回転行列Tを生成する。
【００９２】
【数３７】
0006540193.tif 000038
【００９３】
回転行列Tは着目する磁化ベクトルmin+1に対する隣接の磁化ベクトルmjn+1を回転軸tjに対して角度α(1.0-δx)だけ回転させる行列とする。つまり、回転行列Tは時刻n+1の磁化ベクトルmjn+1に乗じて、磁化ベクトルmin+1に近づける行列とする。ここで、着目する磁化ベクトルmin+1を回転してm*,n+1とするのでは、計算の安定化に寄与できない。隣接の磁化ベクトルに乗じて近傍の磁化ベクトルm*,n+1を構築することで線形陰解法の特徴である“時間刻みの増加”が可能になる。
【００９４】
数３８は、行列Tを用いて磁化ベクトルmjn+1を磁化ベクトルmin+1の近傍の磁化ベクトルm*,n+1に近づける変換式である。ＣＰＵ１１は数３８の式を読み出し、行列Ｔ及び磁化ベクトルmjn+1を乗じ近傍の磁化ベクトルm*,n+1を算出する。
【００９５】
【数３８】
0006540193.tif 000039
【００９６】
これにより、近傍の磁化ベクトルm*を時刻n+1の隣接磁化ベクトルmjn+1で表現できることから、角度補間に線形陰解法を適用することができる。以上より、角度補間を用いた交換結合磁界は数３９で表すことができる。
【００９７】
【数３９】
0006540193.tif 000040
【００９８】
数３９の右辺第２項は、仮想的な磁化ベクトルm*,n+1を隣接の磁化ベクトルmjn+1で表現した項である。安定状態に収束する過程ではmnはmn+1と等しくなるので、時刻nの磁化ベクトルを用いて回転行列Tの回転軸を計算しても収束後の計算精度に問題は発生しない。従来手法では要素iと要素ｊの交換結合の係数行列は同じであった。しかし、角度補間を用いた要素iと要素ｊの交換結合の係数行列は相違する。そのため、要素iの交換結合の係数行列をGi,ex、要素ｊの交換結合の係数行列をGj,exとする。なお、GanとFi従来手法とは同じ値である。
【００９９】
数３９により係数は数４０及び数４１で表すことができる。
【０１００】
【数４０】
0006540193.tif 000041
【０１０１】
【数４１】
0006540193.tif 000042
【０１０２】
これにより角度補間を用いた連立方程式は数４２で表すことができる。
【０１０３】
【数４２】
0006540193.tif 000043
【０１０４】
全体の連立方程式の作成方法について説明する。係数行列の説明では、要素iとそれに隣接する要素jの関係を用いた。実際には、要素はメッシュの数だけ存在するため、要素に割り当てる磁化ベクトルの数はメッシュの数だけ存在する。以下では、要素に1〜6までの番号が割り振られた6個の要素に対する連立方程式の作成手順を説明する。
数４１は、要素iの隣接要素jを考慮した要素iに対する方程式である。
【０１０５】
図１４は磁化ベクトルを示す説明図である。図１４の全ての要素の磁化ベクトルに対して連立方程式を作成する方法を示す。６個の要素に対する磁化ベクトルの連立方程式の数は、６×３＝１８個となるが、磁化ベクトルで連立方程式を表現すると連立方程式の数は６個となる。以下では表記を簡単にするため、磁化ベクトルを未知数として連立方程式を作成する。
【０１０６】
miでをベクトルで表現した連立方程式は数４３で表すことができる。
【０１０７】
【数４３】
0006540193.tif 000044
【０１０８】
連立方程式は、要素iに対して隣接する全ての要素jの組み合わせを考慮して和を求める。例えば、要素１の隣接要素は２、４であるため、１行目の係数行列Aは、A11、A12、A14が非ゼロとなり、それ以外は０となる。以下同様に各要素の隣接関係を用いて連立方程式を作成すると数４４となる。
【０１０９】
【数４４】
0006540193.tif 000045
【０１１０】
ここでA11、A12、A14の具体的な値はそれぞれ数４５で表すことができる。
【０１１１】
【数４５】
0006540193.tif 000046
【０１１２】
係数行列Aを一般化すると数４６で表すことができる。
【０１１３】
【数４６】
0006540193.tif 000047
【０１１４】
要素の数がN個の場合には、上記手法により、磁化ベクトルの各成分を未知数とする3N×3Nのサイズの連立方程式を作成する。
【０１１５】
図１５及び図１６は交換結合磁界の算出手順を示すフローチャートである。ＣＰＵ１１は、パラメータを初期化する（ステップＳ１５１）。具体的には、ＣＰＵ１１は、ｎは０とし、ε,αmax,αmin,δx_min,αA,δxA,αB,δxBに予め定められた値を設定する。ＣＰＵ１１は、磁化ベクトルを設定する（ステップＳ１５２）。ＣＰＵ１１は、隣接する磁化ベクトルを取得する。ＣＰＵ１１は、数３３を参照し、これら隣接する磁化ベクトルの成す角αを算出する（ステップＳ１５３）。
【０１１６】
ＣＰＵ１１は、算出したαがステップＳ１５１で初期化したαの最小値より大きく、かつ、αの最大値より小さいか否かを判断する（ステップＳ１５４）。ＣＰＵ１１は、初期化したαの最小値より大きく、かつ、αの最大値より小さいと判断した場合（ステップＳ１５４でＹＥＳ）、処理をステップＳ１５５へ移行させる。ＣＰＵ１１は、ステップＳ１５１で初期化した２組の距離及び角度（αA,δxA,αB,δxB）に基づき、定義される一次数（数３５参照）を記憶部１５から読み出す（ステップＳ１５５）。
【０１１７】
ＣＰＵ１１は、数３５及び数３６を参照し、角度αに基づき、最適なδxを算出する（ステップＳ１５６）。ＣＰＵ１１は、数３４を参照し、時刻ｎにおける相互に隣接する磁化ベクトルに基づき、回転軸を算出する（ステップＳ１５７）。ＣＰＵ１１は、数３７を参照し、δxを用いて回転行列Ｔを算出する（ステップＳ１５８）。
【０１１８】
ＣＰＵ１１は、数３８を参照し、時刻ｎよりも後の時刻n+1の補間磁化ベクトルを算出する（ステップＳ１５９）。ＣＰＵ１１は、数３９を参照し回転行列Ｔを用いて交換結合磁界を算出する（ステップＳ１６１）。ＣＰＵ１１は、その後処理をステップＳ１６３に移行する。ＣＰＵ１１は、初期化したαの最小値より大きく、かつ、αの最大値より小さいと判断しない場合（ステップＳ１５４でＮＯ）、処理をステップＳ１６２へ移行させる。
【０１１９】
ＣＰＵ１１は、数１３を参照し、従来の交換結合磁界を算出する（ステップＳ１６２）。ＣＰＵ１１は、その後処理をステップＳ１６３へ移行させる。ＣＰＵ１１は、数４０〜４２を参照し、線形陰解法の係数行列（Gan, Gi,ex, Gj,ex）を生成する（ステップＳ１６３）。
【０１２０】
ＣＰＵ１１は、磁化ベクトルの全ての要素について上述した処理を終了したか否かを判断する（ステップＳ１６４）。ＣＰＵ１１は、終了していないと判断した場合（ステップＳ１６４でＮＯ）、処理をステップＳ１５３へ移行させる。ＣＰＵ１１は、終了したと判断した場合（ステップＳ１６４でＹＥＳ）、処理をステップＳ１６５へ移行させる。ＣＰＵ１１は、数４３〜４６を参照し、連立方程式G{mn+1}=Fを生成する（ステップＳ１６５）。
【０１２１】
ＣＰＵ１１は、連立方程式を解くことにより磁化ベクトルmn+1=G-1Fを算出する（ステップＳ１６６）。ＣＰＵ１１は、磁化ベクトルの残差dmn+1=max|mn+1-mn|を算出する（ステップＳ１６７）。ＣＰＵ１１は、残差がステップＳ１５１で初期化したεよりも小さいか否かを判断する（ステップＳ１６８）。ＣＰＵ１１は、小さくないと判断した場合（ステップＳ１６８でＮＯ）、処理をステップＳ１６９へ移行させる。ＣＰＵ１１は、時刻ｎをインクリメントし時刻ｎよりも後の時刻ｎ＋１とする（ステップＳ１６９）。ＣＰＵ１１は、その後処理をステップＳ１５３に戻す。ＣＰＵ１１は、小さいと判断した場合（ステップＳ１６８でＹＥＳ）、処理を終了する。
【０１２２】
図１７は実験に用いたメッシュを示す説明図である。実施形態における効果を確認するために、メッシュサイズに対する保磁力を計算する。そして、保磁力のメッシュサイズ依存性の低下を確認する。計算には、６面体メッシュおよび４面体メッシュを使用する。そして、６面体メッシュ及び４面体メッシュのメッシュ依存性の低下を確認する。計算には線形陰解法を用いて、交換結合の計算に“従来手法”、および“角度補間”を適用して比較する。なお、６面体メッシュ及び４面体メッシュそれぞれについて図１７のとおり８つのタイプを用意した。各磁石メッシュ及び粒界層メッシュは図１７に示すとおりである。なお、タイプ７の粒界層メッシュはサイズ９で作成することができないため、サイズ６としている。以下では、磁石のメッシュサイズをメッシュサイズという。
【０１２３】
図１８は６面体における保持力の変化を示すグラフであり、図１９は４面体における保持力の変化を示すグラフである。横軸はメッシュ幅を示し単位はnmである。縦軸は保持力であり、単位はA/mである。図１８及び図１９に示すとおり、保磁力Hcは、実線で示す角度補間がメッシュ幅に対する依存性が、点線で示す従来手法よりも小さいことが理解できる。従って、線形陰解法に対して角度補間を適用することで、保磁力Hcの計算精度を安定させることが可能となる。また、メッシュサイズを大きく(約2倍)することで計算速度を向上させることが可能となる。このように、線形陰解法により時間刻みを大きくすることで、計算の高速化（10〜100倍の高速化）を図ることができる。さらに、補間ベクトルを用いることで、計算精度を高めることが可能となる。また、線形陰解法に補間ベクトルを適用することで、さらなる計算の高速化を図ることが可能となる。
【０１２４】
本実施の形態２は以上の如きであり、その他は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１２５】
実施の形態３
図２０は上述した形態のコンピュータ１の動作を示す機能ブロック図である。ＣＰＵ１１が制御プログラム１５Ｐを実行することにより、コンピュータ１は以下のように動作する。取得部２０１は、第１磁化ベクトル及び第２磁化ベクトルを取得する。生成部２０２は、取得した第１磁化ベクトル及び第２磁化ベクトルの始点を結ぶ直線上に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する。読み出し部２０３は、線形陰解法の交換結合磁界を算出する場合に、前記第１磁化ベクトルの始点と生成した補間磁化ベクトルの始点との距離、及び、前記角度の関係を示す一次式を読み出す。
【０１２６】
図２１は実施の形態３に係るコンピュータ１のハードウェア群を示すブロック図である。コンピュータ１を動作させるためのプログラムは、ディスクドライブ等の読み取り部１０ＡにCD-ROM、DVD（Digital Versatile Disc）ディスク、メモリーカード、またはUSB(Universal Serial Bus)メモリ等の可搬型記録媒体１Ａを読み取らせて記憶部１５に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１Ｂをコンピュータ１内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Ｎを介して接続される他のサーバコンピュータ（図示せず）からダウンロードすることも可能である。以下に、その内容を説明する。
【０１２７】
図２１に示すコンピュータ１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１Ａまたは半導体メモリ１Ｂから読み取り、或いは、通信網Ｎを介して他のサーバコンピュータ（図示せず）からダウンロードする。当該プログラムは、制御プログラム１５Ｐとしてインストールされ、ＲＡＭ１２にロードして実行される。これにより、上述したコンピュータ１として機能する。
【０１２８】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１２９】
以上の実施の形態１から３を含む実施形態に関し、さらに以下の付記を開示する。
【０１３０】
（付記１）
第１磁化ベクトル及び第２磁化ベクトルを取得する取得部と、
取得した第１磁化ベクトル及び第２磁化ベクトルの始点を結ぶ直線上に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する生成部と
を備える情報処理装置。
（付記２）
前記生成部は、
前記第１磁化ベクトル及び第２磁化ベクトルの成す角度に基づき、補間磁化ベクトルを生成する
付記１に記載の情報処理装置。
（付記３）
線形陰解法の交換結合磁界を算出する場合に、前記第１磁化ベクトルの始点と生成した補間磁化ベクトルの始点との距離、及び、前記角度の関係を示す一次式を読み出す読み出し部
を備える付記２に記載の情報処理装置。
（付記４）
前記一次式は２組の距離及び角度に基づき導出する
付記３に記載の情報処理装置。
（付記５）
線形陰解法の交換結合磁界を算出する場合に、前記第１磁化ベクトルの第２磁化ベクトルに対する回転行列を算出する算出部
を備える付記２から４のいずれか一つに記載の情報処理装置。
（付記６）
第１時刻における第１磁化ベクトル及び第２磁化ベクトルに基づき、前記回転行列の回転軸を算出する回転軸算出部
を備える付記５に記載の情報処理装置。
（付記７）
前記生成部は、
前記回転行列を、第１時刻よりも後の第２時刻における第２磁化ベクトルに乗じることで、前記第２時刻における補間磁化ベクトルを生成し、
生成した補間磁化ベクトルに基づき、線形陰解法の交換結合磁界を算出する交換結合磁界算出部
を備える付記６に記載の情報処理装置。
（付記８）
第１磁化ベクトル及び第２磁化ベクトルを取得し、
取得した第１磁化ベクトル及び第２磁化ベクトルの始点を結ぶ直線上に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する
処理をコンピュータに実行させるプログラム。
（付記９）
第１磁化ベクトル及び第２磁化ベクトルを取得し、
取得した第１磁化ベクトル及び第２磁化ベクトルの始点を結ぶ直線上に始点を有し、前記第１磁化ベクトル及び第２磁化ベクトルと同一面内を向く補間磁化ベクトルを生成する
処理をコンピュータに実行させる情報処理方法。
【符号の説明】
【０１３１】
１      コンピュータ
１Ａ    可搬型記録媒体
１Ｂ    半導体メモリ
１０Ａ  読み取り部
１１    ＣＰＵ
１２    ＲＡＭ
１３    入力部
１４    表示部
１５    記憶部
１５Ｐ  制御プログラム
１６    通信部
１８    時計部
２０１  取得部
２０２  生成部
２０３  読み出し部
Ｎ      通信網
【図１】
0006540193.tif 000048
【図２】
0006540193.tif 000049
【図３】
0006540193.tif 000050
【図４】
0006540193.tif 000051
【図５】
0006540193.tif 000052
【図６】
0006540193.tif 000053
【図７】
0006540193.tif 000054
【図８】
0006540193.tif 000055
【図９】
0006540193.tif 000056
【図１０】
0006540193.tif 000057
【図１１】
0006540193.tif 000058
【図１２】
0006540193.tif 000059
【図１３】
0006540193.tif 000060
【図１４】
0006540193.tif 000061
【図１５】
0006540193.tif 000062
【図１６】
0006540193.tif 000063
【図１７】
0006540193.tif 000064
【図１８】
0006540193.tif 000065
【図１９】
0006540193.tif 000066
【図２０】
0006540193.tif 000067
【図２１】
0006540193.tif 000068