(57)【要約】【課題】マイクロマグネティックシミュレーションの計算速度を向上させることを目的とする。【解決手段】コンピュータに、第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における各要素の第１静磁界ポテンシャル情報を算出し、第１磁化ベクトル情報と第１静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出し、第１磁化ベクトル情報と第１静磁界ポテンシャル情報に基づいて、第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出し、第１磁化ベクトル情報、第１静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、第２時刻における各要素の第２磁化ベクトル情報を算出する処理を実行させることを磁性材料シミュレーションプログラムにより、上記課題の解決を図る。【選択図】図５
2018181161.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の第２磁化ベクトル情報を算出する
処理を実行させることを磁性材料シミュレーションプログラム。
【請求項２】
前記磁化ベクトル算出行列Ａの算出において、前記第１時刻より過去の時刻の磁化ベクトルを用いて算出する
処理を行う請求項１に記載の磁性材料シミュレーションプログラム。
【請求項３】
１回の時間積分において、
前記第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第１時刻と前記第２時刻との中間時刻における前記各要素の第３磁化ベクトル情報を算出し、
前記第３磁化ベクトル情報から、前記第３時刻における前記各要素の前記第３静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第３磁化ベクトル情報、前記第３静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の前記第２磁化ベクトル情報を算出する
ことを特徴とする請求項１に記載の磁性材料シミュレーションプログラム。
【請求項４】
第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出する静磁界ポテンシャル算出部と、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出する行列Ａ算出部と、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出する行列Ｂ算出部と、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の第２磁化ベクトル情報を算出する磁化ベクトル算出部と、
を備えることを特徴とする磁性材料シミュレーション装置。
【請求項５】
コンピュータが、
第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の第２磁化ベクトル情報を算出する
ことを磁性材料シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、磁性材料シミュレーションプログラム、磁性材料シミュレーション装置、及び磁性材料シミュレーション方法に関する。
【背景技術】
【０００２】
磁性体の磁化挙動を解析する技術として、磁性体を小さな磁石の集合としてモデル化し、磁区状態を数値シミュレーションするマイクロマグネティックシミュレーション（以下、「ＭＳ」と称する）が知られている。マイクロマグネティックシミュレーションは、ＨＤＤ（Hard  Disk  Drive）の磁気ヘッドやＭＲＡＭ（Magnetoresistive  Random  Access  Memory）等のミクロな磁性デバイス、および永久磁石や電磁鋼板といった磁性材料の磁区状態を解析するために用いられる。マイクロマグネティックシミュレーションに関する技術の一例として、次の技術がある。
【０００３】
第１の技術として、マイクロマグネティックシミュレーションの計算精度を向上させる技術がある。第１の技術では、磁化解析装置は、１つの態様において、中間磁化算出部と有効磁界算出部と磁化算出部とを有する。中間磁化算出部は、磁性体を複数のメッシュに分割するメッシュ分割により得られる各要素の磁化ベクトルと各要素に隣接する要素の磁化ベクトルとを用いて各要素と各要素に隣接する要素との中間地点における磁化ベクトルである中間磁化を算出する。有効磁界算出部は、中間磁化算出部により算出された中間磁化を用いて有効磁界を算出する。磁化算出部は、有効磁界算出部により算出された有効磁界に基づいて単位時間後における各要素の磁化ベクトルを算出する。
【０００４】
第２の技術として、磁化ベクトルの回転角度が大きくなる場合でも、高精度な磁気交換結合磁界を算出可能な技術がある。第２の技術では、磁気交換結合エネルギー算出装置は、補間する補間手段と、算出手段とを含む。補間手段は、有限体積法で使用される、隣接し合う要素の中心に配置される２つの磁化ベクトルの間の回転角を、当該２つの磁化ベクトルに直交する回転軸を基準として、補間する。算出手段は、２つの磁化ベクトルに加わる力として作用する磁界を補間された回転角で積分することにより、磁気交換結合磁界を算出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−４２２１６号公報
【特許文献２】特開２０１２−３３１１６号公報
【非特許文献】
【０００６】
【非特許文献１】C. J. Garcia-Cervera, “Numerical Micromagnetics: A Review”, Bol. Soc. Esp. Mat. Apl., 2007 1-33
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、１つの側面では、マイクロマグネティックシミュレーションの計算速度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する磁性材料シミュレーションプログラムは、１つの態様において、コンピュータに、次の処理を実行させる。すなわち、コンピュータが、第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から第１静磁界ポテンシャル情報を算出する。コンピュータが、第１磁化ベクトル情報と第１静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出する。第２時刻は、第１時刻より後の時刻である。コンピュータが、第１磁化ベクトル情報と第１静磁界ポテンシャル情報に基づいて、第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出する。コンピュータが、第１磁化ベクトル情報、第１静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び磁化ベクトル算出行列Ｂに基づいて、第２時刻における各要素の第２磁化ベクトル情報を算出する。
【０００９】
本願の開示する磁性材料装置は、１つの態様において、静磁界ポテンシャル算出部と、行列Ａ算出部と、行列Ｂ算出部と、磁化ベクトル算出部を含む。
【００１０】
静磁界ポテンシャル算出部は、第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、第１時刻における各要素の第１静磁界ポテンシャル情報を算出する。行列Ａ算出部は、第１磁化ベクトル情報と第１静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出する。第２時刻は、第１時刻より後の時刻である。行列Ｂ算出部は、第１磁化ベクトル情報と第１静磁界ポテンシャル情報に基づいて、第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出する。磁化ベクトル算出部は、第１磁化ベクトル情報、第１静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び磁化ベクトル算出行列Ｂに基づいて、第２時刻における各要素の第２磁化ベクトル情報を算出する。
【００１１】
本願の開示する磁性材料シミュレーション方法は、１つの態様において、コンピュータが次の処理を行う。すなわち、コンピュータが、第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、第１時刻における各要素の第１静磁界ポテンシャル情報を算出する。コンピュータが、第１磁化ベクトル情報と第１静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出する。第２時刻は、第１時刻より後の時刻である。コンピュータが、第１磁化ベクトル情報と第１静磁界ポテンシャル情報に基づいて、第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出する。コンピュータが、第１磁化ベクトル情報、第１静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び磁化ベクトル算出行列Ｂに基づいて、第２時刻における各要素の第２磁化ベクトル情報を算出する。
【発明の効果】
【００１２】
本発明によれば、１つの側面では、マイクロマグネティックシミュレーションの計算速度を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】マイクロ磁化に分割された磁性体の模式図である。
【図２】本実施形態における磁性材料シミュレーション装置の一例を示す。
【図３】磁性材料シミュレーション装置のハードウェア構成の一例を示す。
【図４】本実施形態におけるシミュレーション処理のフローチャートの一例である。
【図５】シミュレーション処理のフローチャートの一例である。
【図６】図５のＳ３１２の磁化ベクトルデータの更新処理の詳細処理フローの一例である。
【図７】第１の実施形態におけるデータ更新のタイミングを示すタイミングチャートである。
【図８】第１の実施形態で用いるデータの一例である。
【図９】行列ＡのＳＳＴ項に関する成分の作成方法を説明するための図である。
【図１０】第１の実施形態におけるスピントルク発振素子（ＳＴＯ）の発振周波数を求める計算における時間積分フローチャートを示す。
【図１１】第２の実施形態におけるシミュレーション処理のフローチャートの一例である。
【図１２】図１１のＳ３３２の２段階による静磁界ポテンシャルの更新及び磁化ベクトルデータの更新の詳細処理フローの一例である。
【図１３】第２の実施形態におけるデータ更新のタイミングを示すタイミングチャートである。
【図１４】第２の実施形態におけるスピントルク発振素子（ＳＴＯ）の発振周波数を求める計算における時間積分フローチャートを示す。
【図１５】第２の実施形態における、ＳＴＯの発振周波数を求める計算を行い、計算速度の増加を確認する表である。
【発明を実施するための形態】
【００１４】
図１は、マイクロ磁化に分割された磁性体の模式図である。ＭＳとは磁性体の理論計算に用いられる手法である。図１に示すように、磁性体を微小な要素に分割し、要素ごとにマイクロ磁化を配置し、各マイクロ磁化の振舞を計算する。
【００１５】
ＭＳにおいて、各マイクロ磁化の運動は以下の微分方程式（ＬＬＧ方程式）で記述される。
【００１６】
【数１】
2018181161.tif 000003
【００１７】
ここで、「→」はベクトルであることを示す。以降、ベクトルを示す「→」は式中でのみ使用し、他の個所では省略する。「×」は外積を示す。
【００１８】
各エネルギーは、以下で表される。
【００１９】
【数２】
2018181161.tif 000004
【００２０】
【数３】
2018181161.tif 000005
【００２１】
磁性体に電流が流れる場合、スピン角運動量の輸送が磁性体内で発生し、磁性体に対してトルクが働く。この効果を一般にスピントランスファー効果（以下、「ＳＴ効果」と称する）と呼ぶ。また、磁性体に働くトルクをスピントランスファートルク（以下、「ＳＴＴ」と称する）と呼ぶ。（１）式ではＳＴ効果を考慮しておらず、ＳＴ効果をＭＳで取り扱うにはＳＴＴをそのＳＴＴと等価な磁界に変換し、（１）式の右辺を修正する。以下、ＳＴ効果を考慮したＬＬＧ方程式を「Ｓ−ＬＬＧ方程式」と称する。ＳＴ効果には磁性体を用いたシステムに応じて様々な形式が提案されており、各システムに対して変換後の磁界の形式が変わる。
【００２２】
例えば、スピン注入型ＳＴＴを考慮したＬＬＧ方程式（スピン注入型Ｓ−ＬＬＧ方程式）は、以下の式で示される。
【００２３】
【数４】
2018181161.tif 000006
【００２４】
また、磁壁移動型ＳＴＴを考慮したＬＬＧ方程式（磁壁移動型Ｓ−ＬＬＧ方程式）は、以下の式で示される。
【００２５】
【数５】
2018181161.tif 000007
【００２６】
Ｓ−ＬＬＧ方程式の特徴としては、（９）式及び（１１）式のいずれの式にも右辺にＳＴ効果による非線形項が加わっていることである。
【００２７】
ＭＳにてＬＬＧ方程式を解く際、交換結合磁界を陰的に取り扱うCrank-Nicholson法（以下、「ＣＮ法」と称する）が提案されている（非特許文献１）。ＣＮ法は微分方程式を離散化するため１つの手法である。陽解法に比べＣＮ法は時間刻みを大きくとることが可能であり、計算回数を大幅に削減することが期待される。
【００２８】
一方で、ＣＮ法は時間刻みを大きくした場合はそれに伴い計算精度が悪化することが懸念されている。また、ＭＳへのＣＮ法の検討はその多くがＬＬＧ方程式を想定している。更に、非特許文献１では交換結合項に関する歳差項（（１）式の右辺第一項）についてのみ議論されている。ＬＬＧ方程式全体を包含する手法、およびＳ−ＬＬＧ方程式の様に非線形項が更に加わった系における実装手法は明らかになっていない。
【００２９】
ＭＳの高速化を考える際、ＣＮ法を用いて時間刻みを大きくとることは非常に有効と期待される。しかし、Ｓ−ＬＬＧ方程式の解析にＣＮ法を適用する際、以下に示す二つの課題が存在する。
（課題１）非特許文献１ではＳ−ＬＬＧ方程式に対してＣＮ法が適用できない。
（課題２）時間刻みを大きくした場合に精度が悪化してしまう。
【００３０】
そこで、本実施形態では、以下で説明する方法を用いて、上記２つの課題を解決する。
まず、上記（課題１）については、静磁界については陽的に取り扱い、ＳＴＴについては項の一部を部分的に陰的に取り扱う。具体的な離散式は、（１３,１４）に記す。ここでの離散化とはｋとｋ＋１によって時間ステップ毎に分けることである。以下では具体的な離散化手法を記述する。式中の各変数の上付き文字はステップ番号を意味する。
・スピン注入型Ｓ−ＬＬＧ方程式へＣＮ法を適用するための離散化手法
【００３１】
【数６】
2018181161.tif 000008
【００３２】
・磁壁移動型Ｓ−ＬＬＧ方程式へＣＮ法を適用するための離散化手法
【００３３】
【数７】
2018181161.tif 000009
【００３４】
以下では、（１３）式に示すスピン注入型Ｓ−ＬＬＧ方程式の導出について説明する。（９）式は、（１５）式に示されるスピン注入型Ｓ−ＬＬＧ方程式より導出される。
【００３５】
【数８】
2018181161.tif 000010
【００３６】
（１５）式の右辺の時間微分項に（１５）式の右辺をそのまま代入すると、（１６）式が得られる。
【００３７】
【数９】
2018181161.tif 000011
【００３８】
（１６）式を整理すると、（１７）式が得られる。
【００３９】
【数１０】
2018181161.tif 000012
【００４０】
ここに、以下の磁化ベクトルの拘束条件式（｜ｍ（ベクトル）｜＝１）と、ベクトルのスカラー三重積の関係から（１８）式が成立する。
【００４１】
【数１１】
2018181161.tif 000013
【００４２】
（１８）式を（１７）式に代入すると、（１９）式が得られる。
【００４３】
【数１２】
2018181161.tif 000014
【００４４】
（１９）式を整理すると、（９）式が得られる。これより、（１５）式と（９）式が等価であることが示される。
【００４５】
次に、（１５）式を離散化する。（１３）式は、（１５）式を離散化して得られる。（２０）式は、（１５）式をＣＮ法により離散化するための式である。但し、線形化が困難な磁界を有する項に関しては、（２１）式に示すように、磁化ベクトルのみ平均化する。具体的に、Ｈani及びＨexcは（２０）式で離散化し、Ｈd及びＨappは（２１）式で離散化する。
【００４６】
時間微分項（２２）式及び三重積を有する項（２３）式についても同様に、磁化ベクトルを平均化する。
【００４７】
【数１３】
2018181161.tif 000015
【００４８】
（２０，２１，２２，２３）式より（１５）式を離散化すると、（２４）式が得られる。
【００４９】
【数１４】
2018181161.tif 000016
【００５０】
（２４）式を整理すると、（１３）式が得られる。このように離散化することにより、線形化可能な項のみ陰的に取り扱い、非線形項を、陽的もしくは部分的に陰的に扱うことができる。これにより、Ｓ−ＬＬＧ方程式に対してＣＮ法を適用することができる。
【００５１】
次にスピン注入型Ｓ−ＬＬＧ方程式の展開について説明する。ここでは、左辺が（ｋ＋１）の項、右辺がｋの項となるようにスピン注入型Ｓ−ＬＬＧ方程式を調整する。具体的には、（１３）式を、未知数ベクトルｍk+1の連立一次方程式の形へ変形する。（１３）式の各項について、ベクトルｍk+1に関する項を左辺に移行し、そうでない項を右辺に移項する。ここに、Ｈk+1に関する項について、これらもベクトルｍk+1の関数となるため、左辺に移行する。
【００５２】
【数１５】
2018181161.tif 000017
【００５３】
【数１６】
2018181161.tif 000018
【００５４】
より、（２５）式を整理すると、（２６）式が得られる。
【００５５】
【数１７】
2018181161.tif 000019
【００５６】
図２は、本実施形態における磁性材料シミュレーション装置の一例を示す。磁性材料シミュレーション装置１は、静磁界ポテンシャル算出部２、行列Ａ算出部３、行列Ｂ算出部４、磁化ベクトル算出部５を含む。
【００５７】
静磁界ポテンシャル算出部２は、第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報と第１静磁界ポテンシャル情報とから、第２時刻における各要素の第２静磁界ポテンシャル情報を算出する。第２時刻は、第１時刻より後の時刻である。静磁界ポテンシャル算出部２の一例として、後述するように、ＣＰＵ１２により実行されるＳ３１１の処理が挙げられる。
【００５８】
行列Ａ算出部３は、第１磁化ベクトル情報と第２静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出する。行列Ａ算出部３の一例として、後述するように、ＣＰＵ１２により実行されるＳ３１２−１の処理が挙げられる。
【００５９】
行列Ｂ算出部４は、第１磁化ベクトル情報と第２静磁界ポテンシャル情報に基づいて、第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出する。行列Ｂ算出部４の一例として、後述するように、ＣＰＵ１２により実行されるＳ３１２−２の処理が挙げられる。
【００６０】
磁化ベクトル算出部５は、第１磁化ベクトル情報、第２静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び磁化ベクトル算出行列Ｂに基づいて、第２時刻における各要素の第２磁化ベクトル情報を算出する。磁化ベクトル算出部５の一例として、後述するように、ＣＰＵ１２により実行されるＳ３１２−３の処理が挙げられる。
【００６１】
このように構成することにより、マイクロマグネティックシミュレーションの計算速度を向上させることができる。
【００６２】
行列Ａ算出部３は、第１時刻より過去の時刻の磁化ベクトルを用いて算出する。このように構成することにより、現在の磁化ベクトル情報と過去の磁化ベクトル情報と現在の静磁界ポテンシャル情報を用いて、磁化ベクトル算出行列Ａと磁化ベクトル算出行列Ｂと生成し、未来の磁化ベクトル情報を生成することができる。それにより、マイクロマグネティックシミュレーションの計算精度を向上させることができる。
【００６３】
静磁界ポテンシャル算出部２、行列Ａ算出部３、行列Ｂ算出部４、磁化ベクトル算出部５は、１回の時間積分において、２段階の処理を行う。
【００６４】
静磁界ポテンシャル算出部２は、第１磁化ベクトル情報と第１静磁界ポテンシャル情報とから、第１時刻と前記第２時刻との中間時刻における各要素の第３静磁界ポテンシャル情報を算出する。
【００６５】
行列Ａ算出部３、第１磁化ベクトル情報と第３静磁界ポテンシャル情報とに基づいて、中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ａを算出する。
【００６６】
行列Ｂ算出部４は、第１磁化ベクトル情報と第３静磁界ポテンシャル情報に基づいて、中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ｂを算出する。
【００６７】
磁化ベクトル算出部５は、第１磁化ベクトル情報、第３静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び磁化ベクトル算出行列Ｂに基づいて、中間時刻における各要素の第３磁化ベクトル情報を算出する。
【００６８】
静磁界ポテンシャル算出部２は、第３磁化ベクトル情報と第３静磁界ポテンシャル情報とから、第２時刻における各要素の第２静磁界ポテンシャル情報を算出する。
【００６９】
行列Ａ算出部３は、第１磁化ベクトル情報と第３磁化ベクトル情報と第３静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ａを算出する。
【００７０】
行列Ｂ算出部４は、第１磁化ベクトル情報と第３磁化ベクトル情報と第３静磁界ポテンシャル情報とに基づいて、第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ｂを算出する。
【００７１】
磁化ベクトル算出部５は、第１磁化ベクトル情報、第３磁化ベクトル情報、第２静磁界ポテンシャル情報、磁化ベクトル算出行列Ａ及び磁化ベクトル算出行列Ｂに基づいて、第２時刻における各要素の第２磁化ベクトル情報を算出する。
【００７２】
このように構成することにより、マイクロマグネティックシミュレーションの計算精度を向上させることができる。
【００７３】
図３は、磁性材料シミュレーション装置のハードウェア構成の一例を示す。磁性材料シミュレーション装置は、例えば、コンピュータ１１である。
コンピュータ１１は、中央演算装置（ＣＰＵ）１２，メモリ１３、ハードディスクドライブ（ＨＤＤ）１４、ネットワークインターフェースカード（ＮＩＣ）１５、入力インターフェース１６及びビデオインターフェース１７を含む。以下、インターフェースを「Ｉ／Ｆ」と称する。
【００７４】
ＣＰＵ１２は、メモリ１３、ＨＤＤ１４、ＮＩＣ１５、入力Ｉ／Ｆ１６及びビデオＩ／Ｆ１７に接続されている。入力Ｉ／Ｆ１６にはキーボード・マウス１７等の入力装置１８が接続されている。ビデオＩ／Ｆ１６には、ディスプレイ１９が接続されている。
【００７５】
ＣＰＵ１２は、プロセッサの一例であって、コンピュータ１１の全体動作を制御する中央演算装置である。メモリ１３は、ワーキングエリアとして機能する。
【００７６】
ＨＤＤ１４は、大容量記憶装置の一例であって、オペレーティングシステム（ＯＳ）やシミュレーション用のプログラムが格納されている記憶装置である。ＮＩＣ１５は、インターネット、ローカルエリアネットワーク（ＬＡＮ）等の通信ネットワークと有線または無線で接続するためのインターフェースである。
【００７７】
入力Ｉ／Ｆ１６は、入力装置１８から入力された指令をＣＰＵ１２へ伝達するインターフェースである。ビデオＩ／Ｆ１７は、ディスプレイ１９に画像を出力するインターフェースである。
【００７８】
ＣＰＵ１２は、ＨＤＤ１４に格納されている磁性材料シミュレーション用のプログラムを読み出し、実行する。マイクロ磁化解析に使用される磁性体モデルのデータは、予めＨＤＤ１４に格納されているものとする。
【００７９】
図４は、本実施形態におけるシミュレーション処理のフローチャートの一例である。ＣＰＵ１２は、ＨＤＤ１４に格納されている磁性材料シミュレーション用のプログラムを読み出し、図４の処理を実行する。
【００８０】
まず、ＣＰＵ１２は、計算に用いるデータを作成する（Ｓ１）。ここでは、ＣＰＵ１２は、予め設定された情報に基づいて、メッシュデータＣ、静磁界ポテンシャルデータＰ、磁化ベクトルデータＭを作成する。Ｓ１の処理の詳細については後述する。
【００８１】
次に、ＣＰＵ１２は、各種パラメータを設定する（Ｓ２）。ここでは、ＣＰＵ１２は、静時期ポテンシャルデータＰの初期状態、磁化ベクトルデータＭの初期状態、及び最大ステップ数ｋmaxを設定する。
【００８２】
次に、ＣＰＵ１２は、静磁界ポテンシャルの更新及び磁化ベクトルデータの更新を行う（Ｓ３）。Ｓ３は、ループ処理により、初期値ｋ＝０で、繰り返される毎にｋはインクリメントされ、ｋの値がｋmaxになるまで繰り返される。Ｓ３のうち、（課題１）に対する対応として、磁化ベクトルデータの更新が行われる。また、Ｓ３のうち、（課題２）に対する対応として、静磁界ポテンシャルの更新及び磁化ベクトルデータの更新について、時間積分全体のアルゴリズムを構築する。Ｓ３の詳細は後述する。
【００８３】
（第１の実施形態）
第１の実施形態では、静磁界については、陽的に取り扱い、ＳＴＴについては項の一部を部分的に陰的に取り扱う。具体的な離散式は、上述した（１３,１４）式に記す。
【００８４】
図５は、シミュレーション処理のフローチャートの一例である。図６は、図５のＳ３１２の磁化ベクトルデータの更新処理の詳細処理フローの一例である。図７は、第１の実施形態におけるデータ更新のタイミングを示すタイミングチャートである。図７において、矢印はデータの参照を意味する。矢印の始点は、データの参照を示し、矢印の終点はデータの更新を示す。
【００８５】
図８は、第１の実施形態で用いるデータの一例である。図８（Ａ）にメッシュデータＣの一例を示す。メッシュデータＣは、解析対象となる磁性体の領域を有限要素法や有限差分法により有限個に分割された複数の要素からなるデータである。要素とは、解析対象となる領域を分割した最小単位の領域であり、複数の節点によって構成される。図８（Ａ）では、メッシュデータＣは、各要素を識別する要素ＩＤ、要素の座標（Ｘ座標、Ｙ座標、Ｚ座標）で形成されている。
【００８６】
図８（Ｂ）に磁化ベクトルデータＭの一例を示す。磁化ベクトルデータＭは、各要素を識別する要素ＩＤ、要素の座標（Ｘ座標、Ｙ座標、Ｚ座標）で形成されている。
【００８７】
図８（Ｃ）に静磁界ポテンシャルデータＰの一例を示す。静磁界ポテンシャルデータＰは、メッシュの接点ＩＤ、Ｘ座標で形成されている。
【００８８】
第１の実施形態では、図５のＳ３１２の磁化ベクトルデータの更新において、（１３）式または（１４）式を適用する。ここでは、一例として（１３）式を適用する。
【００８９】
まず、ＣＰＵ１２は、計算に用いるデータを作成する（Ｓ１）。ここでは、ＣＰＵ１２は、予め設定された情報に基づいて、メッシュデータＣ、静磁界ポテンシャルデータＰ、磁化ベクトルデータＭ、磁化ベクトル更新用行列データＡ、磁化ベクトル更新用ベクトルデータＢを作成する。磁化ベクトル更新用行列データＡは、ｋステップ（現在）より未来の（ｋ＋１）ステップの磁化ベクトル間の相互作用を考慮した磁化ベクトル算出用行列である。磁化ベクトル更新用ベクトルデータＢは、現在（ｋステップ）の磁化ベクトル間の相互作用を考慮した磁化ベクトル算出用ベクトルである。
【００９０】
メッシュデータＣの作成について説明する。マイクロマグネティックシミュレーションを実行する場合、ＣＰＵ１２は、計算精度を保証するために、隣接する二つのメッシュの磁化ベクトルが成す角を小さくするようにメッシュサイズを調整する。
【００９１】
ＣＰＵ１２は、メッシュデータＣから隣接する要素間の距離情報を抽出して、他の物性パラメータと結合させて所定のデータ配列に格納する。ＣＰＵ１２は、そのデータ配列から磁化ベクトル更新用行列データＡや磁化ベクトル更新用ベクトルデータＢを計算によって作成する。
【００９２】
次に、ＣＰＵ１２は、各種パラメータの設定を行う（Ｓ２）。ここでは、ＣＰＵ１２は、静磁界ポテンシャルデータＰの初期状態を設定する。また、ＣＰＵ１２は、磁化ベクトルデータＭの初期状態を設定する。また、ＣＰＵ１２は、磁化ベクトルデータ更新用行列データＡ（以下、「行列Ａ」と称する。）を０で初期化する。ＣＰＵ１２は、磁化ベクトルデータ更新用ベクトルデータＢ（以下、「ベクトルＢ」と称する。）を０で初期化する。ＣＰＵ１２は、最大ステップ数ｋmaxを設定する。
【００９３】
次にＣＰＵ１２は、共役勾配法（conjugate gradient method：ＣＧ法）を用いて、静磁界ポテンシャルＰの更新を行う（Ｓ３１１）。更新後の静磁界ポテンシャルＰは、未来の静磁界ポテンシャルＰに相当する。Ｓ３１１は、図７で示すタイミングで更新される。
【００９４】
次に、ＣＰＵ１２は、磁化ベクトルデータＭの更新を行う（Ｓ３１２）。ここでは、上述したように、（１３）式による処理が適用される。まず、ＣＰＵ１２は、Ｓ３１１で更新した静磁界ポテンシャルデータＰ、現在の磁化ベクトルデータＭを用いて、行列Ａ及び磁化ベクトル更新用ベクトルデータＢを更新する。ＣＰＵ１２は、更新した行列Ａ及び磁化ベクトル更新用ベクトルデータＢを用いて、磁化ベクトルデータＭを更新する。更新後の磁化ベクトルデータＭは、未来の磁化ベクトルデータＭに相当する。Ｓ３１２の詳細な処理については、図６を用いて説明する。
【００９５】
ＣＰＵ１２は、未来のＭと未来のＰを算出したら、算出結果をログ出力し、ループ処理により、さらに次のＭとＰを算出する。
【００９６】
図６は、図５のＳ３１２の磁化ベクトルデータの更新処理の詳細処理フローの一例である。まず、ＣＰＵ１２は、図７で示すタイミングで行列Ａの更新を行う（Ｓ３１２−１）。ここで、行列Ａ，ベクトルｆはそれぞれ、（１３）式を整理した以下の式（２７）の左辺の係数行列Ａ（ｋ，ｎ）、右辺のｆ（ｋ，ｎ）で示される（（２８）式）。
【００９７】
ＣＰＵ１２は、Ｓ３１１で更新した静磁界ポテンシャルデータＰ、現在の磁化ベクトルデータＭを用いて、（２８）式のＡ（ｋ，ｎ）を計算し、行列Ａを算出する。算出結果を用いて、ＣＰＵ１２は、行列Ａを更新する。
【００９８】
【数１８】
2018181161.tif 000020
【００９９】
次に、ＣＰＵ１２は、図７で示すタイミングでベクトルＢの更新を行う（Ｓ３１２−２）。ここでは、ＣＰＵ１２は、Ｓ３１１で更新した静磁界ポテンシャルデータＰ、現在の磁化ベクトルデータＭを用いて、（２８）式のｆ（ｋ，ｎ）を計算し、ベクトルＢを算出する。算出結果を用いて、ＣＰＵ１２は、ベクトルＢを更新する。
【０１００】
さらに、ＣＰＵ１２は、図７で示すタイミングで磁化ベクトルデータＭの更新を行う（Ｓ３１２−３）。ＣＰＵ１２は、Ｓ３１１で更新した静磁界ポテンシャルデータＰ、現在の磁化ベクトルデータＭ、Ｓ３１２−１で更新した行列Ａ、Ｓ３１２−２で更新したベクトルＢを用いて、（２８）式を計算する。計算結果を用いて、ＣＰＵ１２は、磁化ベクトルデータＭを更新する。
【０１０１】
このように、ＣＰＵ１２は、現在の磁化ベクトルデータＭと現在の静磁界ポテンシャルデータＰを用いて行列ＡとベクトルＢを作成する。ＣＰＵ１２は、作成した行列ＡとベクトルＢを使って未来の磁化ベクトルデータＭを生成する。
【０１０２】
ここで、行列Ａのｉ行目の生成方法の具体例と、ベクトルＢのｉ番目要素の生成方法の具体例について説明する。
【０１０３】
行列Ａのｉ行目の生成方法について説明する。行列Ａのi行目は未来の磁化ベクトルデータＭのｉ番目成分（Ｍ_ｉとする）の関係式に対応する（図９）。例えばＳＴＴ項は自要素（Ｍ_ｉ）と隣接要素（Ｍ_ｊとする）のみ関係を持つため、行列ＡにはＡ_iiとＡ_ijに値が入る。すなわち、自要素が隣接する要素としか相互作用しない場合には、ＡiiとAijとしか値が入らない。それ以外の要素の値は０となる。具体的な値は（３０）式を計算することにより得られ、Ｍ_iにかかる係数がＡ_iiに対応し、Ｍ_jにかかる係数がＡ_ijに対応する。
【０１０４】
次に、ベクトルＢのi番目要素の生成方法について説明する。ベクトルＢは現在の磁化ベクトルデータＭの値を用いて（２８）式の右辺から算出される。ベクトルＢの具体的な値は磁化ベクトルデータＭ（現在）と（３０）式の外積（（３１）式）から算出される。
【０１０５】
【数１９】
2018181161.tif 000021
【０１０６】
図１０は、第１の実施形態におけるスピントルク発振素子（ＳＴＯ）の発振周波数を求める計算における時間積分フローチャートを示す。図１０では、上記（２７）〜（３０）式に基づいて、時間積分全体について、計算を行う。
【０１０７】
ＣＰＵ１２は、（３０）式を用いてベクトルｍｋからベクトルＨｄｋと、ベクトルＦｓｋを算出する（Ｓ１１）。ＣＰＵ１２は、ベクトルＨｄｋと、ベクトルＦｓｋを用いて、ＣＧ法より静磁界ポテンシャルＰを算出する。
【０１０８】
次に、ＣＰＵ１２は、Ａ（ｋ，ｋ）ベクトルｍｋ＋１＝ｆ（ｋ，ｋ）より、磁化ベクトルデータＭの更新を行う（Ｓ１２）。次に、ＣＰＵ１２は、ベクトルｍｋ＋１を規格化する（Ｓ１３）。
【０１０９】
ｋ＜ｋmaxの場合（Ｓ１４で「Ｙｅｓ」）、ＣＰＵ１２は、ｋをインクリメントして、Ｓ１１の処理を行う。ｋ≧ｋmaxになった場合（Ｓ１４で「Ｎｏ」）、本フローは終了する。
【０１１０】
＜第２の実施形態＞
第２の実施形態では、１回の時間積分に対し、静磁界とＳＴＴ項のみ中間ステップを陽的に評価する（すなわち、１回の時間積分において２回計算する）。具体的な離散式は（３２，３３，３４，３５）に記す。
【０１１１】
スピン注入型Ｓ−ＬＬＧ方程式の離散化の場合
・１回の時間積分のうちの第１回目の計算（１段目）では、（３２）式を用いる。
【０１１２】
【数２０】
2018181161.tif 000022
【０１１３】
１回の時間積分のうちの第２回目の計算（２段目）では、（３３）式を用いる。
【０１１４】
【数２１】
2018181161.tif 000023
【０１１５】
磁壁移動型Ｓ−ＬＬＧ方程式の離散化の場合
・１回の時間積分のうちの第１回目の計算（１段目）では、（３４）式を用いる。
【０１１６】
【数２２】
2018181161.tif 000024
【０１１７】
１回の時間積分のうちの第２回目の計算（２段目）では、（３５）式を用いる。
【０１１８】
【数２３】
2018181161.tif 000025
【０１１９】
図１１は、第２の実施形態におけるシミュレーション処理のフローチャートの一例である。図１２は、図１１のＳ３３２の２段階による静磁界ポテンシャルの更新及び磁化ベクトルデータの更新の詳細処理フローの一例である。第２の実施形態では、現在の磁化ベクトルデータＭと、過去の磁化ベクトルデータＭと、現在の静磁界ポテンシャルデータＰを用いて行列ＡとベクトルＢを作る。それから、行列ＡとベクトルＢとを用いて、未来の磁化ベクトルデータＭを生成する。これにより、精度を向上させることができる。第１の実施形態と異なる点は、第２の実施形態では、過去の磁化ベクトルデータＭの値を保持している点である。
【０１２０】
図１３は、第２の実施形態におけるデータ更新のタイミングを示すタイミングチャートである。図１３において、矢印はデータの参照を意味する。矢印の始点は、データの参照を示し、矢印の終点はデータの更新を示す。
【０１２１】
第２の実施形態では、図１１のＳ３２の２段階による静磁界ポテンシャルの更新及び磁化ベクトルデータの更新において、（３２）−（３３）式または（３４）−（３５）式を適用することができる。ここでは、一例として（３２）−（３３）式を適用する。なお、第２の実施形態において、第１の実施形態と同一の符号、記号で示されるものは第１の実施形態と同一のものであり、その説明を省略する。
また、第２の実施形態では、上記（２８）式に以下に示す条件（３７）を適用する。
【０１２２】
【数２４】
2018181161.tif 000026
【０１２３】
まず、ＣＰＵ１２は、計算に用いるデータを作成する（Ｓ１ａ）。ここでは、ＣＰＵ１２は、予め設定された情報に基づいて、メッシュデータＣ、静磁界ポテンシャルデータＰ、磁化ベクトルデータＭ、磁化ベクトル更新用行列データＡ、磁化ベクトル更新用ベクトルデータＢを作成する。ＣＰＵ１２は、さらに、磁化ベクトル更新用ベクトルデータＭ’を作成する。磁化ベクトル更新用ベクトルデータＭ’は、磁化ベクトル更新用ベクトルデータＭの更新処理において、ｋステップ（現在）における更新前の磁化ベクトルデータＭの内容をコピーしたデータである。
【０１２４】
次に、ＣＰＵ１２は、各種パラメータの設定を行う（Ｓ２）。ここでは、ＣＰＵ１２は、静磁界ポテンシャルデータＰの初期状態を設定する。また、ＣＰＵ１２は、磁化ベクトルデータＭの初期状態を設定する。また、ＣＰＵ１２は、行列Ａを０で初期化する。ＣＰＵ１２は、ベクトルＢを０で初期化する。ＣＰＵ１２は、磁化ベクトル更新用ベクトルデータＭ’を０で初期化する。ＣＰＵ１２は、最大ステップ数ｋmaxを設定する。
【０１２５】
次に、ＣＰＵ１２は、２段階による静磁界ポテンシャルの更新及び磁化ベクトルデータの更新を行う（Ｓ３２）。Ｓ３２の詳細な処理については、図１２を用いて説明する。Ｓ３２は、ループ処理により、初期値ｋ＝０で、繰り返される毎にｋはインクリメントされ、ｋの値がｋmaxになるまで繰り返される。
【０１２６】
以下では、図１２と図１３を参照しながら、説明する。ＣＰＵ１２は、図１３のＳ３２−０で示すタイミングで磁化ベクトルデータＭを磁化ベクトル更新用ベクトルデータＭ’にコピーする。
【０１２７】
ＣＰＵ１２は、ＣＧ法に基づいて、図１３で示すタイミングで、磁化ベクトルデータＭを用いて、静磁界ポテンシャルＰの更新を行う（Ｓ３２−１）。
【０１２８】
次に、ＣＰＵ１２は、図１３で示すタイミングで、行列Ａの更新を行う（Ｓ３２−２）。ここでは、ＣＰＵ１２は、Ｓ３２−１で更新した静磁界ポテンシャルデータＰ、磁化ベクトルデータＭを用いて、（２８）式のＡ（ｋ，ｎ）を計算し、行列Ａを算出する。このとき、（３７）の１段目を適用する。算出結果を用いて、ＣＰＵ１２は、行列Ａを更新する。
【０１２９】
次に、ＣＰＵ１２は、図１３で示すタイミングで、ベクトルＢの更新を行う（Ｓ３２−３）。ここでは、ＣＰＵ１２は、Ｓ３２−１で更新した静磁界ポテンシャルデータＰ、磁化ベクトルデータＭを用いて、（２８）式のｆ（ｋ，ｎ）を計算し、ベクトルＢを算出する。このとき、（３７）の１段目を適用する。算出結果を用いて、ＣＰＵ１２は、ベクトルＢを更新する。
【０１３０】
さらに、ＣＰＵ１２は、図１３で示すタイミングで、磁化ベクトル更新用ベクトルデータＭ’の更新を行う（Ｓ３２−４）。ＣＰＵ１２は、Ｓ３２−１で更新した静磁界ポテンシャルデータＰ、磁化ベクトルデータＭ、Ｓ３２−２で更新した行列Ａ、Ｓ３２−３で更新したベクトルＢを用いて、（２８）式を計算する。このとき、（３７）の１段目を適用する。計算結果を用いて、ＣＰＵ１２は、磁化ベクトル更新用ベクトルデータＭ’を更新する。
【０１３１】
次に、ＣＰＵ１２は、ＣＧ法に基づいて、図１３で示すタイミングで、磁化ベクトルデータＭ’を用いて、静磁界ポテンシャルＰの更新を行う（Ｓ３２−５）。
【０１３２】
次に、ＣＰＵ１２は、図１３で示すタイミングで、行列Ａの更新を行う（Ｓ３２−６）。ここでは、ＣＰＵ１２は、Ｓ３２−５で更新した静磁界ポテンシャルデータＰ、磁化ベクトルデータＭ、磁化ベクトル更新用ベクトルデータＭ’を用いて、（２８）式のＡ（ｋ，ｎ）を計算し、行列Ａを算出する。このとき、（３７）の２段目を適用する。算出結果を用いて、ＣＰＵ１２は、行列Ａを更新する。
【０１３３】
次に、ＣＰＵ１２は、図１３で示すタイミングで、ベクトルＢの更新を行う（Ｓ３２−７）。ここでは、ＣＰＵ１２は、Ｓ３２−６で更新した静磁界ポテンシャルデータＰ、磁化ベクトルデータＭ、磁化ベクトル更新用ベクトルデータＭ’を用いて、（２８）式のｆ（ｋ，ｎ）を計算し、ベクトルＢを算出する。このとき、（３７）の２段目を適用する。算出結果を用いて、ＣＰＵ１２は、ベクトルＢを更新する。
【０１３４】
さらに、ＣＰＵ１２は、図１３で示すタイミングで、磁化ベクトルデータＭ’の更新を行う（Ｓ３２−８）。ＣＰＵ１２は、更新した静磁界ポテンシャルデータＰ、磁化ベクトルデータＭ、更新した磁化ベクトル更新用ベクトルデータＭ’、更新した行列Ａ、更新したベクトルＢを用いて、（２８）式を計算する。このとき、（３７）の２段目を適用する。計算結果を用いて、ＣＰＵ１２は、磁化ベクトルデータＭを更新する。
【０１３５】
図１４は、第２の実施形態におけるスピントルク発振素子（ＳＴＯ）の発振周波数を求める計算における時間積分フローチャートを示す。時間積分フローチャートを示す。図１４では、ＣＰＵ１２は、上記（２７）、（２８）、（３７）及び（３０）式に基づいて、時間積分全体について、計算を行う。
【０１３６】
まず、１段目の処理が行われる。ＣＰＵ１２は、（３０）式を用いてベクトルｍｋからベクトルＨｄｋと、ベクトルＦｓｋを算出する（Ｓ２１）。ＣＰＵ１２は、ベクトルＨｄｋと、ベクトルＦｓｋを用いて、ＣＧ法より静磁界ポテンシャルＰを算出する。
【０１３７】
次に、ＣＰＵ１２は、Ａ（ｋ，ｋ）ベクトルｍｋ＋１/２＝ｆ（ｋ，ｋ）より、磁化ベクトルデータＭの更新を行う（Ｓ２２）。次に、ＣＰＵ１２は、ベクトルｍｋ＋１/２を規格化する（Ｓ２３）。
【０１３８】
次に、２段目の処理が行われる。ＣＰＵ１２は、（３０）式を用いてベクトルｍｋ＋１/２からベクトルＨｄｋ＋１/２と、ベクトルＦｓｋ＋１/２を算出する（Ｓ２４）。ＣＰＵ１２は、ベクトルＨｄｋ＋１/２と、ベクトルＦｓｋ＋１/２を用いて、ＣＧ法より静磁界ポテンシャルＰを算出する。
【０１３９】
次に、ＣＰＵ１２は、Ａ（ｋ，ｋ＋１／２）ベクトルｍｋ＋１＝ｆ（ｋ，ｋ＋１／２）より、磁化ベクトルデータＭの更新を行う（Ｓ２５）。次に、ＣＰＵ１２は、ベクトルｍｋ＋１/２を規格化する（Ｓ２６）。
【０１４０】
ｋ＜ｋmaxの場合（Ｓ２７で「Ｙｅｓ」）、ＣＰＵ１２は、ｋをインクリメントして、Ｓ２１の処理を行う。ｋ≧ｋmaxになった場合（Ｓ２７で「Ｎｏ」）、本フローは終了する。
【０１４１】
図１５は、第２の実施形態における、ＳＴＯの発振周波数を求める計算を行い、計算速度の増加を確認する表である。図１５では、第２の実施形態を使用した場合と使用しなかった場合それぞれでの、５０［ｎｓ］（シミュレーションタイム）の計算にかかった時間を示している。第２の実施形態を適用することによって計算時間が約１／５倍（≒４３．９４６／２３９．２８４）に短縮されたことがわかる。
【０１４２】
第１の実施形態によれば、ＭＳへＣＮ法を適用することができる（ハイブリッド型ＣＮ法）。すなわち、第１の実施形態では、線形化可能な項のみ陰的に取り扱い、非線形項を陽的もしくは部分的に陰的に扱うハイブリッド型ＣＮ法によるＭＳ機能を発揮させることができる。ＣＮ法とは、半陰解法であり、未来の値と過去の値との平均をとり、一部陰的に取り扱うことができる。
【０１４３】
第２の実施形態によれば、ハイブリッド型ＣＮ法における非線形項の精度を向上させることができる。すなわち、第２の実施形態では、時間積分の際に中間点を評価し、非線形項のみ中間点の評価を考慮して時間積分することができる。
【０１４４】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【０１４５】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータに、
第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の第２磁化ベクトル情報を算出する
処理を実行させることを磁性材料シミュレーションプログラム。
（付記２）
前記磁化ベクトル算出行列Ａの算出において、前記第１時刻より過去の時刻の磁化ベクトルを用いて算出する
処理を行う付記１に記載の磁性材料シミュレーションプログラム。
（付記３）
１回の時間積分において、
前記第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第１時刻と前記第２時刻との中間時刻における前記各要素の第３磁化ベクトル情報を算出し、
前記第３磁化ベクトル情報から、前記第３時刻における前記各要素の前記第３静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第３磁化ベクトル情報、前記第３静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の前記第２磁化ベクトル情報を算出する
ことを特徴とする付記１に記載の磁性材料シミュレーションプログラム。
（付記４）
第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出する静磁界ポテンシャル算出部と、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出する行列Ａ算出部と、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出する行列Ｂ算出部と、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の第２磁化ベクトル情報を算出する磁化ベクトル算出部と、
を備えることを特徴とする磁性材料シミュレーション装置。
（付記５）
前記行列Ａ算出部は、前記第１時刻より過去の時刻の磁化ベクトルを用いて算出する
ことを特徴とする付記４に記載の磁性材料シミュレーションプログラム。
（付記６）
１回の時間積分において、
静磁界ポテンシャル算出部、前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とから、前記第１時刻と前記第２時刻との中間時刻における前記各要素の第３静磁界ポテンシャル情報を算出し、
行列Ａ算出部は、前記第１磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ａを算出し、
行列Ｂ算出部は、前記第１磁化ベクトル情報と前記第３静磁界ポテンシャル情報に基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ｂを算出し、
磁化ベクトル算出部は、前記第１磁化ベクトル情報、前記第３静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記中間時刻における前記各要素の第３磁化ベクトル情報を算出し、
静磁界ポテンシャル算出部は、前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とから、前記第２時刻における前記各要素の前記第２静磁界ポテンシャル情報を算出し、
行列Ａ算出部は、前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ａを算出し、
行列Ｂ算出部は、前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ｂを算出し、
磁化ベクトル算出部は、前記第１磁化ベクトル情報、前記第３磁化ベクトル情報、前記第２静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の前記第２磁化ベクトル情報を算出する
ことを特徴とする付記４に記載の磁性材料シミュレーション装置。
（付記７）
コンピュータが、
第１時刻における、磁性体を複数のメッシュに分割させて得られる各要素の第１磁化ベクトル情報から、前記第１時刻における前記各要素の第１静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報に基づいて、前記第１時刻におけるメッシュ間の相互作用に基づく磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第１静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の第２磁化ベクトル情報を算出する
ことを特徴とする磁性材料シミュレーション方法。
（付記８）
前記磁化ベクトル算出行列Ａの算出において、前記第１時刻より過去の時刻の磁化ベクトルを用いて算出する
処理を行う付記７に記載の磁性材料シミュレーション方法。
（付記９）
１回の時間積分において、
前記第１磁化ベクトル情報と前記第１静磁界ポテンシャル情報とから、前記第１時刻と前記第２時刻との中間時刻における前記各要素の第３静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第３静磁界ポテンシャル情報に基づいて、前記中間時刻におけるメッシュ間の相互作用に基づく第１磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第３静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記中間時刻における前記各要素の第３磁化ベクトル情報を算出し、
前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とから、前記第２時刻における前記各要素の前記第２静磁界ポテンシャル情報を算出し、
前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ａを算出し、
前記第１磁化ベクトル情報と前記第３磁化ベクトル情報と前記第３静磁界ポテンシャル情報とに基づいて、前記第２時刻におけるメッシュ間の相互作用に基づく第２磁化ベクトル算出行列Ｂを算出し、
前記第１磁化ベクトル情報、前記第３磁化ベクトル情報、前記第２静磁界ポテンシャル情報、前記磁化ベクトル算出行列Ａ及び前記磁化ベクトル算出行列Ｂに基づいて、前記第２時刻における前記各要素の前記第２磁化ベクトル情報を算出する
ことを特徴とする付記４に記載の磁性材料シミュレーション方法。
【符号の説明】
【０１４６】
１      磁性材料シミュレーション装置
２      静磁界ポテンシャル算出部
３      行列Ａ算出部
４      行列Ｂ算出部
５      磁化ベクトル算出部
【図１】
2018181161.tif 000027
【図２】
2018181161.tif 000028
【図３】
2018181161.tif 000029
【図４】
2018181161.tif 000030
【図５】
2018181161.tif 000031
【図６】
2018181161.tif 000032
【図７】
2018181161.tif 000033
【図８】
2018181161.tif 000034
【図９】
2018181161.tif 000035
【図１０】
2018181161.tif 000036
【図１１】
2018181161.tif 000037
【図１２】
2018181161.tif 000038
【図１３】
2018181161.tif 000039
【図１４】
2018181161.tif 000040
【図１５】
2018181161.tif 000041