Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6978689B2 - Magnetic simulation program, magnetic simulation method, and magnetic simulation device - Google Patents
[go: Go Back, main page]

JP6978689B2 - Magnetic simulation program, magnetic simulation method, and magnetic simulation device - Google Patents

Magnetic simulation program, magnetic simulation method, and magnetic simulation device Download PDF

Info

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
Application number
JP2018094886A
Other languages
Japanese (ja)
Other versions
JP2019200615A (en
Inventor
智大 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018094886A priority Critical patent/JP6978689B2/en
Publication of JP2019200615A publication Critical patent/JP2019200615A/en
Application granted granted Critical
Publication of JP6978689B2 publication Critical patent/JP6978689B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2017−084081号公報Japanese Unexamined Patent Publication No. 2017-084081 特開2012−128490号公報Japanese Unexamined Patent Publication No. 2012-128490

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の実施の形態に係る磁化シミュレーション装置の機能構成例を示す図である。It is a figure which shows the functional configuration example of the magnetization simulation apparatus which concerns on 1st Embodiment. マイクロマグネティックスシミュレーションに用いるコンピュータのハードウェアの一例を示す図である。It is a figure which shows an example of the hardware of the computer used for the micromagnetics simulation. マイクロマグネティックスシミュレーションのための機能を示すブロック図である。It is a block diagram which shows the function for a micromagnetics simulation. メッシュ構造データの一例を示す図である。It is a figure which shows an example of mesh structure data. メッシュごとの磁化が定義された磁性体を示す模式図である。It is a schematic diagram which shows the magnetic material in which the magnetization of each mesh is defined. マイクロマグネティックスシミュレーションに用いる配列の一例を示す図である。It is a figure which shows an example of the arrangement used for the micromagnetics simulation. 配列へのベクトルデータの格納方法の一例を示す図である。It is a figure which shows an example of the storage method of the vector data in an array. マイクロマグネティックスシミュレーションの処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the processing procedure of a micromagnetics simulation. 前処理行列作成処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the preconditioner matrix creation process. 方向ベクトル計算処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of a direction vector calculation process. マイクロマグネティックスシミュレーションの検証例を示す図である。It is a figure which shows the verification example of the micromagnetics simulation. 磁化曲線の一例を示す図である。It is a figure which shows an example of the magnetization curve.

以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第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 magnetization simulation device 10 has a storage unit 11 and a processing unit 12. The storage unit 11 is, for example, a memory or a storage device included in the magnetization simulation device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the magnetization simulation device 10. The magnetization simulation device 10 realizes a magnetization simulation method for efficiently performing micromagnetics simulation using a non-uniform mesh model by using the storage unit 11 and the processing unit 12. For example, the magnetization simulation device 10 realizes a magnetization simulation method by executing a magnetization simulation program in the processing unit 12 that describes a procedure for efficiently performing a micromagnetics simulation using a non-uniform mesh model. ..

磁化シミュレーション装置10は、例えばNCG法によるマイクロマグネティックスシミュレーションを実行する。ここで、マイクロマグネティックスシミュレーションについて詳細に説明する。 The magnetization simulation device 10 executes, for example, micromagnetics simulation by the NCG method. Here, the micromagnetics simulation will be described in detail.

マイクロマグネティックスシミュレーションとは、磁性体の理論計算の一手法である。磁化シミュレーション装置10は、シミュレーション空間内に磁性体を定義し、その磁性体を微小な要素(メッシュと呼ぶこともある)に分割する。各メッシュは、例えば四面体または八面体の立体構造を有している。また各メッシュの体積は不均一である。すなわち磁性体は、複数のメッシュに分割されることで、不均一メッシュモデル1で表されている。 Micromagnetics simulation is a method of theoretical calculation of magnetic materials. The magnetization simulation device 10 defines a magnetic material in the simulation space, and divides the magnetic material into minute elements (sometimes called a mesh). Each mesh has, for example, a tetrahedral or octahedral three-dimensional structure. Also, the volume of each mesh is non-uniform. That is, the magnetic material is represented by the non-uniform mesh model 1 by being divided into a plurality of meshes.

磁化シミュレーション装置10は、不均一メッシュモデル1を用いてマイクロマグネティックスシミュレーションを実行する。例えば磁化シミュレーション装置10は、系の全エネルギーである磁気的エネルギーEtotalを示すエネルギー定義情報を記憶している。磁気的エネルギーEtotalは、以下の式で表される。 The magnetization simulation device 10 executes a micromagnetics simulation using the non-uniform mesh model 1. For example, the magnetization simulation device 10 stores energy definition information indicating the magnetic energy E total, which is the total energy of the system. The magnetic energy E total is expressed by the following equation.

Figure 0006978689
Figure 0006978689

ここで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.

Figure 0006978689
Figure 0006978689

Figure 0006978689
Figure 0006978689

Figure 0006978689
Figure 0006978689

Figure 0006978689
Figure 0006978689

Figure 0006978689
Figure 0006978689

ここで、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.

Figure 0006978689
Figure 0006978689

磁化シミュレーション装置10は、式(1)〜式(7)で表される磁性体エネルギーを最小にするマイクロ磁化の状態を、マイクロマグネティックスシミュレーションによって求める。マイクロマグネティックスシミュレーションを実行する際に、ユーザが実行条件として入力するデータは、体積が不均一な複数の要素を含む不均一メッシュモデル1、不均一メッシュモデル1内の各要素における磁化ベクトルの初期状態、および外部磁界データ11bである。式(2)〜式(7)に含まれる磁気異方性ベクトルk、磁気異方性定数KU、交換結合定数A、飽和磁化Msは、解析対象の磁性体の物性値として、予め磁性体データ11aに設定しておくことができる。外部磁界データ11bには、外部磁界Happlの値が含まれる。そして磁化シミュレーション装置10が、例えばNCG法によるマイクロマグネティックスシミュレーションを実行することで、磁気的エネルギーを最小化するような、各メッシュにおける磁化ベクトルの状態を示すデータを出力する。 The magnetization simulation device 10 obtains the state of micromagnetization that minimizes the magnetic energy represented by the equations (1) to (7) by micromagnetics simulation. When executing the micromagnetics simulation, the data input by the user as an execution condition is the non-uniform mesh model 1 including a plurality of elements having a non-uniform volume, and the initial magnetization vector in each element in the non-uniform mesh model 1. The state and the external magnetic field data 11b. Anisotropy vector k included formula (2) to Formula (7), the magnetic anisotropy constant K U, exchange coupling constant A, as a physical property value of the saturation magnetization M s is analyzed of the magnetic material, pre magnetic It can be set in the body data 11a. The external magnetic field data 11b includes the value of the external magnetic field H appl. Then, the magnetization simulation device 10 outputs data showing the state of the magnetization vector in each mesh so as to minimize the magnetic energy by, for example, executing a micromagnetics simulation by the NCG method.

磁化シミュレーション装置10は、処理の反復回数を削減するために、各メッシュの体積の逆数を用いて不均一メッシュモデル1を用いたマイクロマグネティックスシミュレーションを実行する。例えば磁化シミュレーション装置10の記憶部11は、体積が不均一な複数の要素を含む不均一メッシュモデル1で構造が表された磁性体を示す磁性体データ11aと、磁性体が置かれた空間の磁界を示す外部磁界データ11bとを記憶する。 The magnetization simulation device 10 executes a micromagnetics simulation using the non-uniform mesh model 1 using the reciprocal of the volume of each mesh in order to reduce the number of processing iterations. For example, the storage unit 11 of the magnetization simulation device 10 contains magnetic data 11a showing a magnetic material whose structure is represented by a non-uniform mesh model 1 including a plurality of elements having a non-uniform volume, and a space in which the magnetic material is placed. The external magnetic field data 11b indicating the magnetic field is stored.

処理部12は、不均一メッシュモデル1内の各要素における磁化ベクトルの初期状態を含む磁性体データ11aと外部磁界データ11bとに基づいて、NCG法によるマイクロマグネティックスシミュレーションを実行する。 The processing unit 12 executes a micromagnetics simulation by the NCG method based on the magnetic material data 11a including the initial state of the magnetization vector in each element in the non-uniform mesh model 1 and the external magnetic field data 11b.

処理部12は、まず磁性体データ11aと外部磁界データ11bとに基づいて、複数の要素それぞれにおける磁気的エネルギーの勾配を示す勾配ベクトルを算出する。磁気的エネルギーは、前述の式(1)〜式(7)で表される。 First, the processing unit 12 calculates a gradient vector indicating the gradient of the magnetic energy in each of the plurality of elements based on the magnetic material data 11a and the external magnetic field data 11b. The magnetic energy is represented by the above-mentioned equations (1) to (7).

次に処理部12は、複数の要素それぞれについて、要素の体積の逆数と勾配ベクトルとに基づいて、磁気的エネルギーを最小化する状態の探索方向を示す方向ベクトルを算出する。例えば処理部12は、まず磁性体データ11aに示される不均一メッシュモデル1の構造に基づいて、各要素の体積を計算する。そして処理部12は、勾配ベクトルに、要素の体積の逆数のγ乗(γは正の実数)を乗算した結果に基づいて、方向ベクトルを算出する。 Next, the processing unit 12 calculates, for each of the plurality of elements, a direction vector indicating the search direction of the state that minimizes the magnetic energy, based on the reciprocal of the volume of the elements and the gradient vector. For example, the processing unit 12 first calculates the volume of each element based on the structure of the non-uniform mesh model 1 shown in the magnetic data 11a. Then, the processing unit 12 calculates the direction vector based on the result of multiplying the gradient vector by the reciprocal of the volume of the element to the power of γ (γ is a positive real number).

なお処理部12は、勾配ベクトルの成分に乗算する値を含む前処理行列を予め生成しておいてもよい。例えば処理部12は、複数の要素それぞれの体積の逆数を対角要素とする対角行列を前処理行列として生成する。処理部12は、生成した前処理行列を、例えばメモリに格納する。そして処理部12は、前処理行列を用いて、複数の要素それぞれの方向ベクトルを算出する。 The processing unit 12 may generate in advance a pre-processing matrix including a value to be multiplied by a component of the gradient vector. For example, the processing unit 12 generates a diagonal matrix having the reciprocal of the volume of each of the plurality of elements as diagonal elements as a preprocessing matrix. The processing unit 12 stores the generated preprocessing matrix in, for example, a memory. Then, the processing unit 12 calculates the direction vector of each of the plurality of elements using the pre-processing matrix.

要素ごとの方向ベクトルの算出が完了すると、処理部12は、複数の要素それぞれの磁化状態を示す磁化ベクトルを方向ベクトルが示す方向に変化させることで、磁気的エネルギーを最小化する複数の要素それぞれの磁化ベクトルを算出する。なお、1回の磁化ベクトルの算出では、方向ベクトルにより磁化ベクトルの変化の方向が制限されている。そのため、他の方向に磁化ベクトルを変化させれば、磁気的エネルギーをさらに小さくさせる磁化状態(複数の要素それぞれの磁化ベクトル)が存在する可能性がある。 When the calculation of the direction vector for each element is completed, the processing unit 12 changes the magnetization vector indicating the magnetization state of each of the plurality of elements in the direction indicated by the direction vector, thereby minimizing the magnetic energy of each of the plurality of elements. Calculate the magnetization vector of. In the calculation of the magnetization vector once, the direction of change of the magnetization vector is limited by the direction vector. Therefore, if the magnetization vector is changed in another direction, there may be a magnetization state (magnetization vector for each of a plurality of elements) that further reduces the magnetic energy.

そこで処理部12は、収束条件を満たすまで、勾配ベクトルの算出と、方向ベクトルの算出と、磁化ベクトルの算出とを繰り返し実行する。収束条件は、例えば最後に算出した磁化ベクトルと、その前に算出した磁化ベクトルとの差(残差)が所定値以内になっているという条件である。すなわち処理部12は、磁化ベクトルがある一定値に収束した場合、ループ処理から抜ける。 Therefore, the processing unit 12 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. The convergence condition is, for example, a condition that the difference (residual) between the last calculated magnetization vector and the previously calculated magnetization vector is within a predetermined value. That is, when the magnetization vector converges to a certain value, the processing unit 12 exits the loop processing.

処理部12は、収束条件が満たされると、磁性体の磁化状態を示す情報を出力する。例えば処理部12は、最後に計算した各要素の磁化ベクトルを、外部磁界データ11bに応じた磁性体の磁化状態として出力する。 When the convergence condition is satisfied, the processing unit 12 outputs information indicating the magnetization state of the magnetic material. For example, the processing unit 12 outputs the magnetization vector of each element calculated last as the magnetization state of the magnetic material according to the external magnetic field data 11b.

このように、各メッシュの体積の逆数を用いてマイクロマグネティックスシミュレーションを実行することで、勾配ベクトル、方向ベクトル、磁化ベクトルといった物理量の計算処理の反復回数を削減することができ、処理の効率化が図れる。 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 non-uniform mesh model 1 without using the reciprocal of the volume of each mesh, the number of repetitions of the physical quantity calculation process is doubled as compared with the case where the uniform mesh is used. It will increase more than that. The cause of this is considered as follows.

磁性体を不均一メッシュモデルで表現すると、各メッシュの体積が不均一になる。また、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 magnetization simulation device 10 obtains the minimum energy state of the magnetic material by using the NCG method, a preconditioner using the reciprocal of the volume of the mesh is prepared in advance, and this preconditioner is used when calculating the direction vector. use. By using a preconditioner that suppresses variations in the size of each component of the gradient vector, it can be expected that convergence will occur with the same number of iterations as a uniform mesh. For example, it is conceivable to diagonally scale the preconditioner matrix as a diagonal matrix. Each component of such a diagonal matrix should have a value of about 0.3 to 1.0 of the inverse of each mesh volume.

このように、方向ベクトルを計算する際に、メッシュの体積の逆数を用いて、メッシュサイズが不均一であることに起因する勾配ベクトルのバラつきを抑制することで、方向ベクトルの向きが適性化される。方向ベクトルの向きが適性化されることで、磁気的エネルギーの最小値に、少ない反復回数で到達することが可能となる。その結果、処理の効率化が図れる。 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 processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).

メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。 The memory 102 is used as the main storage device of the computer 100. At least a part of an OS (Operating System) program or an application program to be executed by the processor 101 is temporarily stored in the memory 102. Further, various data used for processing by the processor 101 are stored in the memory 102. As the memory 102, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.

バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。 Peripheral devices connected to the bus 109 include a storage device 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.

ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。 The storage device 103 electrically or magnetically writes and reads data to and from the built-in recording medium. The storage device 103 is used as an auxiliary storage device for a computer. The storage device 103 stores an OS program, an application program, and various data. As the storage device 103, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive) can be used.

グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。 A monitor 21 is connected to the graphic processing device 104. The graphic processing device 104 causes the image to be displayed on the screen of the monitor 21 according to the instruction from the processor 101. The monitor 21 includes a display device using an organic EL (Electro Luminescence), a liquid crystal display device, and the like.

入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 A keyboard 22 and a mouse 23 are connected to the input interface 105. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include touch panels, tablets, touchpads, trackballs and the like.

光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。 The optical drive device 106 reads the data recorded on the optical disk 24 by using a laser beam or the like. The optical disk 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disk 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。 The device connection interface 107 is a communication interface for connecting peripheral devices to the computer 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27. The memory card 27 is a card-type recording medium.

ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。 The network interface 108 is connected to the network 20. The network interface 108 transmits / receives data to / from another computer or communication device via the network 20.

