JP6978689B2 - Magnetic simulation program, magnetic simulation method, and magnetic simulation device - Google Patents
Magnetic simulation program, magnetic simulation method, and magnetic simulation device Download PDFInfo
- Publication number
- JP6978689B2 JP6978689B2 JP2018094886A JP2018094886A JP6978689B2 JP 6978689 B2 JP6978689 B2 JP 6978689B2 JP 2018094886 A JP2018094886 A JP 2018094886A JP 2018094886 A JP2018094886 A JP 2018094886A JP 6978689 B2 JP6978689 B2 JP 6978689B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- magnetization
- elements
- simulation
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、磁気シミュレーションプログラム、磁気シミュレーション方法、および磁気シミュレーション装置に関する。 The present invention relates to a magnetic simulation program, a magnetic simulation method, and a magnetic simulation apparatus.
電磁界分野におけるシミュレーション技術として、永久磁石などの磁性体(磁性材料)のミクロな磁化状態を計算機上で数値的に計算するマイクロマグネティックスシミュレーションがある。マイクロマグネティックスシミュレーションでは、計算機は、シミュレーション空間内で磁性体を微小な要素(メッシュ)に分割し、メッシュごとにマイクロ磁化を配置する。そして計算機は、各マイクロ磁化の時系列変化を計算する。 As a simulation technique in the field of electromagnetic fields, there is micromagnetics simulation in which the micromagnetization state of a magnetic material (magnetic material) such as a permanent magnet is numerically calculated on a computer. In micromagnetics simulation, a computer divides a magnetic material into minute elements (mesh) in the simulation space and arranges micromagnetization for each mesh. The computer then calculates the time-series changes in each micromagnetization.
磁性体の解析においては、しばしば定常状態が磁気物性に関する重要な情報を与える。磁性体の定常状態とは、予め定義された系の磁気的エネルギーが最小となる磁化の状態である。従って系の磁気的エネルギーを最小化するマイクロ磁化状態を求めることができれば、磁性体の定常状態を再現することができる。このように磁性体の全エネルギーを最小にするマイクロ磁化の状態を求める手法は、エネルギー最小化手法と呼ばれる。 In the analysis of magnetic materials, steady states often provide important information about magnetic properties. The steady state of a magnetic material is a state of magnetization that minimizes the magnetic energy of a predefined system. Therefore, if the micromagnetization state that minimizes the magnetic energy of the system can be obtained, the steady state of the magnetic material can be reproduced. The method of finding the state of micromagnetization that minimizes the total energy of the magnetic material in this way is called the energy minimization method.
マイクロマグネティックスシミュレーションにおいて利用されるエネルギー最小化手法の1つに、非線形共役勾配法(NCG法:Nonlinear Conjugate Gradient method)がある。 One of the energy minimization methods used in micromagnetics simulation is the Nonlinear Conjugate Gradient Method (NCG Method).
マイクロマグネティックスシミュレーションでは、どのように磁性体のメッシュ分割を行うかが計算時間と計算精度に大きく関わってくる。傾向として、メッシュが粗ければ粗いほど全体のメッシュ数が少なくなり、結果として計算に必要な時間が短くなるが、計算結果が真の値からずれる。逆にメッシュが細かければ細かいほど全体のメッシュ数が多くなり、計算に必要な時間が長くなるが、計算結果が真の値に近づいていく。実際にシミュレーションを行う際には計算結果が真の値からずれない範囲でできるだけメッシュサイズを大きくすることが行われている。 In micromagnetics simulation, how to divide the mesh of magnetic material greatly affects the calculation time and calculation accuracy. The tendency is that the coarser the mesh, the smaller the total number of meshes, and as a result, the shorter the time required for the calculation, but the calculation result deviates from the true value. On the contrary, the finer the mesh, the larger the total number of meshes and the longer the time required for the calculation, but the calculation result approaches the true value. When actually performing the simulation, the mesh size is made as large as possible within the range where the calculation result does not deviate from the true value.
メッシュサイズは、モデル内で均一でなくてもよい。注目する一部の領域だけメッシュサイズを小さくし、その他の領域ではメッシュサイズを大きくすることで全体のメッシュ数を抑え計算の高速化を図ることも可能である。このようにメッシュサイズに疎密があるモデルを、以下では不均一メッシュモデルと呼ぶ。 The mesh size does not have to be uniform within the model. By reducing the mesh size only in a part of the area of interest and increasing the mesh size in other areas, it is possible to reduce the total number of meshes and speed up the calculation. A model having such a dense mesh size is referred to as a non-uniform mesh model below.
磁化の解析に関する技術としては、例えば非線形共役勾配法を用いたマイクロマグネティックスシミュレーションの計算量を削減する磁性体シミュレーション装置がある。また、高速で高精度な磁場解析を実現するため、ボロノイ多面体形状の要素内の仮想粒子が満たすべき関係を仮想粒子ごとに記述した運動方程式を数値的に解くことにより、粒子の磁場状態を演算する解析装置がある。 As a technique for analyzing magnetization, for example, there is a magnetic material simulation device that reduces the amount of calculation for micromagnetics simulation using the nonlinear conjugate gradient method. In addition, in order to realize high-speed and high-precision magnetic field analysis, the magnetic field state of the particles is calculated by numerically solving the equation of motion that describes the relationship that the virtual particles in the elements of the Boronoi polyhedron shape should satisfy for each virtual particle. There is an analyzer to do.
NCG法では、収束判定が満たされるまで所定の物理量の計算を繰り返し実行する。そのため、NCG法を用いたマイクロマグネティックスシミュレーションの高速化のためには、物理量計算の反復回数を減らすことが重要となる。しかし、不均一メッシュモデルで表現される磁性体を、NCG法を用いたマイクロマグネティックスシミュレーションにより計算すると、物理量計算の反復回数が均一メッシュを使用した場合に比べて倍以上に増大する。その結果、不均一モデルを採用しても、物理量計算の反復回数の増大により、シミュレーションの高速化が十分に図れない。 In the NCG method, the calculation of a predetermined physical quantity is repeatedly executed until the convergence test is satisfied. Therefore, in order to speed up the micromagnetics simulation using the NCG method, it is important to reduce the number of iterations of the physical quantity calculation. However, when the magnetic material represented by the non-uniform mesh model is calculated by micromagnetics simulation using the NCG method, the number of iterations of the physical quantity calculation is more than doubled as compared with the case of using the uniform mesh. As a result, even if the non-uniform model is adopted, the simulation speed cannot be sufficiently increased due to the increase in the number of iterations of the physical quantity calculation.
1つの側面では、本件は、マイクロマグネティックスシミュレーションの処理の高速化を図ることを目的とする。 In one aspect, the present case aims to speed up the processing of micromagnetics simulation.
1つの案では、コンピュータに以下の処理を実行させる磁化シミュレーションプログラムが提供される。
コンピュータは、体積が不均一な複数の要素を含む不均一メッシュモデルで構造が表された磁性体を示す磁性体データと、磁性体が置かれた空間の磁界を示す外部磁界データとに基づいて、複数の要素それぞれにおける磁気的エネルギーの勾配を示す勾配ベクトルを算出する。次にコンピュータは、複数の要素それぞれについて、要素の体積の逆数と勾配ベクトルとに基づいて、磁気的エネルギーを最小化する状態の探索方向を示す方向ベクトルを算出する。さらにコンピュータは、複数の要素それぞれの磁化状態を示す磁化ベクトルを方向ベクトルが示す方向に変化させることで、磁気的エネルギーを最小化する複数の要素それぞれの磁化ベクトルを算出する。そしてコンピュータは、収束条件を満たすまで、勾配ベクトルの算出と、方向ベクトルの算出と、磁化ベクトルの算出とを繰り返し実行する。
One proposal provides a magnetization simulation program that causes a computer to perform the following processes.
The computer is based on magnetic material data showing a magnetic material whose structure is represented by a non-uniform mesh model containing multiple elements with non-uniform volume, and external magnetic field data showing the magnetic field in the space where the magnetic material is placed. , Calculate a gradient vector showing the gradient of magnetic energy in each of the plurality of elements. Next, for each of the plurality of elements, the computer calculates a direction vector indicating the search direction of the state that minimizes the magnetic energy, based on the reciprocal of the volume of the element and the gradient vector. Further, the computer calculates the magnetization vector of each of the plurality of elements that minimizes the magnetic energy by changing the magnetization vector indicating the magnetization state of each of the plurality of elements in the direction indicated by the direction vector. Then, the computer repeatedly executes the calculation of the gradient vector, the calculation of the direction vector, and the calculation of the magnetization vector until the convergence condition is satisfied.
1態様によれば、マイクロマグネティックスシミュレーションの処理の高速化を図ることができる。 According to one aspect, it is possible to speed up the processing of the micromagnetics simulation.
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、不均一メッシュモデルを用いたマイクロマグネティックスシミュレーションを効率的に行う磁化シミュレーション装置である。
Hereinafter, the present embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, the first embodiment will be described. The first embodiment is a magnetization simulation device that efficiently performs micromagnetics simulation using a non-uniform mesh model.
図1は、第1の実施の形態に係る磁化シミュレーション装置の機能構成例を示す図である。磁化シミュレーション装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば磁化シミュレーション装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば磁化シミュレーション装置10が有するプロセッサ、または演算回路である。磁化シミュレーション装置10は、記憶部11と処理部12とを用いて、不均一メッシュモデルを用いたマイクロマグネティックスシミュレーションを効率的に行うための、磁化シミュレーション方法を実現する。例えば磁化シミュレーション装置10は、不均一メッシュモデルを用いたマイクロマグネティックスシミュレーションを効率的に行う処理の手順が記述された磁化シミュレーションプログラムを、処理部12で実行することで、磁化シミュレーション方法を実現する。
FIG. 1 is a diagram showing a functional configuration example of the magnetization simulation device according to the first embodiment. The
磁化シミュレーション装置10は、例えばNCG法によるマイクロマグネティックスシミュレーションを実行する。ここで、マイクロマグネティックスシミュレーションについて詳細に説明する。
The
マイクロマグネティックスシミュレーションとは、磁性体の理論計算の一手法である。磁化シミュレーション装置10は、シミュレーション空間内に磁性体を定義し、その磁性体を微小な要素(メッシュと呼ぶこともある)に分割する。各メッシュは、例えば四面体または八面体の立体構造を有している。また各メッシュの体積は不均一である。すなわち磁性体は、複数のメッシュに分割されることで、不均一メッシュモデル1で表されている。
Micromagnetics simulation is a method of theoretical calculation of magnetic materials. The
磁化シミュレーション装置10は、不均一メッシュモデル1を用いてマイクロマグネティックスシミュレーションを実行する。例えば磁化シミュレーション装置10は、系の全エネルギーである磁気的エネルギーEtotalを示すエネルギー定義情報を記憶している。磁気的エネルギーEtotalは、以下の式で表される。
The
ここでEaniは異方性エネルギーであり、Eexcは交換エネルギーであり、Eapplはゼーマンエネルギーであり、Estaticは静磁界エネルギーである。異方性エネルギー、交換エネルギー、ゼーマンエネルギー、および静磁界エネルギーは、それぞれ以下の式で表される。 Here, E ani is anisotropic energy, E exc is exchange energy, E appl is Zeeman energy, and E static is static magnetic field energy. Anisotropic energy, exchange energy, Zeeman energy, and static magnetic field energy are expressed by the following equations, respectively.
ここで、mは単位磁化ベクトルである。なお、単位磁化ベクトルは、各メッシュの磁化を示す磁化ベクトルを飽和磁化で除算して得られるベクトルである。mxは単位磁化ベクトルのx成分である。myは単位磁化ベクトルのy成分である。mzは単位磁化ベクトルのz成分である。KUは磁気異方性定数である。kは磁気異方性ベクトルである。Aは交換結合定数である。Msは飽和磁化である。Happlは外部磁界である。φは静磁界ポテンシャルである。Hstaticは静磁界ベクトルである。静磁界ポテンシャルφは、以下の関係式から求められる。 Here, m is a unit magnetization vector. The unit magnetization vector is a vector obtained by dividing the magnetization vector indicating the magnetization of each mesh by the saturation magnetization. m x is the x component of the unit magnetization vector. m y is the y component of the unit magnetization vector. m z is the z component of the unit magnetization vector. K U is the magnetic anisotropy constant. k is a magnetic anisotropy vector. A is an exchange coupling constant. M s is saturation magnetization. H appl is an external magnetic field. φ is the static magnetic field potential. H static is a static magnetic field vector. The static magnetic field potential φ can be obtained from the following relational expression.
磁化シミュレーション装置10は、式(1)〜式(7)で表される磁性体エネルギーを最小にするマイクロ磁化の状態を、マイクロマグネティックスシミュレーションによって求める。マイクロマグネティックスシミュレーションを実行する際に、ユーザが実行条件として入力するデータは、体積が不均一な複数の要素を含む不均一メッシュモデル1、不均一メッシュモデル1内の各要素における磁化ベクトルの初期状態、および外部磁界データ11bである。式(2)〜式(7)に含まれる磁気異方性ベクトルk、磁気異方性定数KU、交換結合定数A、飽和磁化Msは、解析対象の磁性体の物性値として、予め磁性体データ11aに設定しておくことができる。外部磁界データ11bには、外部磁界Happlの値が含まれる。そして磁化シミュレーション装置10が、例えばNCG法によるマイクロマグネティックスシミュレーションを実行することで、磁気的エネルギーを最小化するような、各メッシュにおける磁化ベクトルの状態を示すデータを出力する。
The
磁化シミュレーション装置10は、処理の反復回数を削減するために、各メッシュの体積の逆数を用いて不均一メッシュモデル1を用いたマイクロマグネティックスシミュレーションを実行する。例えば磁化シミュレーション装置10の記憶部11は、体積が不均一な複数の要素を含む不均一メッシュモデル1で構造が表された磁性体を示す磁性体データ11aと、磁性体が置かれた空間の磁界を示す外部磁界データ11bとを記憶する。
The
処理部12は、不均一メッシュモデル1内の各要素における磁化ベクトルの初期状態を含む磁性体データ11aと外部磁界データ11bとに基づいて、NCG法によるマイクロマグネティックスシミュレーションを実行する。
The
処理部12は、まず磁性体データ11aと外部磁界データ11bとに基づいて、複数の要素それぞれにおける磁気的エネルギーの勾配を示す勾配ベクトルを算出する。磁気的エネルギーは、前述の式(1)〜式(7)で表される。
First, the
次に処理部12は、複数の要素それぞれについて、要素の体積の逆数と勾配ベクトルとに基づいて、磁気的エネルギーを最小化する状態の探索方向を示す方向ベクトルを算出する。例えば処理部12は、まず磁性体データ11aに示される不均一メッシュモデル1の構造に基づいて、各要素の体積を計算する。そして処理部12は、勾配ベクトルに、要素の体積の逆数のγ乗(γは正の実数)を乗算した結果に基づいて、方向ベクトルを算出する。
Next, the
なお処理部12は、勾配ベクトルの成分に乗算する値を含む前処理行列を予め生成しておいてもよい。例えば処理部12は、複数の要素それぞれの体積の逆数を対角要素とする対角行列を前処理行列として生成する。処理部12は、生成した前処理行列を、例えばメモリに格納する。そして処理部12は、前処理行列を用いて、複数の要素それぞれの方向ベクトルを算出する。
The
要素ごとの方向ベクトルの算出が完了すると、処理部12は、複数の要素それぞれの磁化状態を示す磁化ベクトルを方向ベクトルが示す方向に変化させることで、磁気的エネルギーを最小化する複数の要素それぞれの磁化ベクトルを算出する。なお、1回の磁化ベクトルの算出では、方向ベクトルにより磁化ベクトルの変化の方向が制限されている。そのため、他の方向に磁化ベクトルを変化させれば、磁気的エネルギーをさらに小さくさせる磁化状態(複数の要素それぞれの磁化ベクトル)が存在する可能性がある。
When the calculation of the direction vector for each element is completed, the
そこで処理部12は、収束条件を満たすまで、勾配ベクトルの算出と、方向ベクトルの算出と、磁化ベクトルの算出とを繰り返し実行する。収束条件は、例えば最後に算出した磁化ベクトルと、その前に算出した磁化ベクトルとの差(残差)が所定値以内になっているという条件である。すなわち処理部12は、磁化ベクトルがある一定値に収束した場合、ループ処理から抜ける。
Therefore, the
処理部12は、収束条件が満たされると、磁性体の磁化状態を示す情報を出力する。例えば処理部12は、最後に計算した各要素の磁化ベクトルを、外部磁界データ11bに応じた磁性体の磁化状態として出力する。
When the convergence condition is satisfied, the
このように、各メッシュの体積の逆数を用いてマイクロマグネティックスシミュレーションを実行することで、勾配ベクトル、方向ベクトル、磁化ベクトルといった物理量の計算処理の反復回数を削減することができ、処理の効率化が図れる。 In this way, by executing the micromagnetics simulation using the reciprocal of the volume of each mesh, it is possible to reduce the number of repetitions of the calculation process of physical quantities such as gradient vector, direction vector, and magnetization vector, and the processing efficiency is improved. Can be planned.
すなわち、各メッシュの体積の逆数を用いずに、不均一メッシュモデル1を用いてNCG法によるイクロマグネティックスシミュレーションを計算すると、物理量の計算処理の反復回数が均一メッシュを使用した場合に比べて倍以上増大する。この原因は、以下のように考えられる。
That is, when the cyclomagnetics simulation by the NCG method is calculated using the
磁性体を不均一メッシュモデルで表現すると、各メッシュの体積が不均一になる。また、NCG法で計算する勾配ベクトルの各成分は、有効磁界とメッシュの体積の積に比例する形で表される。そのため、不均一なメッシュサイズは勾配ベクトルの成分の大きさのバラつきを引き起こす。例えばある勾配ベクトルのうち、2つの成分において有効磁界が等しく、かつメッシュサイズ比が10000である場合、2つの成分の比は10000となる。このように不均一メッシュモデルでは均一メッシュモデルに比べて勾配ベクトル成分の大きさのバラつきが非常に大きくなりやすい。勾配ベクトルの各成分のバラつきが大きいと最適化の途中で誤差の影響を受けやすく、磁気的エネルギーの最小値の探索方向を示す方向ベクトルの向きが、最小値が存在する方向からずれてしまう。その結果、磁気的エネルギーの最小値の探索経路がジグザグとなり、エネルギー最小化が遅くなる。このような事情によりNCG法の収束が悪化し、物理量計算処理の反復回数が増大し、計算時間が長くなってしまうと考えることができる。 When the magnetic material is represented by a non-uniform mesh model, the volume of each mesh becomes non-uniform. Further, each component of the gradient vector calculated by the NCG method is expressed in a form proportional to the product of the effective magnetic field and the volume of the mesh. Therefore, the non-uniform mesh size causes the magnitude of the component of the gradient vector to vary. For example, if the effective magnetic fields of two components of a certain gradient vector are equal and the mesh size ratio is 10,000, the ratio of the two components is 10,000. As described above, the non-uniform mesh model tends to have a much larger variation in the magnitude of the gradient vector component than the uniform mesh model. If the variation of each component of the gradient vector is large, it is easily affected by an error during optimization, and the direction of the direction vector indicating the search direction of the minimum value of magnetic energy deviates from the direction in which the minimum value exists. As a result, the search path for the minimum value of magnetic energy becomes zigzag, and energy minimization becomes slow. Due to such circumstances, it can be considered that the convergence of the NCG method deteriorates, the number of iterations of the physical quantity calculation process increases, and the calculation time becomes long.
このように、メッシュが不均一になったことに起因して勾配ベクトルの各成分のバラつきが大きくなることが、収束性悪化の原因である。すると、勾配ベクトルの各成分のバラつきを抑止することができれば、収束性が改善するものと考えられる。勾配ベクトルの各成分のバラつきの抑止は、次のような前処理を実行することで実現できる。つまり磁化シミュレーション装置10が、NCG法を用いて磁性体のエネルギー最小状態を求める際、メッシュの体積の逆数を用いた前処理行列を予め用意し、方向ベクトルを計算する際にこの前処理行列を使う。前処理行列として勾配ベクトルの各成分の大きさのバラつきを抑制するものを使用することで、均一メッシュと同程度の反復回数で収束することが期待できる。例えば前処理行列を対角行列として対角スケーリングすることが考えられる。そのような対角行列の各成分は各メッシュ体積の逆0.3〜1.0乗程度の値を持つようにする。
As described above, the large variation of each component of the gradient vector due to the non-uniformity of the mesh is the cause of the deterioration of the convergence. Then, if the variation of each component of the gradient vector can be suppressed, it is considered that the convergence is improved. Suppression of variation in each component of the gradient vector can be realized by executing the following preprocessing. That is, when the
このように、方向ベクトルを計算する際に、メッシュの体積の逆数を用いて、メッシュサイズが不均一であることに起因する勾配ベクトルのバラつきを抑制することで、方向ベクトルの向きが適性化される。方向ベクトルの向きが適性化されることで、磁気的エネルギーの最小値に、少ない反復回数で到達することが可能となる。その結果、処理の効率化が図れる。 In this way, when calculating the direction vector, the reciprocal of the volume of the mesh is used to suppress the variation of the gradient vector due to the non-uniform mesh size, so that the orientation of the direction vector is optimized. To. By optimizing the orientation of the direction vector, it is possible to reach the minimum value of magnetic energy with a small number of iterations. As a result, the processing efficiency can be improved.
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、コンピュータを用いたマイクロマグネティックスシミュレーションを具体化したものである。
[Second Embodiment]
Next, the second embodiment will be described. The second embodiment embodies a computer-based micromagnetics simulation.
図2は、マイクロマグネティックスシミュレーションに用いるコンピュータのハードウェアの一例を示す図である。コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
FIG. 2 is a diagram showing an example of computer hardware used for micromagnetics simulation. In the computer 100, the entire device is controlled by the
メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
The
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
Peripheral devices connected to the bus 109 include a
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
The
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
A monitor 21 is connected to the
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 22 and a mouse 23 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
The
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
コンピュータ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した磁化シミュレーション装置10も、図2に示したコンピュータ100と同様のハードウェアにより実現することができる。
The computer 100 can realize the processing function of the second embodiment by the hardware configuration as described above. The
コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The computer 100 realizes the processing function of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium. A program describing the processing content to be executed by the computer 100 can be recorded on various recording media. For example, a program to be executed by the computer 100 can be stored in the
このようなコンピュータ100により、不均一メッシュを用いた、NCG法によるマイクロマグネティックスシミュレーションが行われる。
図3は、マイクロマグネティックスシミュレーションのための機能を示すブロック図である。コンピュータ100は、マイクロマグネティックスシミュレーションのために、記憶部110、前処理行列作成部120、およびシミュレーション部130を有する。
Such a computer 100 performs a micromagnetics simulation by the NCG method using a non-uniform mesh.
FIG. 3 is a block diagram showing a function for micromagnetics simulation. The computer 100 has a
記憶部110は、磁性体データ111と外部磁界データ112とを記憶する。磁性体データ111には、メッシュ構造データ111aと特性データ111bとが含まれる。メッシュ構造データ111aは、不均一なサイズの複数のメッシュに磁性体を分割したときの、各メッシュの位置と形状を示すデータである。特性データ111bは、磁性体の性質に関するデータである。例えば特性データ111bには、単位磁化ベクトルm、磁気異方性ベクトルk、磁気異方性定数KU、交換結合定数A、飽和磁化Msなどが含まれる。外部磁界データ112は、磁性体が置かれる空間内の磁界(外部磁界Happl)を表すデータである。
The
前処理行列作成部120は、NCG法の前処理演算を行い、NCG法による収束性を高めるための行列(前処理行列)を作成する。例えば前処理行列作成部120は、メッシュモデルの各メッシュの体積に応じた値を、前処理行列の要素として設定する。
The pre-processing
シミュレーション部130は、前処理行列を用いて、NCG法によるマイクロマグネティックスシミュレーションを実行し、メッシュモデルのメッシュごとの磁化ベクトルを算出する。NCG法を用いるため、シミュレーション部130は、所定の収束条件が満たされるまで、メッシュごとの磁化ベクトルの算出を繰り返し実行する。そしてシミュレーション部130は、収束条件が満たされたとき、最後に算出されたメッシュごとの磁化ベクトルを出力する。
The
図4は、メッシュ構造データの一例を示す図である。記憶部110には、磁性体の不均一メッシュモデル31を表すメッシュ構造データ111aが格納される。不均一メッシュモデル31は、サイズが均一の均一メッシュモデル30と比較して、メッシュ数が削減されている。メッシュ構造データ111aには、例えばメッシュデータ111dと節点データ111eとが含まれる。メッシュデータ111dには、不均一メッシュモデル31に含まれるメッシュそれぞれの識別子(メッシュ番号)に対応付けて、そのメッシュの節点の識別子(節点番号)が設定されている。メッシュが4面体であれば、そのメッシュの節点は4個である。またメッシュが6面体であれば、そのメッシュの節点は8個である。節点データ111eには、不均一メッシュモデル31に含まれる節点それぞれの節点番号に対応付けて、その節点の3次元空間での座標値が設定されている。
FIG. 4 is a diagram showing an example of mesh structure data. The
メッシュ構造データ111aに示される不均一メッシュモデル31により、複数のメッシュに分割した磁性体が表現される。特性データ111bに含まれる単位磁化ベクトルは、メッシュごとの磁化(マイクロ磁化)の初期状態を表している。
The
図5は、メッシュごとの磁化が定義された磁性体を示す模式図である。図5に示すように、磁性体40を複数のメッシュ41に分割したときに、各メッシュ内の磁化の強さと向きが、磁化ベクトルで定義される。そしてコンピュータ100は、NCG法によるマイクロマグネティックスシミュレーションにより、外部磁界データ112に示される外部磁界が存在する空間に磁性体40が置かれたときにおける、マイクロ磁化の振る舞いを計算する。具体的には、コンピュータ100は、式(1)〜式(7)で表される磁気的エネルギーを最小とするマイクロ磁化の状態を計算する。この際、コンピュータ100は、各メッシュの体積の逆数に応じた前処理行列を用いることで、物理量計算処理の反復回数が少ない、効率的なシミュレーション処理を実行する。
FIG. 5 is a schematic diagram showing a magnetic material in which the magnetization of each mesh is defined. As shown in FIG. 5, when the magnetic material 40 is divided into a plurality of
なおコンピュータ100は、マイクロマグネティックスシミュレーションの処理過程で生じる中間データを、配列を用いてメモリ102上で管理する。
図6は、マイクロマグネティックスシミュレーションに用いる配列の一例を示す図である。例えば前処理行列作成部120は、磁性体データ111に基づいて前処理行列Qを作成すると、その前処理行列Qの要素を行列要素配列Q’に格納する。シミュレーション部130は、行列要素配列Q’から要素の値を取り出し、物理量を計算する。例えばシミュレーション部130は、1回目の物理量計算では、磁性体データ111、外部磁界データ112、および行列要素配列Q’に基づいて、勾配ベクトル、方向ベクトル、および磁化ベクトルを、それぞれメッシュごとに計算する。シミュレーション部130は、算出したメッシュごとの物理量を出力データ用配列群51内の配列に格納する。出力データ用配列群51には、勾配ベクトル配列g1、方向ベクトル配列d1、および磁化ベクトル配列m1が含まれる。
The computer 100 manages the intermediate data generated in the processing process of the micromagnetics simulation on the
FIG. 6 is a diagram showing an example of an array used for a micromagnetics simulation. For example, when the preconditioner
1回目の物理量計算が終了すると、シミュレーション部130は、出力データ用配列群51内の各配列の値を、入力データ用配列群52として設けられた配列にコピーする。入力データ用配列群52には、勾配ベクトル配列g2、方向ベクトル配列d2、および磁化ベクトル配列m2が含まれる。
When the first physical quantity calculation is completed, the
シミュレーション部130は、行列要素配列Q’と入力データ用配列群52内の各配列からデータを読み出し、2回目以降の物理量計算を行う。そしてシミュレーション部130は、2回目以降の物理量計算において算出したメッシュごとの物理量を、出力データ用配列群51内の配列に格納する。
The
このように、配列を用いて中間データを管理することで、マイクロマグネティックスシミュレーションを効率的に実行することができる。なお、シミュレーション部130は、ベクトル値を配列に格納する際、ベクトル値のx軸,y軸,z軸の各軸方向の成分それぞれを、配列の1つの要素として格納する。そのためメッシュ数がNのとき、各配列の要素数は3Nとなる。
In this way, by managing the intermediate data using the array, the micromagnetics simulation can be efficiently executed. When the vector value is stored in the array, the
図7は、配列へのベクトルデータの格納方法の一例を示す図である。不均一メッシュモデル31の各メッシュについて計算される物理量としては、磁化ベクトル、勾配ベクトル、および方向ベクトルがある。各メッシュの構造データとしては、メッシュを構成する節点の座標がある。
FIG. 7 is a diagram showing an example of a method of storing vector data in an array. Physical quantities calculated for each mesh of the
配列には、ベクトルの成分ごとの値それぞれが、配列の要素として格納される。例えば配列内の要素番号が「1」番から昇順の番号となっているとき、配列の1番目の要素には、1番目のメッシュのx値が格納される。配列の2番目の要素には、1番目のメッシュのy値が格納される。配列の3番目の要素には、1番目のメッシュのz値が格納される。そして配列の4番目の要素には、2番目のメッシュのx値が格納される。 In the array, each value for each component of the vector is stored as an element of the array. For example, when the element numbers in the array are numbers in ascending order from "1", the x value of the first mesh is stored in the first element of the array. The y value of the first mesh is stored in the second element of the array. The z-value of the first mesh is stored in the third element of the array. Then, the x value of the second mesh is stored in the fourth element of the array.
このように各ベクトルの成分ごとの値を配列に格納したとき、i番目のメッシュに関連するベクトルデータは、各配列の3(i−1)+1番目の要素から3(i−1)+3番目までの3要素に格納される。例えばi番目のメッシュの磁化ベクトルは、磁化ベクトル配列m1,m2それぞれの3(i−1)+1番目から3(i−1)+3番目までの3要素に設定される。i番目のメッシュの勾配ベクトルは、勾配ベクトル配列g1,g2それぞれの3(i−1)+1番目から3(i−1)+3番目までの3要素に設定される。i番目のメッシュの方向ベクトルは、方向ベクトル配列d1,d2それぞれの3(i−1)+1番目から3(i−1)+3番目までの3要素に設定される。 When the values for each component of each vector are stored in the array in this way, the vector data related to the i-th mesh is the 3 (i-1) + 1st element to the 3 (i-1) + 3rd of each array. It is stored in the three elements up to. For example, the magnetization vector of the i-th mesh is set in the three elements from the 3 (i-1) + 1st to the 3rd (i-1) + 3rd of the magnetization vector arrays m 1 and m 2, respectively. gradient vector of i-th mesh, gradient vector sequence g 1, g 2 respectively 3 (i-1) +1 th 3 (i-1) is set to three elements of up to +3 th. The direction vector of the i-th mesh is set in the three elements from the 3 (i-1) + 1st to the 3rd (i-1) + 3rd, respectively , of the direction vector arrays d 1 and d 2.
以下、NCG法によるマイクロマグネティックスシミュレーションの処理手順について詳細に説明する。
図8は、マイクロマグネティックスシミュレーションの処理手順の一例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
Hereinafter, the processing procedure of the micromagnetics simulation by the NCG method will be described in detail.
FIG. 8 is a flowchart showing an example of the processing procedure of the micromagnetics simulation. Hereinafter, the process shown in FIG. 8 will be described along with the step numbers.
[ステップS101]前処理行列作成部120は、メッシュごとの磁化ベクトルを示す磁化ベクトルデータの初期値の入力を受け付け、メッシュごとの磁化ベクトルの各軸方向の成分を、磁化ベクトル配列m2に格納する。
[Step S101] The preconditioner
[ステップS102]前処理行列作成部120は、パラメータγとメッシュ構造データ111aとに基づいて、前処理行列Qの対角成分を示す行列要素配列Q’を作成する。前処理行列は、例えば以下のような対角行列である。
[Step S102] The preconditioner
ここでγはユーザが予め指定するパラメータであり、シミュレーション中において一定である。γの値は正の実数であり、例えばγの値として0.3〜1.0の範囲内の値が設定される。Nはメッシュ数である。 Here, γ is a parameter specified in advance by the user and is constant during the simulation. The value of γ is a positive real number, and for example, a value in the range of 0.3 to 1.0 is set as the value of γ. N is the number of meshes.
前処理行列Qのi,j成分をQijと書くと、前処理行列Qの各成分の値を以下のように表すことができる。 If the i and j components of the preconditioner Q are written as Q ij, the values of each component of the preconditioner Q can be expressed as follows.
i、jは、それぞれ1からNをとる整数である。s、tは、それぞれ0から2をとる整数である。δijおよびδstはクロネッカーのデルタである。Viは要素番号iの要素の体積である。前処理行列作成部120は、メッシュ構造データ111aに示されている各メッシュの節点の座標値から、そのメッシュの体積を計算する。そして前処理行列作成部120は、計算した各メッシュの体積に基づいて、式(9)により、前処理行列Qの成分の値を計算し、メモリ102に格納する。例えば前処理行列作成部120は、Qの各成分を配列として格納する。その場合、前処理行列作成部120は、次のような要素数3Nの行列要素配列Q’を定義し、その配列に、前処理行列作成部120の対角成分それぞれを3個ずつ格納する。
i and j are integers from 1 to N, respectively. s and t are integers taking 0 to 2 respectively. δ ij and δ st are Kronecker deltas. V i is the volume of the element of element number i. The preconditioner
このような行列要素配列Q’に値を格納する前処理行列作成処理の詳細は後述する(図9参照)。
前処理行列Qが作成されると、シミュレーション部130により、NCG法によるマイクロマグネティックスシミュレーションが実行される。マイクロマグネティックスシミュレーションにおいて、シミュレーション部130は、ステップS103〜S105の処理で物理量を計算する。
Details of the preconditioner matrix creation process for storing values in such a matrix element array Q'will be described later (see FIG. 9).
When the preconditioner Q is created, the
[ステップS103]シミュレーション部130は、磁化ベクトル配列m2に基づいて、メッシュごとの勾配ベクトルを計算し、勾配ベクトルの成分を勾配ベクトル配列g1に格納する。例えば磁化ベクトル配列m2に示されるi番目のメッシュの磁化ベクトルをmiとしたとき、そのメッシュの勾配ベクトルgiは「gi=−∂Etotal/∂mi」となる。
[Step S103] The
[ステップS104]シミュレーション部130は、勾配ベクトル配列g1,g2と方向ベクトル配列d2とに基づいて、前処理行列Qを用いたメッシュごとの方向ベクトルを計算し、方向ベクトルの成分を方向ベクトル配列d1に格納する。勾配ベクトル配列g2と方向ベクトル配列d2とは、前回の物理量計算処理で計算された値が格納されている。なお、1回目の物理量計算処理の場合、勾配ベクトル配列g2と方向ベクトル配列d2とは未計算である。そのため、シミュレーション部130は、1回目の物理量計算処理では、勾配ベクトル配列g1と行列要素配列Q’とにより、メッシュごとの方向ベクトルを計算する。
[Step S104] The
例えば1回目の物理量計算の場合、シミュレーション部130は、複数のメッシュそれぞれの勾配ベクトルの要素の値(x値、y値、z値)を1列に並べた列ベクトル(勾配ベクトル配列g1)に、「−Q」を左から乗算する。乗算結果として得られる列ベクトルの要素は、複数のメッシュそれぞれの方向ベクトルの要素を表している。勾配ベクトル配列g1を勾配ベクトルの列ベクトルとみなした場合、方向ベクトルの列ベクトルは「−Qg1」となる。 For example, in the case of the first physical quantity calculation, the simulation unit 130 is a column vector (gradient vector array g 1 ) in which the values (x value, y value, z value) of the elements of the gradient vector of each of the plurality of meshes are arranged in one column. Is multiplied by "-Q" from the left. The elements of the column vector obtained as a result of the multiplication represent the elements of the direction vector of each of the plurality of meshes. When the gradient vector array g 1 is regarded as the column vector of the gradient vector, the column vector of the direction vector is "−Qg 1 ".
また2回目以降の物理量の計算の場合、シミュレーション部130は、以下の式(11)により、修正係数βを算出する。なお式(11)では、各配列を、その配列の要素を有するベクトルとみなしている。
Further, in the case of the calculation of the physical quantity from the second time onward, the
ここでv=g1−g2である。式(11)の(配列a,配列b)は、配列aで示されるベクトルと配列bで示されるベクトルとの内積演算である。
そしてシミュレーション部130は、ステップS103で算出された勾配ベクトル(勾配ベクトル配列g1)に「−Q」を左から乗算する。またシミュレーション部130は、前回の物理量計算において算出された方向ベクトル(方向ベクトル配列d2)を列ベクトルとし、その列ベクトルに「β」を左から乗算する。そしてシミュレーション部130は、「−Q」の勾配ベクトルへの乗算結果と「β」の方向ベクトルへの乗算結果との合計「−Qg1+βd2」を、方向ベクトルとする。
Here, v = g 1 − g 2 . (Array a, array b) in the equation (11) is an inner product operation of the vector represented by the array a and the vector represented by the array b.
Then, the
シミュレーション部130は、計算したメッシュごとの方向ベクトルを、方向ベクトル配列d1に格納する。方向ベクトル計算処理の詳細は後述する(図10参照)。
[ステップS105]シミュレーション部130は、方向ベクトル配列d1と磁化ベクトル配列m2とに基づいて、ラインサーチ(直接探索)処理により、メッシュごとの磁化ベクトルを計算する。例えばシミュレーション部130は、前回の物理量計算で得られた各メッシュの磁化ベクトル(磁化ベクトル配列m2)を、各メッシュの方向ベクトル(方向ベクトル配列d1)の方向へ変化させ、磁気的エネルギーEtotalを最小化させる磁化状態を探索する。シミュレーション部130は、方向ベクトルに示される方向への探索で、磁気的エネルギーEtotalが最小となる各メッシュの磁化ベクトルを、磁化ベクトルの算出結果とする。そしてシミュレーション部130は、メッシュごとに新たに算出した磁化ベクトルで、磁化ベクトル配列m1の各要素の値を更新する。
The
[Step S105] The
[ステップS106]シミュレーション部130は、収束条件が満たされたか否かを判定する。例えばシミュレーション部130は、磁化ベクトルの残差|m1−m2|が規定値以下か否かを判断する。またシミュレーション部130は、メッシュごとの回転前の磁化ベクトルと回転後の磁化ベクトルとの差分ベクトルの大きさの平均値又は最大値を残差とすることもできる。シミュレーション部130は、残差が規定値以下であれば、収束条件が満たされたと判断する。シミュレーション部130は、収束条件が満たされた場合、処理をステップS108に進める。またシミュレーション部130は、収束条件が満たされていなければ、処理をステップS107に進める。
[Step S106] The
[ステップS107]シミュレーション部130は、ステップS103〜S105で計算した勾配ベクトル、方向ベクトル、および磁化ベクトルを、次のループ処理用のデータとしてコピーする。具体的には、シミュレーション部130は、磁化ベクトル配列m1内の各要素の値を、磁化ベクトル配列m2内の各要素にコピーする。また、シミュレーション部130は、勾配ベクトル配列g1内の各要素の値を、勾配ベクトル配列g2内の各要素にコピーする。さらにシミュレーション部130は、方向ベクトル配列d1内の各要素の値を、方向ベクトル配列d2内の各要素にコピーする。その後、シミュレーション部130は、処理をステップS103に進め、次の物理量計算処理を開始する。
[Step S107] The
[ステップS108]シミュレーション部130は、収束条件が満たされた場合、最後に計算したメッシュごとの磁化ベクトルをファイルに書き出す。例えばシミュレーション部130は、磁化ベクトル配列m1の各要素の値を、該当要素に対応するメッシュのメッシュ番号に対応付けて、メモリ102上でファイルに書き込む。そしてシミュレーション部130は、そのファイルを例えばストレージ装置103に格納する。
[Step S108] When the convergence condition is satisfied, the
このような手順で、NCG法によるマイクロマグネティックスシミュレーションが実行される。
次に、前処理行列作成処理について詳細に説明する。
In such a procedure, the micromagnetics simulation by the NCG method is executed.
Next, the preconditioner matrix creation process will be described in detail.
図9は、前処理行列作成処理の手順の一例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS111]前処理行列作成部120は、変数iが1からNになるまで、ステップS112〜S115の処理を繰り返す。
FIG. 9 is a flowchart showing an example of the procedure of the preconditioner matrix creation process. Hereinafter, the process shown in FIG. 9 will be described along with the step numbers.
[Step S111] The pre-processing
[ステップS112]前処理行列作成部120は、i番目のメッシュの体積を計算する。例えば前処理行列作成部120は、磁性体データ111内のメッシュ構造データ111aに示されているi番目のメッシュの節点の座標値に基づいて、そのメッシュの体積を計算する。
[Step S112] The preconditioner
[ステップS113]前処理行列作成部120は、行列要素配列Q’の3(i−1)+1番目の要素に、i番目のメッシュの体積の−γ乗を格納する。
[ステップS114]前処理行列作成部120は、行列要素配列Q’の3(i−1)+2番目の要素に、i番目のメッシュの体積の−γ乗を格納する。
[Step S113] The preconditioner
[Step S114] The preconditioner
[ステップS115]前処理行列作成部120は、行列要素配列Q’の3(i−1)+3番目の要素に、i番目のメッシュの体積の−γ乗を格納する。
[ステップS116]前処理行列作成部120は、変数iの値がNであれば前処理行列作成処理を終了し、変数iの値がN未満であれば変数iの値に1を加算し、ステップS112〜S115の処理を行う。
[Step S115] The preconditioner
[Step S116] The preconditioner
このような前処理行列作成処理の結果、前処理行列Qの対角成分を格納した行列要素配列Q’が出力される。例えば前処理行列作成部120は、行列要素配列Q’を、処理結果としてメモリ102に格納する。
As a result of such a preconditioner matrix creation process, a matrix element array Q'stored diagonal components of the preconditioner matrix Q is output. For example, the pre-processing
次に、行列要素配列Q’を用いた方向ベクトルの計算処理について詳細に説明する。
図10は、方向ベクトル計算処理の手順の一例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
Next, the calculation process of the direction vector using the matrix element array Q'will be described in detail.
FIG. 10 is a flowchart showing an example of the procedure of the direction vector calculation process. Hereinafter, the process shown in FIG. 10 will be described along with the step numbers.
[ステップS121]シミュレーション部130は、1回目の物理量計算処理か否かを判断する。シミュレーション部130は、1回目の物理量計算処理であれば、処理をステップS122に進める。またシミュレーション部130は、2回目以降の物理量計算処理であれば、処理をステップS125に進める。
[Step S121] The
[ステップS122]シミュレーション部130は、変数iが1から3Nになるまで、ステップS123の処理を繰り返す。
[ステップS123]シミュレーション部130は、勾配ベクトル配列g1のi番目の要素の値とQのi番目の要素の値と「−1」とを乗算し、方向ベクトル配列d1のi番目の要素に格納する。
[Step S122] The
[Step S123] The
[ステップS124]シミュレーション部130は、変数iの値が3Nであれば、方向ベクトル計算処理を終了し、変数iの値が3N未満であれば、変数iの値に1を加算し、ステップS123の処理を行う。
[Step S124] If the value of the variable i is 3N, the
[ステップS125]シミュレーション部130は、修正係数βを計算し、計算結果をメモリ102に格納する。
[ステップS126]シミュレーション部130は、変数iが1から3Nになるまで、ステップS127の処理を繰り返す。
[Step S125] The
[Step S126] The
[ステップS127]シミュレーション部130は、方向ベクトル配列d2のi番目の要素と修正係数βとの積から、勾配ベクトル配列g1のi番目の要素と行列要素配列Q’のi番目の要素との積を減算する。そしてシミュレーション部130は、減算結果を、方向ベクトル配列d1のi番目の要素に格納する。
[Step S127] The
[ステップS128]シミュレーション部130は、変数iの値が3Nであれば、方向ベクトル計算処理を終了し、変数iの値が3N未満であれば、変数iの値に1を加算し、ステップS127の処理を行う。
[Step S128] If the value of the variable i is 3N, the
このようにして、方向ベクトルの計算が行われ、処理結果として、方向ベクトル配列d1がメモリ102に格納される。方向ベクトルの計算では、各メッシュの体積の逆数を含む前処理行列Qを利用することで、メッシュ間の体積の違いの影響が抑制されている。その結果、不均一メッシュモデルを採用したことによる物理量計算の反復回数の増加が抑止される。
In this way, the direction vector is calculated, and as a result of the processing, the direction vector array d 1 is stored in the
ここで、前処理行列Qを利用した場合と、前処理行列Qを利用しなかった場合とにおける、物理量計算処理の反復回数の違いの検証結果について説明する。
図11は、マイクロマグネティックスシミュレーションの検証例を示す図である。図11は、一様に磁化された磁性体が安定な状態まで緩和する計算を行い、収束に必要な反復回数と計算時間について、体積の逆数に基づく前処理行列Qを使用する場合と使用しない場合それぞれでの測定結果を示す。なお前処理行列Qを用いたマイクロマグネティックスシミュレーションでは、γ=1.0としている。
Here, the verification result of the difference in the number of iterations of the physical quantity calculation process between the case where the preconditioner Q is used and the case where the preconditioner Q is not used will be described.
FIG. 11 is a diagram showing a verification example of a micromagnetics simulation. FIG. 11 shows the case where the preconditioner Q based on the reciprocal of the volume is used and the case where the preconditioner Q based on the reciprocal of the volume is used and not used for the number of iterations and the calculation time required for the calculation in which the uniformly magnetized magnetic material is relaxed to a stable state. The measurement results for each case are shown. In the micromagnetics simulation using the preconditioner Q, γ = 1.0.
検証に使用した不均一メッシュモデル31は、メッシュ数が約1100万個である。この不均一メッシュモデル31で示される磁性体の飽和磁化は1.61Tである。また交換結合定数は1.0×10-11J/mである。異方性定数は4.50×106J/m3である。
The
このような条件で、前処理行列Qを使用せずにマイクロマグネティックスシミュレーションを実行したところ、反復回数が219回、計算時間が1172秒で収束条件が満たされた。それに対して、体積の逆数に基づく前処理行列Qを使用してマイクロマグネティックスシミュレーションを実行したところ、反復回数が67回、計算時間が388秒で収束条件が満たされた。 When the micromagnetics simulation was executed without using the preconditioner Q under such conditions, the convergence condition was satisfied with the number of iterations being 219 and the calculation time being 1172 seconds. On the other hand, when the micromagnetics simulation was executed using the preconditioner Q based on the reciprocal of the volume, the number of iterations was 67 and the calculation time was 388 seconds, and the convergence condition was satisfied.
この例では、前処理行列Qを使用したことで、反復回数が約0.3倍に削減され、計算時間が約0.33倍になっている。このように、前処理行列Qを使用することでより高速なマイクロマグネティックスシミュレーションが可能になる。 In this example, by using the preconditioner Q, the number of iterations is reduced by about 0.3 times, and the calculation time is increased by about 0.33 times. In this way, the use of the preconditioner Q enables faster micromagnetics simulation.
このようなマイクロマグネティックスシミュレーションにより、例えば磁気メモリなどに用いる磁性体の磁気的な性質を、コンピュータシミュレーションによって解析することができる。例えば外部磁界の強度を変化させながら、マイクロマグネティックスシミュレーションを繰り返し実行することで、磁性体の磁化曲線を得ることができる。 By such micromagnetics simulation, the magnetic properties of a magnetic material used for, for example, a magnetic memory can be analyzed by computer simulation. For example, the magnetization curve of a magnetic material can be obtained by repeatedly executing a micromagnetics simulation while changing the strength of an external magnetic field.
図12は、磁化曲線の一例を示す図である。図12において、縦軸は磁化[T]を表し、横軸は外部磁界[A/m]を表す。図12には、外部磁界を徐々に強くして、各外部磁界における磁性体の磁化を求めることで得られた磁化曲線60が示されている。磁化曲線60には、ある外部磁界において磁性体の磁化が反転する様子が表されている。例えばコンピュータ100がモニタ21に磁化曲線60を表示することで、ユーザは、磁性体の磁化を所定の方向に安定させるための外部磁界や、安定状態での磁化の強度などの磁性体の特性を把握することができる。 FIG. 12 is a diagram showing an example of a magnetization curve. In FIG. 12, the vertical axis represents the magnetization [T] and the horizontal axis represents the external magnetic field [A / m]. FIG. 12 shows a magnetization curve 60 obtained by gradually increasing the external magnetic field and obtaining the magnetization of the magnetic material in each external magnetic field. The magnetization curve 60 shows how the magnetization of the magnetic material is reversed in a certain external magnetic field. For example, when the computer 100 displays the magnetization curve 60 on the monitor 21, the user can obtain the characteristics of the magnetic material such as the external magnetic field for stabilizing the magnetization of the magnetic material in a predetermined direction and the strength of the magnetization in the stable state. Can be grasped.
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。 Although the embodiment has been illustrated above, the configuration of each part shown in the embodiment can be replaced with another having the same function. Further, any other components or processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.
1 不均一メッシュモデル
10 磁化シミュレーション装置
11 記憶部
11a 磁性体データ
11b 外部磁界データ
12 処理部
1
Claims (5)
体積が不均一な複数の要素を含む不均一メッシュモデルで構造が表された磁性体を示す磁性体データと、前記磁性体が置かれた空間の磁界を示す外部磁界データとに基づいて、前記複数の要素それぞれにおける磁気的エネルギーの勾配を示す勾配ベクトルを算出し、
前記複数の要素それぞれについて、要素の体積の逆数と前記勾配ベクトルとに基づいて、磁気的エネルギーを最小化する状態の探索方向を示す方向ベクトルを算出し、
前記複数の要素それぞれの磁化状態を示す磁化ベクトルを前記方向ベクトルが示す方向に変化させることで、前記磁気的エネルギーを最小化する前記複数の要素それぞれの磁化ベクトルを算出し、
収束条件を満たすまで、前記勾配ベクトルの算出と、前記方向ベクトルの算出と、前記磁化ベクトルの算出とを繰り返し実行する、
処理を実行させる磁化シミュレーションプログラム。 On the computer
The above is based on magnetic material data showing a magnetic material whose structure is represented by a non-uniform mesh model containing a plurality of elements having a non-uniform volume and external magnetic field data showing a magnetic field in the space in which the magnetic material is placed. Calculate a gradient vector showing the gradient of magnetic energy in each of the multiple elements.
For each of the plurality of elements, a direction vector indicating a search direction for a state that minimizes magnetic energy is calculated based on the reciprocal of the volume of the element and the gradient vector.
By changing the magnetization vector indicating the magnetization state of each of the plurality of elements in the direction indicated by the direction vector, the magnetization vector of each of the plurality of elements that minimizes the magnetic energy is calculated.
The calculation of the gradient vector, the calculation of the direction vector, and the calculation of the magnetization vector are repeatedly executed until the convergence condition is satisfied.
A magnetization simulation program that executes the process.
請求項1記載の磁化シミュレーションプログラム。 In the calculation of the direction vector, the direction vector is calculated based on the result of multiplying the gradient vector of each of the plurality of elements by the reciprocal of the volume of the element to the γ power (γ is a positive real number).
The magnetization simulation program according to claim 1.
前記複数の要素それぞれの体積の逆数に応じた値を対角要素とする対角行列を、前処理行列として生成する処理を実行させ、
前記方向ベクトルの算出では、前記前処理行列を用いて、前記複数の要素それぞれの前記方向ベクトルを算出する、
請求項1または2記載の磁化シミュレーションプログラム。 On the computer,
A process of generating a diagonal matrix whose diagonal elements are diagonal elements corresponding to the reciprocal of the volume of each of the plurality of elements is executed.
In the calculation of the direction vector, the preconditioner matrix is used to calculate the direction vector for each of the plurality of elements.
The magnetization simulation program according to claim 1 or 2.
体積が不均一な複数の要素を含む不均一メッシュモデルで構造が表された磁性体を示す磁性体データと、前記磁性体が置かれた空間の磁界を示す外部磁界データとに基づいて、前記複数の要素それぞれにおける磁気的エネルギーの勾配を示す勾配ベクトルを算出し、
前記複数の要素それぞれについて、要素の体積の逆数と前記勾配ベクトルとに基づいて、磁気的エネルギーを最小化する状態の探索方向を示す方向ベクトルを算出し、
前記複数の要素それぞれの磁化状態を示す磁化ベクトルを前記方向ベクトルが示す方向に変化させることで、前記磁気的エネルギーを最小化する前記複数の要素それぞれの磁化ベクトルを算出し、
収束条件を満たすまで、前記勾配ベクトルの算出と、前記方向ベクトルの算出と、前記磁化ベクトルの算出とを繰り返し実行する、
磁化シミュレーション方法。 The computer
The above is based on magnetic material data showing a magnetic material whose structure is represented by a non-uniform mesh model containing a plurality of elements having a non-uniform volume and external magnetic field data showing a magnetic field in the space in which the magnetic material is placed. Calculate a gradient vector showing the gradient of magnetic energy in each of the multiple elements.
For each of the plurality of elements, a direction vector indicating a search direction for a state that minimizes magnetic energy is calculated based on the reciprocal of the volume of the element and the gradient vector.
By changing the magnetization vector indicating the magnetization state of each of the plurality of elements in the direction indicated by the direction vector, the magnetization vector of each of the plurality of elements that minimizes the magnetic energy is calculated.
The calculation of the gradient vector, the calculation of the direction vector, and the calculation of the magnetization vector are repeatedly executed until the convergence condition is satisfied.
Magnetization simulation method.
前記磁性体データと前記外部磁界データとに基づいて、前記複数の要素それぞれにおける磁気的エネルギーの勾配を示す勾配ベクトルを算出し、前記複数の要素それぞれについて、要素の体積の逆数と前記勾配ベクトルとに基づいて、磁気的エネルギーを最小化する状態の探索方向を示す方向ベクトルを算出し、前記複数の要素それぞれの磁化状態を示す磁化ベクトルを前記方向ベクトルが示す方向に変化させることで、前記磁気的エネルギーを最小化する前記複数の要素それぞれの磁化ベクトルを算出し、収束条件を満たすまで、前記勾配ベクトルの算出と、前記方向ベクトルの算出と、前記磁化ベクトルの算出とを繰り返し実行する処理部と、
を有する磁化シミュレーション装置。 A storage unit that stores magnetic material data indicating a magnetic material whose structure is represented by a non-uniform mesh model containing a plurality of elements having a non-uniform volume, and external magnetic field data indicating a magnetic field in the space in which the magnetic material is placed. When,
Based on the magnetic material data and the external magnetic field data, a gradient vector showing the gradient of the magnetic energy in each of the plurality of elements is calculated, and for each of the plurality of elements, the inverse of the volume of the element and the gradient vector. Based on the above, a direction vector indicating a search direction for a state that minimizes magnetic energy is calculated, and the magnetization vector indicating the magnetization state of each of the plurality of elements is changed in the direction indicated by the direction vector to obtain the magnetism. A processing unit that repeatedly calculates the magnetization vector of each of the plurality of elements that minimizes the target energy, and repeatedly executes the calculation of the gradient vector, the calculation of the direction vector, and the calculation of the magnetization vector until the convergence condition is satisfied. When,
Magnetization simulation device with.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018094886A JP6978689B2 (en) | 2018-05-16 | 2018-05-16 | Magnetic simulation program, magnetic simulation method, and magnetic simulation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018094886A JP6978689B2 (en) | 2018-05-16 | 2018-05-16 | Magnetic simulation program, magnetic simulation method, and magnetic simulation device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019200615A JP2019200615A (en) | 2019-11-21 |
| JP6978689B2 true JP6978689B2 (en) | 2021-12-08 |
Family
ID=68612310
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018094886A Active JP6978689B2 (en) | 2018-05-16 | 2018-05-16 | Magnetic simulation program, magnetic simulation method, and magnetic simulation device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6978689B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7780355B2 (en) * | 2022-02-21 | 2025-12-04 | 住友重機械工業株式会社 | Simulation method, simulation device, and program |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5915157B2 (en) * | 2011-12-21 | 2016-05-11 | 富士通株式会社 | Magnetic substance characteristic analysis program, magnetic substance characteristic analyzing apparatus, and magnetic substance characteristic analyzing method |
| JP6623681B2 (en) * | 2015-10-27 | 2019-12-25 | 富士通株式会社 | Magnetic material simulation apparatus, micromagnetization calculation method and program |
| JP6788187B2 (en) * | 2016-10-19 | 2020-11-25 | 富士通株式会社 | Simulation program, simulation method and information processing equipment |
-
2018
- 2018-05-16 JP JP2018094886A patent/JP6978689B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019200615A (en) | 2019-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Scholz et al. | Scalable parallel micromagnetic solvers for magnetic nanostructures | |
| Cheong et al. | Gmunu: paralleled, grid-adaptive, general-relativistic magnetohydrodynamics in curvilinear geometries in dynamical space–times | |
| Jansson et al. | CUBE: A scalable framework for large-scale industrial simulations | |
| Rosswog | The Lagrangian hydrodynamics code MAGMA2 | |
| Gandham et al. | GPU accelerated discontinuous Galerkin methods for shallow water equations | |
| US9129075B2 (en) | Mesh generation system | |
| EP4104114A1 (en) | Hybrid quantum-classical adversarial generator | |
| JP7557134B2 (en) | Machine learning program, machine learning method, and information processing device | |
| US8681166B1 (en) | System and method for efficient resource management of a signal flow programmed digital signal processor code | |
| Cernetic et al. | High-order discontinuous Galerkin hydrodynamics with sub-cell shock capturing on GPUs | |
| Wei et al. | Combined acceleration methods for solid rocket motor grain burnback simulation based on the level set method | |
| CN114417543A (en) | Apparatus and method for optimization | |
| JP2018067124A (en) | Simulation program, simulation method and information processing apparatus | |
| Chadwick et al. | Recursive grain remapping scheme for phase‐field models of additive manufacturing | |
| JP6978689B2 (en) | Magnetic simulation program, magnetic simulation method, and magnetic simulation device | |
| Mandarapu et al. | Mochi: fast\& exact collision detection | |
| Herholz et al. | A mesh-based simulation framework using automatic code generation | |
| JP6424651B2 (en) | Magnetic field simulator program, magnetic field simulator device and magnetic field simulation method | |
| Daviet et al. | Neurally integrated finite elements for differentiable elasticity on evolving domains | |
| Odaker et al. | GPU-accelerated real-time mesh simplification using parallel half edge collapses | |
| Paardekooper | Multidimensional upwind hydrodynamics on unstructured meshes using graphics processing units–I. Two-dimensional uniform meshes | |
| Roberts | Camellia v1. 0 manual: Part I | |
| Einkemmer et al. | A semi-Lagrangian discontinuous Galerkin method for drift-kinetic simulations on GPUs | |
| Zhu et al. | Fast sparse grid simulations of fifth order WENO scheme for high dimensional hyperbolic PDEs | |
| Heisler et al. | Generating finite element codes combining adaptive octrees with complex geometries |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210210 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210218 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210218 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211012 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211025 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6978689 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |