This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-089621, filed on Apr. 24, 2015, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to an information processor, a storage medium, and an information processing method for magnetic property analysis.
Various magnetic property analysis methods have been proposed (see, for example, Japanese Laid-open Patent Publication No. 2004-184234, Japanese Laid-open Patent Publication No. 2003-98241, and Japanese Laid-open Patent Publication No. 2012-33116).
Such conventional methods are, however, problematic in that calculation errors are large. It is thus desired to provide an information processor and the like, which may increase the calculation accuracy.
According to an aspect of the invention, an information processor for magnetic property analysis includes: an acquisition part to acquire a first magnetization vector and a second magnetization vector; and a generation part to generate an interpolation magnetization vector that has an initial point on a straight line connecting initial points of the acquired first magnetization vector and the acquired second magnetization vector and is directed in a plane identical to a plane in which the first magnetization vector and the second magnetization vector are directed
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Embodiments are described below with reference to the drawings.
The CPU 11 is coupled to each hardware constituent via a bus 17. The CPU 11 controls each hardware constituent in accordance with a control program 15P stored in the storage part 15. The RAM 12 is, for example, static RAM (SRAM), dynamic RAM (DRAM), or flash memory. The RAM 12 functions as a storage part and temporarily stores various data caused when the CPU 11 executes various programs.
The input part 13 is an input device, such as a keyboard, a mouse, or a touch panel, and outputs accepted operation information to the CPU 11. The display part 14 is a liquid crystal display, an organic electroluminescence (EL) display, or the like and displays various kinds of information in accordance with instructions from the CPU 11. The clock part 18 outputs information on a date and time to the CPU 11. The communication part 16 is a communication module, and performs transmission and reception of information with another computer, which is not illustrated, through a communication network N, such as the Internet. The storage part 15 is a hard disk or bulk memory and stores the control program 15P for example.
An equation that governs movement of the micromagnetization, that is, a governing equation referred to as the Landau-Lifshitz-Gilbert (LLG) equation hereinafter is indicated in Mathematical Expression (1).
{right arrow over (m)}: Magnetization vector
γ: Gyromagnetic ratio
α: Friction coefficient
Heff: Effective magnetic field
Ms: Saturation magnetization
t: Time
As indicated in Mathematical Expression (2), an effective magnetic field Heff is synthesized from a plurality of magnetic field vectors, which include an external magnetic field Hout, a demagnetic field Hdemag, an anisotropic magnetic field Han, and a magnetic exchange coupling magnetic field Hex.
{right arrow over (H)}
eff
={right arrow over (H)}
out
+{right arrow over (H)}
demag
+{right arrow over (H)}
an
+{right arrow over (H)}
ex 92)
The magnetic fields that the micromagnetization receives are the external magnetic field Hout, the demagnetic field Hdemag indicated in Mathematical Expression (3), the anisotropic magnetic field Han indicated in Mathematical Expression (4), and the magnetic exchange coupling magnetic field Hex indicated in Mathematical Expression (5). Herein, φ represents a magnetostatic potential, Ms represents a saturation magnetization, Ku represents a magnetic anisotropic constant, and u represents a magnetic anisotropic vector, and as to the vectors, superscript arrows are omitted when desirable. Further, A represents an exchange coupling constant. The magnetic exchange coupling magnetic field Hex is force that acts between adjacent atoms, originally. To perform analysis that maintains the calculation accuracy while using an analysis model that has undergone mesh splitting so as to have a size larger than an inter-atom distance, the mesh splitting is performed so that an angle change of an adjacent magnetization vector is small to a certain extent.
Subsequently, a linear implicit method is described. The linear implicit method is a technique by which each time increment is increased by applying the implicit method to the LLG equation, which is an ordinary differential equation of a magnetization vector and speedup in calculation is enabled. The LLG equation is nonlinear with respect to a magnetization vector and therefore, expression by a linear equation with respect to the magnetization vector is impossible without adding any change. The linearization is performed by using the magnetization vector mn+1 at the subsequent time step for the magnetization vectors included in the anisotropic magnetic field and the exchange coupling magnetic field. The right-hand side of the LLG equation indicated in Mathematical Expression (1) includes a term of the first power of a magnetization vector m and a term of the square of m, which is an unknown quantity.
Since the anisotropic magnetic field Han and the exchange coupling magnetic field Hex may also be expressed with the first power of m, the right-hand side of the LLG equation includes terms of the square and the cube of m. Although being nonlinear regarding m, the LLG equation may be linearized regarding mn+1 by treating m appearing in the anisotropic magnetic field and the exchange coupling magnetic field implicitly (mn30 1) and treating the other m explicitly (mn). Described below is derivation of expressions regarding the linear implicit method. Mathematical Expression (7) may be obtained by applying a formula of the vector analysis indicated in Mathematical Expression (6) to the second term on the right-hand side of the LLG equation.
{right arrow over (A)}×({right arrow over (B)}×{right arrow over (C)})=({right arrow over (A)}·{right arrow over (C)}){right arrow over (B)}−({right arrow over (A)}·{right arrow over (B)}){right arrow over (C)} (6)
{right arrow over (m)}×({right arrow over (m)}×{right arrow over (H)}eff)=({right arrow over (m)}·{right arrow over (H)}eff){right arrow over (m)}−({right arrow over (m)}·{right arrow over (m)}){right arrow over (H)}eff=9{right arrow over (m)}·{right arrow over (H)}eff){right arrow over (m)}−{right arrow over (H)}eff (7)
Mathematical Expression (8) may be obtained by ignoring (=0) the first term (precession) on the right-hand side of the LLG equation, substituting Mathematical Expression (7) for the second term (friction term) on the right-hand side, and performing rewriting as a damping constant (or friction coefficient) α=1.
When the linear implicit method is applied to Mathematical Expression (8) with regard to the magnetizations mi of a plurality of meshes (i=0 to N), Mathematical Expression (9) is obtained.
Subsequently, the term regarding mn+1 is transposed to the left-hand side and the term regarding mn is transposed to the right-hand side. In the effective magnetic field Neff, the anisotropic magnetic field Han and the magnetic exchange coupling magnetic field Hex may be expressed by linear combination of mn+1 and are thus transposed to the left-hand side, and the others, which are the external magnetic field Hout and the demagnetic field Hdemag are transposed to the right-hand side. The left-hand side and the right-hand side of Mathematical Expression (9) after the transposition may be expressed by Mathematical Expressions (10) and (11), respectively. The expression in [ ] on the front side of { } in Mathematical Expression (10) contributes to the anisotropic magnetic field and the expression in [ ] on the rear side of { } in Mathematical Expression (10) contributes to the exchange coupling magnetic field. Hereinafter, the coefficient matrix in [ ] on the front side is denoted as Gan and the coefficient matrix in [ ] on the rear side is denoted as Gex.
When the directions are generalized, the magnetic field caused through the exchange coupling may be expressed by Mathematical Expression (13).
The magnetic field Hex caused through the exchange coupling depends on the direction of the adjacent magnetization vector mj. When the equation of the linear implicit method is expressed using matrices, Mathematical Expression (14) is obtained.
Here, the vector Gij is a 3×3 matrix dependent on the vector min of the previous step and the vector Fi is a 3×1 vector dependent on the vector min of the previous step. Calculating Mathematical Expression (15) enables the magnetization vector min+1 of the subsequent step n+1 to be calculated.
{right arrow over (m)}
i
n+1
=
ij
−1
{right arrow over (F)}
i (15)
The vector Fi may be determined by Mathematical Expression (16).
Calculated below is the coefficient matrix dependent on an anisotropic magnetic field and the exchange coupling magnetic field. The coefficient matrix Gan in Mathematical Expression (10), which relates to the anisotropic magnetic field, may be expressed by Mathematical Expression (18) through Mathematical Expression (17) and may finally be expressed by Mathematical Expression (19).
The coefficient matrix Gex in Mathematical Expression (10), which relates to the exchange coupling magnetic field, may be expressed by Mathematical Expressions (21) and (22) through Mathematical Expression (20). Here, i represents its own element and j represents contribution from the adjacent element.
When the adjacent contribution is expressed using Mathematical Expressions (10), (11), and (21) in the form of matrices while being included explicitly, Mathematical Expression (23) is obtained. Stable calculation may be enabled by causing the adjacent magnetization vector mjn+1 to be included in the matrix on the left-hand side even when each time increment is increased.
To express all the matrices for the element i as a whole while G represents the sum of the matrix of the exchange coupling where I/Δt, the anisotropy, and the adjacent contribution are taken into account, Mathematical Expression (24) may be obtained.
[G]{{right arrow over (m)}n+1}={{right arrow over (F)}n} (24)
The magnetization vector at subsequent point of time may be determined as indicated in Mathematical Expression (25) by solving the whole simultaneous equations.
{{right arrow over (m)}n+1}=[G]−1{{right arrow over (F)}n} (25)
The Y-axis component of the gradient largely contributes to a torque that rotates the magnetization vector mi. Thus, only the Y-axis direction component of the gradient is hereinafter taken into account through simplification into Δx=1. If the gradient is calculated based on the concept of conventional differentiation without adding any change, the Y component of the gradient is attenuated when the rotation angle θ exceeds 90 degrees.
When the mesh width is decreased, the angle formed by the magnetization vectors adjacent to each other becomes small and thus, the magnetic field caused through the exchange coupling may be calculated with high accuracy. When the mesh width is decreased, however, the number of meshes as a whole becomes large and thus, the calculation time is increased. As a technique of calculating the magnetic field caused through the exchange coupling (the gradient of the magnetization vector) with high accuracy even while the mesh width is not necessarily small, an intermediate magnetization vector is used.
As indicated in Mathematical Expression (28), c represents a value obtained by standardizing the position of the magnetization vector mij in
The magnetic field caused through the exchange coupling using the intermediate magnetization may be expressed by Mathematical Expression (29).
When the gradient is calculated using the intermediate magnetization, the attenuation decreases even if the angle increases. That is, the use of the intermediate magnetization may enable the gradient to be calculated with high accuracy to a larger magnetization change of the angle, compared to the conventional technique, and thus, the calculation with the same accuracy may be performed with the larger mesh spacing.
The CPU 11 generates the interpolation magnetization vector based on an angle α formed by the magnetization vector mi and the adjacent magnetization vector mi. The angle α used hereinafter is different from a used in the above-described LLG equation. Specifically, as indicated in Mathematical Expression (31), the CPU 11 calculates the angle α of the magnetization vector m* in the vicinity by linear interpolation. Although the present embodiment describes an example using the unit magnetization vector mi, the unit magnetization vector and the unit magnetization vector m* in the vicinity, the magnitude of the magnetization vector m* may be an average value of the magnetization vector mi and the magnetization vector mi.
The gradient may be expressed by Mathematical Expression (32) when calculated using the magnetization vector as a reference and the magnetization vector m* in the vicinity with the assumption that the reference magnetization vector mi and the adjacent magnetization vector mj are in the XY plane.
Since the force that rotates the magnetization vector mi is the component in the vertical direction of the magnetization vector mi, the Y-axis component that is the vertical component is plotted in a graph.
As described above, the use of the angle interpolation may avoid attenuation of the gradient of the magnetization vector even when the angle formed by the magnetization vectors is large. When the rotation is postulated, the gradient is independent of the position of a differentiation Δx and remains invariant and therefore, the angle interpolation is theoretically correct. That is, the use of the angle interpolation may enable the magnetic field caused through the exchange coupling to be calculated with higher accuracy.
The CPU 11 determines the angle of the interpolation magnetization vector m* in the XY plane based on the initial point positions of the magnetization vector mi and the magnetization vector the initial point position determined in step S112, and the angle calculated in step S113 (step S114). Thus, the magnetic field caused through the exchange coupling may be calculated with higher accuracy.
Embodiment 2 relates to a variation where a magnetization vector that has undergone the angle interpolation is applied to the linear implicit method.
The CPU 11 calculates a distance ox in accordance with the angle α. The calculation procedure is described in detail below. In the angle interpolation, the calculation accuracy of the gradient may be increased by making an adjacent magnetization vector closer to a magnetization vector of interest. When the adjacent magnetization vector is made too close (δx→0), however, nondiagonal components in simultaneous equations become large, that is, the contribution of the adjacent magnetization vector becomes large, and unstable calculation or increase in number of repeats of convergence occurs. Thus, the preferable distance δx is calculated in advance based on the angle formed by the magnetization vectors. The value of δx is desired to be as large as possible while maintaining the accuracy of the gradient calculation.
When the two magnetization vectors are close to a parallel or an anti-parallel state, it is difficult to calculate a vertical vector of the two vectors. When the two magnetization vectors are parallel, the gradient may be calculated accurately enough by a conventional calculation method. Thus, in the present embodiment, the angle interpolation is applied to the linear implicit method when the value of a is included in the range designated in advance.
Since the angle interpolation is applied to the linear implicit method when α_min<α<α_max, the CPU 11 sets values for α_min and α_max first (filtering). Parameters are described below, which include n: the number of steps of time integration, α_min: the lower limit value of the angle α formed by two magnetization vectors in a case where the angle interpolation is used, where when α<α_min, the conventional technique is used, α_max: the upper limit value of the angle α formed by the two magnetization vectors in the case where the angle interpolation is used, where when α_max<α, the conventional technique is used, and δx_min: the lower limit value of δx. When δx<δx_min in calculating δx expressed by the linear expression of a from α, δx=δx_min. Further included are δxA: the value of δx at a position A in the graph, αA: the value of α at the position A in the graph, δxB: the value of δx at a position B in the graph, and αB: the value of α at the position B in the graph.
Since convergence deteriorates when Δx is small, the CPU 11 sets the value of δx_min in advance, which is minimized. In accordance with the calculation results in the graph illustrated in
Accordingly, when expression with the function of a in view of the minimum value is attempted, Mathematical Expression (36) may be obtained.
δx(α)=min(δx_min, f(α)) (36)
Subsequently, the CPU 11 generates a rotation matrix T, which is indicated in Mathematical Expression (37), using the value of ox.
The rotation matrix T is a matrix for rotating the magnetization vector mjn+1 adjacent to the magnetization vector min+1 of interest by angle α(1.0−δx) about a rotation axis That is, the rotation matrix T is a matrix by which the magnetization vector mjn+1 at the time point n+1 is multiplied so as to approach the magnetization vector mjn+1. Here, rotating the magnetization vector mn+1 of interest to have m*,n+1 is insufficient to contribute the stabilization of the calculation. By forming the magnetization vector m*,n+1 in the vicinity through the multiplication performed on the adjacent magnetization vector, “increase in each time increment”, which is a feature of the linear implicit method, may be achieved.
Mathematical Expression (38) is a conversion equation for making the magnetization vector mjn+1 closer to the magnetization vector m*,n+1 in the vicinity of the magnetization vector min+1 using the matrix T. The CPU 11 reads Mathematical Expression (38) and multiplies the magnetization vector mjn+1 by the matrix T to calculate the magnetization vector m*,n+1 in the vicinity.
m{right arrow over (m)}
*,n+1
=T{right arrow over (m)}
j
n+1 (38)
Since the magnetization vector m* in the vicinity may be expressed with the adjacent magnetization vector mjn+1 at the time point n+1 accordingly, the linear implicit method may be applied to the angle interpolation. Thus, the exchange coupling magnetic field using the angle interpolation may be expressed by Mathematical Expression (39).
The second term on the right-hand side of Mathematical Expression (39) is a term that expresses the virtual magnetization vector m*,n+1 with the adjacent magnetization vector mjn+1. In course of convergence into a stable state, mn equals mn+1 and thus, calculating the rotation axis of the rotation matrix T using the magnetization vector at the time point n brings no problem to the calculation accuracy after the convergence. In the conventional technique, the matrices of the exchange coupling of the element i and the element j are the same. The matrices of the exchange coupling of the element i and the element j using the angle interpolation are different, however. So, the coefficient matrix of the exchange coupling of the element i is denoted as Gi,ex and the coefficient matrix of the exchange coupling of the element j is denoted as Gi,ex. In the conventional technique, Gan and Fi are the same in value.
Mathematical Expression (39) enables the coefficients to be expressed by Mathematical Expressions (40) and (41).
Thus, simultaneous equations using the angle interpolation may be expressed by Mathematical Expression (42).
A method of creating overall simultaneous equations is now described. In the description about the coefficient matrices, the relation between the element i and the element j adjacent to the element i is used. Since, in actuality, the number of elements that are present equals the number of meshes, the number of magnetization vectors allocated to the elements equals the number of meshes. Described below is a creation procedure of simultaneous equations for six elements provided with numbers one to six. Mathematical Expression (41) is an equation for the element i in view of the element j adjacent to the element i.
The simultaneous equations where mi is expressed with the vectors may be expressed by Mathematical Expression (43).
The simultaneous equations determine a sum by taking all combinations of the element j adjacent to the element i into account. For example, the elements adjacent to the element 1 are the elements 2 and 4 and accordingly, in the coefficient matrix A in the first row, A1,1, A1,2, and A1,4 indicate non-zero and the rest indicate zero. Similarly, when simultaneous equations are created using the adjacent relations among the elements, Mathematical Expression (44) is obtained.
Specific values of A1,1, A1,2, and A1,4 may each be expressed by Mathematical Expression (45).
The coefficient matrix A may be expressed by Mathematical Expression (46) when generalized.
When the number of elements is N, simultaneous equations with the size of 3N×3N, where each magnetization vector component is an unknown quantity, are created by the above-described techniques.
The CPU 11 determines whether or not the calculated angle α is larger than the minimum value of a initialized in step S151 and is smaller than the maximum value of a (step S154). When the CPU 11 determines that the calculated angle α is larger than the minimum value of a initialized and is smaller than the maximum value of a (YES in step S154), the CPU 11 causes the process to proceed to step S155. The CPU 11 reads a linear equation (see Mathematical Expression (35)), which is defined based on two pairs of distances and angles initialized in step S151, that is, αA, δxA, αB, and δxB, from the storage part 15 (step S155).
The CPU 11 calculates optimum δx based on the angle α by referring to Mathematical Expressions (35) and (36) (step S156). The CPU 11 calculates the rotation axis based on the magnetization vectors that are adjacent to each other at the time point n by referring to Mathematical Expression (34) (step S157). The CPU 11 calculates the rotation matrix T using δx by referring to Mathematical Expression (37) (step S158).
The CPU 11 calculates an interpolation magnetization vector at the time point n+1, which is after the time point n, by referring to Mathematical Expression (38) (step S159). The CPU 11 calculates the exchange coupling magnetic field using the rotation matrix T by referring to Mathematical Expression (39) (step S161). After that, the CPU 11 causes the process to proceed to step S163. When the CPU 11 does not determine that the calculated angle α is larger than the minimum value of a initialized and is smaller than the maximum value of a (NO in step S154), the CPU 11 causes the process to proceed to step S162.
The CPU 11 calculates a conventional exchange coupling magnetic field by referring to Mathematical Expression (13) (step S162). After that, the CPU 11 causes the process to proceed to step S163. The CPU 11 generates a coefficient matrix (Gan, Gi,ex, Gi,ex) of the linear implicit method by referring to Mathematical Expressions (40) to (42) (step S163).
The CPU 11 determines whether or not the above-described process is complete for all the elements of the magnetization vectors (step S164). When the CPU 11 determines that the above-described process is incomplete (NO in step S164), the CPU 11 returns the process to step S153. When the CPU 11 determines that the above-described process is complete (YES in step S164), the CPU 11 causes the process to proceed to step S165. The CPU 11 generates simultaneous equations G{mn+1}=F by referring to Mathematical Expressions (43) to (46) (step S165).
The CPU 11 calculates a magnetization vector mn+1=G−1F by solving the simultaneous equations (step S166). The CPU 11 calculates a residual dmn+1 =max|mn+1−mn| of the magnetization vector (step S167). The CPU 11 determines whether or not the residual is smaller than c initialized in step S151 (step S168). When the CPU 11 determines that the residual is not smaller (NO in step S168), the CPU 11 causes the process to proceed to step S169. The CPU 11 increments the time point n to have the time point n+1, which is after the time point n (step S169). Subsequently, the CPU 11 returns the process to step S153. When the CPU 11 determines that the residual is smaller than c (YES in step S168), the CPU 11 ends the process.
With regard to Embodiment 2 described above, what is not mentioned is similar to Embodiment 1 and thus, the same references are given to corresponding constituents and detailed explanations thereof are omitted.
The computer 1 illustrated in
With regard to Embodiment 3 described above, what is not mentioned is similar to Embodiments 1 and 2 and thus, the same references are given to corresponding constituents and detailed explanations thereof are omitted.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2015-089621 | Apr 2015 | JP | national |