コンピュータ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 magnetization simulation device 10 shown in the first embodiment can also be realized by the same hardware as the computer 100 shown in FIG.

コンピュータ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 storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. Further, the program to be executed by the computer 100 can be recorded on a portable recording medium such as an optical disk 24, a memory device 25, and a memory card 27. The program stored in the portable recording medium can be executed after being installed in the storage device 103 by control from the processor 101, for example. The processor 101 can also read and execute the program directly from the portable recording medium.

このようなコンピュータ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 storage unit 110, a preconditioner matrix creation unit 120, and a simulation unit 130 for micromagnetics simulation.

記憶部110は、磁性体データ111と外部磁界データ112とを記憶する。磁性体データ111には、メッシュ構造データ111aと特性データ111bとが含まれる。メッシュ構造データ111aは、不均一なサイズの複数のメッシュに磁性体を分割したときの、各メッシュの位置と形状を示すデータである。特性データ111bは、磁性体の性質に関するデータである。例えば特性データ111bには、単位磁化ベクトルm、磁気異方性ベクトルk、磁気異方性定数KU、交換結合定数A、飽和磁化Msなどが含まれる。外部磁界データ112は、磁性体が置かれる空間内の磁界(外部磁界Happl)を表すデータである。 The storage unit 110 stores the magnetic material data 111 and the external magnetic field data 112. The magnetic material data 111 includes mesh structure data 111a and characteristic data 111b. The mesh structure data 111a is data showing the position and shape of each mesh when the magnetic material is divided into a plurality of meshes having a non-uniform size. The characteristic data 111b is data relating to the properties of the magnetic material. For example, the characteristic data 111b, the unit magnetization vector m, anisotropy vector k, the magnetic anisotropy constant K U, exchange coupling constant A, and the like saturation magnetization M s. The external magnetic field data 112 is data representing a magnetic field (external magnetic field H appl ) in the space where the magnetic material is placed.

前処理行列作成部120は、NCG法の前処理演算を行い、NCG法による収束性を高めるための行列(前処理行列)を作成する。例えば前処理行列作成部120は、メッシュモデルの各メッシュの体積に応じた値を、前処理行列の要素として設定する。 The pre-processing matrix creation unit 120 performs the pre-processing operation of the NCG method and creates a matrix (pre-processing matrix) for enhancing the convergence by the NCG method. For example, the preconditioner matrix creation unit 120 sets a value corresponding to the volume of each mesh of the mesh model as an element of the preconditioner matrix.

シミュレーション部130は、前処理行列を用いて、NCG法によるマイクロマグネティックスシミュレーションを実行し、メッシュモデルのメッシュごとの磁化ベクトルを算出する。NCG法を用いるため、シミュレーション部130は、所定の収束条件が満たされるまで、メッシュごとの磁化ベクトルの算出を繰り返し実行する。そしてシミュレーション部130は、収束条件が満たされたとき、最後に算出されたメッシュごとの磁化ベクトルを出力する。 The simulation unit 130 executes micromagnetics simulation by the NCG method using the preconditioner matrix, and calculates the magnetization vector for each mesh of the mesh model. Since the NCG method is used, the simulation unit 130 repeatedly executes the calculation of the magnetization vector for each mesh until a predetermined convergence condition is satisfied. Then, when the convergence condition is satisfied, the simulation unit 130 outputs the last calculated magnetization vector for each mesh.

図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 storage unit 110 stores mesh structure data 111a representing the non-uniform mesh model 31 of the magnetic material. The non-uniform mesh model 31 has a reduced number of meshes as compared with the uniform mesh model 30 having a uniform size. The mesh structure data 111a includes, for example, mesh data 111d and node data 111e. In the mesh data 111d, an identifier (node number) of a node of the mesh is set in association with an identifier (mesh number) of each mesh included in the non-uniform mesh model 31. If the mesh is a tetrahedron, the mesh has four nodes. If the mesh is a hexahedron, the mesh has eight nodes. In the node data 111e, the coordinate values of the nodes in the three-dimensional space are set in association with the node numbers of the nodes included in the non-uniform mesh model 31.

メッシュ構造データ111aに示される不均一メッシュモデル31により、複数のメッシュに分割した磁性体が表現される。特性データ111bに含まれる単位磁化ベクトルは、メッシュごとの磁化(マイクロ磁化)の初期状態を表している。 The non-uniform mesh model 31 shown in the mesh structure data 111a represents a magnetic material divided into a plurality of meshes. The unit magnetization vector included in the characteristic data 111b represents the initial state of magnetization (micromagnetization) for each mesh.

図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 meshes 41, the strength and direction of magnetization in each mesh are defined by the magnetization vector. Then, the computer 100 calculates the behavior of the micromagnetization when the magnetic material 40 is placed in the space where the external magnetic field shown in the external magnetic field data 112 exists by the micromagnetics simulation by the NCG method. Specifically, the computer 100 calculates the state of micromagnetization that minimizes the magnetic energy represented by the equations (1) to (7). At this time, the computer 100 executes an efficient simulation process in which the number of repetitions of the physical quantity calculation process is small by using the preconditioner according to the reciprocal of the volume of each mesh.

なおコンピュータ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 memory 102 by using an array.
FIG. 6 is a diagram showing an example of an array used for a micromagnetics simulation. For example, when the preconditioner matrix creation unit 120 creates the preconditioner matrix Q based on the magnetic data 111, the elements of the preconditioner matrix Q are stored in the matrix element array Q'. The simulation unit 130 extracts the value of the element from the matrix element array Q'and calculates the physical quantity. For example, in the first physical quantity calculation, the simulation unit 130 calculates a gradient vector, a direction vector, and a magnetization vector for each mesh based on the magnetic material data 111, the external magnetic field data 112, and the matrix element array Q'. .. The simulation unit 130 stores the calculated physical quantity for each mesh in the array in the output data array group 51. The output data array group 51 includes a gradient vector array g 1 , a direction vector array d 1 , and a magnetization vector array m 1 .

1回目の物理量計算が終了すると、シミュレーション部130は、出力データ用配列群51内の各配列の値を、入力データ用配列群52として設けられた配列にコピーする。入力データ用配列群52には、勾配ベクトル配列g2、方向ベクトル配列d2、および磁化ベクトル配列m2が含まれる。 When the first physical quantity calculation is completed, the simulation unit 130 copies the values of each array in the output data array group 51 to the array provided as the input data array group 52. The input data array group 52 includes a gradient vector array g 2 , a direction vector array d 2 , and a magnetization vector array m 2 .

シミュレーション部130は、行列要素配列Q’と入力データ用配列群52内の各配列からデータを読み出し、2回目以降の物理量計算を行う。そしてシミュレーション部130は、2回目以降の物理量計算において算出したメッシュごとの物理量を、出力データ用配列群51内の配列に格納する。 The simulation unit 130 reads data from each of the matrix element array Q'and the array in the input data array group 52, and performs the second and subsequent physical quantity calculations. Then, the simulation unit 130 stores the physical quantity for each mesh calculated in the second and subsequent physical quantity calculations in the array in the output data array group 51.

このように、配列を用いて中間データを管理することで、マイクロマグネティックスシミュレーションを効率的に実行することができる。なお、シミュレーション部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 simulation unit 130 stores each component of the vector value in the x-axis, y-axis, and z-axis directions as one element of the array. Therefore, when the number of meshes is N, the number of elements in each array is 3N.

図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 non-uniform mesh model 31 include a magnetization vector, a gradient vector, and a direction vector. The structural data of each mesh includes the coordinates of the nodes constituting the mesh.

配列には、ベクトルの成分ごとの値それぞれが、配列の要素として格納される。例えば配列内の要素番号が「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 matrix creation unit 120 accepts the input of the initial value of the magnetization vector data indicating the magnetization vector for each mesh, and stores the components in each axial direction of the magnetization vector for each mesh in the magnetization vector array m 2. do.

[ステップS102]前処理行列作成部120は、パラメータγとメッシュ構造データ111aとに基づいて、前処理行列Qの対角成分を示す行列要素配列Q’を作成する。前処理行列は、例えば以下のような対角行列である。 [Step S102] The preconditioner matrix creation unit 120 creates a matrix element array Q'representing diagonal components of the preconditioner matrix Q based on the parameter γ and the mesh structure data 111a. The preconditioner matrix is, for example, the following diagonal matrix.

Figure 0006978689
Figure 0006978689

ここでγはユーザが予め指定するパラメータであり、シミュレーション中において一定である。γの値は正の実数であり、例えばγの値として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.

Figure 0006978689
Figure 0006978689

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 matrix creation unit 120 calculates the volume of the mesh from the coordinate values of the nodes of each mesh shown in the mesh structure data 111a. Then, the preconditioner matrix creating unit 120 calculates the value of the component of the preconditioner matrix Q by the equation (9) based on the calculated volume of each mesh, and stores it in the memory 102. For example, the preconditioner matrix creation unit 120 stores each component of Q as an array. In that case, the preconditioner matrix creation unit 120 defines the following matrix element array Q'with 3N elements, and stores three diagonal components of the preconditioner matrix creation unit 120 in the array.

Figure 0006978689
Figure 0006978689

このような行列要素配列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 simulation unit 130 executes a micromagnetics simulation by the NCG method. In the micromagnetics simulation, the simulation unit 130 calculates the physical quantity in the processes of steps S103 to S105.

[ステップS103]シミュレーション部130は、磁化ベクトル配列m2に基づいて、メッシュごとの勾配ベクトルを計算し、勾配ベクトルの成分を勾配ベクトル配列g1に格納する。例えば磁化ベクトル配列m2に示されるi番目のメッシュの磁化ベクトルをmiとしたとき、そのメッシュの勾配ベクトルgiは「gi=−∂Etotal/∂mi」となる。 [Step S103] The simulation unit 130 calculates a gradient vector for each mesh based on the magnetization vector array m 2 , and stores the components of the gradient vector in the gradient vector array g 1. For example, when the magnetization vector of the i-th mesh shown in magnetization vector sequence m 2 was m i, the gradient vector g i of the mesh is "g i = -∂E total / ∂m i".

[ステップS104]シミュレーション部130は、勾配ベクトル配列g1,g2と方向ベクトル配列d2とに基づいて、前処理行列Qを用いたメッシュごとの方向ベクトルを計算し、方向ベクトルの成分を方向ベクトル配列d1に格納する。勾配ベクトル配列g2と方向ベクトル配列d2とは、前回の物理量計算処理で計算された値が格納されている。なお、1回目の物理量計算処理の場合、勾配ベクトル配列g2と方向ベクトル配列d2とは未計算である。そのため、シミュレーション部130は、1回目の物理量計算処理では、勾配ベクトル配列g1と行列要素配列Q’とにより、メッシュごとの方向ベクトルを計算する。 [Step S104] The simulation unit 130 calculates a direction vector for each mesh using the preprocessing matrix Q based on the gradient vector arrays g 1 and g 2 and the direction vector array d 2, and directs the components of the direction vector. Store in the vector array d 1. The values calculated in the previous physical quantity calculation process are stored in the gradient vector array g 2 and the direction vector array d 2. In the case of the first physical quantity calculation process, the gradient vector array g 2 and the direction vector array d 2 have not been calculated. Therefore, in the first physical quantity calculation process, the simulation unit 130 calculates the direction vector for each mesh by the gradient vector array g 1 and the matrix element array Q'.

例えば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 simulation unit 130 calculates the correction coefficient β by the following equation (11). In equation (11), each array is regarded as a vector having elements of the array.

Figure 0006978689
Figure 0006978689

ここで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 simulation unit 130 multiplies the gradient vector (gradient vector array g 1 ) calculated in step S103 by “−Q” from the left. Further, the simulation unit 130 uses the direction vector (direction vector array d 2 ) calculated in the previous physical quantity calculation as a column vector, and multiplies the column vector by “β” from the left. Then, the simulation unit 130 sets the total “−Qg 1 + βd 2 ” of the multiplication result of “−Q” on the gradient vector and the multiplication result of “β” on the direction vector as the direction vector.

シミュレーション部130は、計算したメッシュごとの方向ベクトルを、方向ベクトル配列d1に格納する。方向ベクトル計算処理の詳細は後述する(図10参照)。
[ステップS105]シミュレーション部130は、方向ベクトル配列d1と磁化ベクトル配列m2とに基づいて、ラインサーチ(直接探索)処理により、メッシュごとの磁化ベクトルを計算する。例えばシミュレーション部130は、前回の物理量計算で得られた各メッシュの磁化ベクトル(磁化ベクトル配列m2)を、各メッシュの方向ベクトル(方向ベクトル配列d1)の方向へ変化させ、磁気的エネルギーEtotalを最小化させる磁化状態を探索する。シミュレーション部130は、方向ベクトルに示される方向への探索で、磁気的エネルギーEtotalが最小となる各メッシュの磁化ベクトルを、磁化ベクトルの算出結果とする。そしてシミュレーション部130は、メッシュごとに新たに算出した磁化ベクトルで、磁化ベクトル配列m1の各要素の値を更新する。
The simulation unit 130 stores the calculated direction vector for each mesh in the direction vector array d 1 . The details of the direction vector calculation process will be described later (see FIG. 10).
[Step S105] The simulation unit 130 calculates the magnetization vector for each mesh by line search (direct search) processing based on the direction vector array d 1 and the magnetization vector array m 2. For example, the simulation unit 130 changes the magnetization vector (magnetization vector array m 2 ) of each mesh obtained in the previous physical quantity calculation in the direction of the direction vector (direction vector array d 1 ) of each mesh, and magnetic energy E. Search for the magnetization state that minimizes the total. The simulation unit 130 uses the magnetization vector of each mesh that minimizes the magnetic energy E total as the calculation result of the magnetization vector in the search in the direction indicated by the direction vector. Then, the simulation unit 130 updates the value of each element of the magnetization vector array m 1 with the magnetization vector newly calculated for each mesh.

[ステップS106]シミュレーション部130は、収束条件が満たされたか否かを判定する。例えばシミュレーション部130は、磁化ベクトルの残差|m1−m2|が規定値以下か否かを判断する。またシミュレーション部130は、メッシュごとの回転前の磁化ベクトルと回転後の磁化ベクトルとの差分ベクトルの大きさの平均値又は最大値を残差とすることもできる。シミュレーション部130は、残差が規定値以下であれば、収束条件が満たされたと判断する。シミュレーション部130は、収束条件が満たされた場合、処理をステップS108に進める。またシミュレーション部130は、収束条件が満たされていなければ、処理をステップS107に進める。 [Step S106] The simulation unit 130 determines whether or not the convergence condition is satisfied. For example, the simulation unit 130 determines whether or not the residual | m 1 − m 2 | of the magnetization vector is equal to or less than the specified value. Further, the simulation unit 130 may use the average value or the maximum value of the magnitude of the difference vector between the magnetization vector before rotation and the magnetization vector after rotation for each mesh as the residual. If the residual is equal to or less than the specified value, the simulation unit 130 determines that the convergence condition is satisfied. When the convergence condition is satisfied, the simulation unit 130 advances the process to step S108. If the convergence condition is not satisfied, the simulation unit 130 advances the process to step S107.

[ステップS107]シミュレーション部130は、ステップS103〜S105で計算した勾配ベクトル、方向ベクトル、および磁化ベクトルを、次のループ処理用のデータとしてコピーする。具体的には、シミュレーション部130は、磁化ベクトル配列m1内の各要素の値を、磁化ベクトル配列m2内の各要素にコピーする。また、シミュレーション部130は、勾配ベクトル配列g1内の各要素の値を、勾配ベクトル配列g2内の各要素にコピーする。さらにシミュレーション部130は、方向ベクトル配列d1内の各要素の値を、方向ベクトル配列d2内の各要素にコピーする。その後、シミュレーション部130は、処理をステップS103に進め、次の物理量計算処理を開始する。 [Step S107] The simulation unit 130 copies the gradient vector, the direction vector, and the magnetization vector calculated in steps S103 to S105 as data for the next loop processing. Specifically, the simulation unit 130 copies the value of each element in the magnetization vector array m 1 to each element in the magnetization vector array m 2 . Further, the simulation unit 130 copies the value of each element in the gradient vector array g 1 to each element in the gradient vector array g 2 . Further, the simulation unit 130 copies the value of each element in the direction vector array d 1 to each element in the direction vector array d 2 . After that, the simulation unit 130 advances the process to step S103 and starts the next physical quantity calculation process.

[ステップS108]シミュレーション部130は、収束条件が満たされた場合、最後に計算したメッシュごとの磁化ベクトルをファイルに書き出す。例えばシミュレーション部130は、磁化ベクトル配列m1の各要素の値を、該当要素に対応するメッシュのメッシュ番号に対応付けて、メモリ102上でファイルに書き込む。そしてシミュレーション部130は、そのファイルを例えばストレージ装置103に格納する。 [Step S108] When the convergence condition is satisfied, the simulation unit 130 writes out the last calculated magnetization vector for each mesh to a file. For example, the simulation unit 130 writes the value of each element of the magnetization vector array m 1 to a file on the memory 102 in association with the mesh number of the mesh corresponding to the element. Then, the simulation unit 130 stores the file in, for example, the storage device 103.

このような手順で、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 matrix creation unit 120 repeats the processing of steps S112 to S115 until the variable i changes from 1 to N.

[ステップS112]前処理行列作成部120は、i番目のメッシュの体積を計算する。例えば前処理行列作成部120は、磁性体データ111内のメッシュ構造データ111aに示されているi番目のメッシュの節点の座標値に基づいて、そのメッシュの体積を計算する。 [Step S112] The preconditioner matrix creating unit 120 calculates the volume of the i-th mesh. For example, the preconditioner creating unit 120 calculates the volume of the mesh based on the coordinate values of the nodes of the i-th mesh shown in the mesh structure data 111a in the magnetic data 111.

[ステップS113]前処理行列作成部120は、行列要素配列Q’の3(i−1)+1番目の要素に、i番目のメッシュの体積の−γ乗を格納する。
[ステップS114]前処理行列作成部120は、行列要素配列Q’の3(i−1)+2番目の要素に、i番目のメッシュの体積の−γ乗を格納する。
[Step S113] The preconditioner matrix creation unit 120 stores the volume of the i-th mesh in the −γ power in the 3 (i-1) + 1st element of the matrix element array Q'.
[Step S114] The preconditioner matrix creation unit 120 stores the volume of the i-th mesh in the −γ power in the 3 (i-1) + second element of the matrix element array Q'.

[ステップS115]前処理行列作成部120は、行列要素配列Q’の3(i−1)+3番目の要素に、i番目のメッシュの体積の−γ乗を格納する。
[ステップS116]前処理行列作成部120は、変数iの値がNであれば前処理行列作成処理を終了し、変数iの値がN未満であれば変数iの値に1を加算し、ステップS112〜S115の処理を行う。
[Step S115] The preconditioner matrix creation unit 120 stores the volume of the i-th mesh in the −γ power in the 3 (i-1) + 3rd element of the matrix element array Q'.
[Step S116] The preconditioner matrix creation unit 120 ends the preconditioner matrix creation process if the value of the variable i is N, and adds 1 to the value of the variable i if the value of the variable i is less than N. The processing of steps S112 to S115 is performed.

このような前処理行列作成処理の結果、前処理行列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 matrix creation unit 120 stores the matrix element array Q'in the memory 102 as a processing result.

次に、行列要素配列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 simulation unit 130 determines whether or not it is the first physical quantity calculation process. If it is the first physical quantity calculation process, the simulation unit 130 advances the process to step S122. Further, the simulation unit 130 advances the process to step S125 if it is the second and subsequent physical quantity calculation processes.

[ステップS122]シミュレーション部130は、変数iが1から3Nになるまで、ステップS123の処理を繰り返す。
[ステップS123]シミュレーション部130は、勾配ベクトル配列g1のi番目の要素の値とQのi番目の要素の値と「−1」とを乗算し、方向ベクトル配列d1のi番目の要素に格納する。
[Step S122] The simulation unit 130 repeats the process of step S123 until the variable i changes from 1 to 3N.
[Step S123] The simulation unit 130 multiplies the value of the i-th element of the gradient vector array g 1 and the value of the i-th element of Q by "-1", and the i-th element of the direction vector array d 1 Store in.

[ステップS124]シミュレーション部130は、変数iの値が3Nであれば、方向ベクトル計算処理を終了し、変数iの値が3N未満であれば、変数iの値に1を加算し、ステップS123の処理を行う。 [Step S124] If the value of the variable i is 3N, the simulation unit 130 ends the direction vector calculation process, and if the value of the variable i is less than 3N, 1 is added to the value of the variable i, and step S123 Process.

[ステップS125]シミュレーション部130は、修正係数βを計算し、計算結果をメモリ102に格納する。
[ステップS126]シミュレーション部130は、変数iが1から3Nになるまで、ステップS127の処理を繰り返す。
[Step S125] The simulation unit 130 calculates the correction coefficient β and stores the calculation result in the memory 102.
[Step S126] The simulation unit 130 repeats the process of step S127 until the variable i changes from 1 to 3N.

[ステップS127]シミュレーション部130は、方向ベクトル配列d2のi番目の要素と修正係数βとの積から、勾配ベクトル配列g1のi番目の要素と行列要素配列Q’のi番目の要素との積を減算する。そしてシミュレーション部130は、減算結果を、方向ベクトル配列d1のi番目の要素に格納する。 [Step S127] The simulation unit 130 sets the i-th element of the gradient vector array g 1 and the i-th element of the matrix element array Q'from the product of the i-th element of the direction vector array d 2 and the correction coefficient β. Subtract the product of. Then, the simulation unit 130 stores the subtraction result in the i-th element of the direction vector array d 1.

[ステップS128]シミュレーション部130は、変数iの値が3Nであれば、方向ベクトル計算処理を終了し、変数iの値が3N未満であれば、変数iの値に1を加算し、ステップS127の処理を行う。 [Step S128] If the value of the variable i is 3N, the simulation unit 130 ends the direction vector calculation process, and if the value of the variable i is less than 3N, 1 is added to the value of the variable i, and step S127. Process.

このようにして、方向ベクトルの計算が行われ、処理結果として、方向ベクトル配列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 memory 102. In the calculation of the direction vector, the influence of the difference in volume between the meshes is suppressed by using the preconditioner Q including the reciprocal of the volume of each mesh. As a result, the increase in the number of iterations of physical quantity calculation due to the adoption of the non-uniform mesh model is suppressed.

ここで、前処理行列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 non-uniform mesh model 31 used for the verification has about 11 million meshes. The saturation magnetization of the magnetic material shown in this non-uniform mesh model 31 is 1.61T. The exchange coupling constant is 1.0 × 10 -11 J / m. The anisotropy constant is 4.50 × 10 6 J / m 3 .

このような条件で、前処理行列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 Non-uniform mesh model 10 Magnetization simulation device 11 Storage unit 11a Magnetic material data 11b External magnetic field data 12 Processing unit

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.
JP2018094886A 2018-05-16 2018-05-16 Magnetic simulation program, magnetic simulation method, and magnetic simulation device Active JP6978689B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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