SIMULATION DEVICE, SIMULATION PROGRAM, AND SIMULATION METHOD

A simulation method for causing a computer to execute a process, the process includes: calculating, based on information associated with edge elements with which an acquired calculation target is modeled and information of Gaussian numerical integration points in a cell element surrounded by the plurality of edge elements, using a finite element method, a magnetic flux density vector for each of the Gaussian numerical integration points, and calculating a magnetization vector for each of the Gaussian numerical integration points, based on the magnetic flux density vector and a plurality of microscopic magnetization vectors associated with the Gaussian numerical integration points.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-174874, filed on Sep. 4, 2015, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a simulation device, a simulation program, and a simulation method.

BACKGROUND

A method in which magnetic field analysis is performed using a finite element method has been described in Takahashi, Norio, “Optimization using magnetic field system finite element method”, Morikita Publishing Co., Ltd., May 2001, and Honma, Toshihisa, Igarashi, Hajime, and Kawaguchi, Hideo, “Calculation electrical and electronics engineering series 14, Numerical electromagnetic dynamics—Foundation and application—”, Morikita Publishing Co., Ltd., July 2002.

An analysis method in which magnetic field analysis using a finite element method and calculation of a magnetization vector based on the Landau-Lifshitz-Gilbert (LLG) equation are alternately performed to analyze characteristics of a magnetic body has been described in Japanese Laid-open Patent Publication No. 2013-131072. The LLG equation used herein is an equation which may be used to represent an effect of a magnetic field on a ferromagnetic substance.

An analysis method in which, when iterative calculation based on the LLG equation is used, if a change amount of a calculated magnetization vector exceeds a predetermined value, the magnetization vector is recorded has been described in Japanese Laid-open Patent Publication No. 2015-103189.

The relationship between the intensity of a magnetic field that is externally applied to a magnetic material and the intensity of magnetization that is generated in the magnetic material depends on the intensity of an external magnetic field that has been previously applied to the magnetic material. This characteristic is called magnetic hysteresis. In each of the analysis methods of Takahashi, Norio, “Optimization using magnetic field system finite element method”, Morikita Publishing Co., Ltd., May 2001, and Honma, Toshihisa, Igarashi, Hajime, and Kawaguchi, Hideo, “Calculation electrical and electronics engineering series 14, Numerical electromagnetic dynamics—Foundation and application—”, Morikita Publishing Co., Ltd., July 2002, when magnetic field analysis is performed, it is not possible to take magnetic hysteresis into consideration with high accuracy.

In each of the analysis methods of Japanese Laid-open Patent Publication No. 2013-131072 and Japanese Laid-open Patent Publication No. 2015-103189, analysis accuracy depends largely on the number of divisions in modeling an analysis target. Therefore, in order to perform a highly accurate analysis, a preliminary analysis is performed using a plurality of models having different numbers of divisions in a stage in which the number of divisions for each model is determined. This increases the total calculation amount for all analysis process steps.

In one aspect, it is an object of the present disclosure to provide a simulation method in which a highly accurate simulation is performed with a small calculation amount, or the like.

SUMMARY

According to an aspect of the invention, in a simulation method for causing a computer to execute a process, the process includes: calculating, based on information associated with edge elements with which an acquired calculation target is modeled and information of Gaussian numerical integration points in a cell element surrounded by the plurality of edge elements, using a finite element method, a magnetic flux density vector for each of the Gaussian numerical integration points, and calculating a magnetization vector for each of the Gaussian numerical integration points, based on the magnetic flux density vector and a plurality of microscopic magnetization vectors associated with the Gaussian numerical integration points.

DESCRIPTION OF EMBODIMENTS

First Embodiment

FIG. 1is a diagram illustrating a configuration of a simulation device10. The simulation device10includes a central processing unit (CPU)12, memory, such as a main storage device13, an auxiliary storage device14, or the like, a communication unit15, an input unit16, a display unit17, and a bus. The simulation device10according to this embodiment uses an information device, such as a general-purpose personal computer, a tablet, or the like.

The CPU12is an arithmetic and control device that executes a program according to this embodiment and may be a processor, such as a microprocessor (MPU) or the like. As the CPU12, one or more CPUs, multi-core CPUs, or the like are used. The CPU12is coupled to each of a plurality of hardware components that form the simulation device10via the bus.

The main storage device13is a storage device, such as static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, or the like. Information used while processing is performed by the CPU12and a program that is executed by the CPU12are temporarily stored in the main storage device13.

The auxiliary storage device14is a storage device, such as SRAM, flash memory, a hard disk, a magnetic tape, or the like. A program that the CPU12is caused to execute, and various types of information, such as a magnetization vector database (DB)31, a magnetic flux density vector DB32, a microscopic magnetization vector DB33, a vector potential DB34, or the like, which are used for executing the program, are stored in the auxiliary storage device14.

The communication unit15is an interface that performs communication with a network, such as the Internet, an intranet, or the like, which is not illustrated inFIG. 1.

The input unit16is a device, such as a mouse, a keyboard, a touch panel, a pen tablet, a microphone, or the like, and is used when the simulation device10receives an operation input by a user. The display unit17is a device, such as a display, a printer, a plotter, and or the like, and displays a simulation result or the like.

FIG. 2is a view illustrating an example of an analysis target.FIG. 2is a view of an inductor41with a cutaway to illustrate an inner structure. The inductor41is a passive component that is used for various electric circuits. In this embodiment, three-dimensional magnetic field analysis of the inductor41is performed.

The inductor41includes a core42and a lead43. The shape of the core42is obtained by uniting two square plates with a square pillar interposed therebetween. As a material of the core42, for example, ferrite is used. The lead43is a metal wire wound around the pillar of the core42. As the lead43, a copper wire, an aluminum wire, or the like having an insulating coating is used.

Note that a target that is analyzed by the simulation device10is not limited to the inductor41illustrated inFIG. 2. The simulation device10may perform analysis of various devices and components, such as a motor, a transformer, a magnetic head, a memory device, a contactless feeding device, or the like, which use magnetism.

FIG. 3is a view illustrating an example in which an analysis target is divided. In this embodiment, the inductor41is divided by three-dimensionally reticulated edge elements51into hexahedral cell elements52, each of which is surrounded by twelve edge elements51. Note that, similar to the inductor41, the circumambient air of the inductor41is divided. Division of air is not illustrated.

Division is performed using a mesh division tool that has been conventionally used for analysis of a magnetic body using a finite element method. The mesh division tool receives input of analysis conditions, such as dimensions, a physical property value, constraint conditions, and initial conditions, the number of divisions, or the like of an analysis target and outputs a connection relation between the edge elements51and constraint conditions thereof, a positional relation between the edge elements51and Gaussian numerical integration points54(seeFIG. 5), which will be described later, and an arrangement having, as an element, a value associated with each Gaussian numerical integration point54and the corresponding edge elements51. The arrangement that has been output is stored in the auxiliary storage device14. In the following description, an operation of inputting analysis conditions to the mesh division tool and storing information used in subsequent analysis is called modeling.

The mesh division tool may be used to divide an analysis target, for example, by using pentahedral elements or tetrahedral elements. Also, the mesh division tool may be used to divide an analysis target, for example, by using hexahedral elements, pentahedral elements, and tetrahedral elements in combination.

FIG. 4is a view illustrating the edge elements51.FIG. 4is a view illustrating three successive cell elements52of an analysis target. Adjacent cell elements52share corresponding edge elements51. Serial numbers are given to the edge elements51.

FIG. 5is a view illustrating Gaussian numerical integration points54and a divided element56.FIG. 5is a view illustrating a single cell element52of an analysis target. The cell element52includes eight Gaussian numerical integration points54therein. Serial numbers (not illustrated) are given to the Gaussian numerical integration points54. The Gaussian numerical integration points54are virtual points that are used to efficiently perform calculation of a finite element method.

The cell element52is divided into eight divided elements56, each of which includes an associated one of the Gaussian numerical integration points54. A single divided element56is indicated by the alternating long and two-short-dashes line.

Note that the number of the Gaussian numerical integration points54differs depending on the shape of the cell elements52used. For example, a quadrangular element that is used in two-dimensional analysis includes four Gaussian numerical integration points54. Accordingly, the quadrangular element is divided into four divided elements56.

FIG. 6is a view illustrating microscopic magnetization vectors m61.FIG. 6is a view illustrating a single divided element56of the cell element52. About 500,000 elements58are arranged in the single divided element56. In this embodiment, the elements58are arranged at random.

Each of the elements58has a microscopic magnetization vector m61. The microscopic magnetization vector m61is a one-dimensional vector that has components in three directions x, y, and z. For each divided element56, serial numbers starting with 1 (not illustrated) are given to the microscopic magnetization vectors m61.

By calculating an average vector of the microscopic magnetization vectors m61in a single divided element56, a magnetization vector M associated with the Gaussian numerical integration points54in the divided element56may be calculated. The magnetization vector M used herein is a vector that indicates the intensity of magnetization that is generated in the divided element56when a magnetic field is externally applied and that indicates the orientation of the magnetization. The average vector is a vector calculated by averaging the components of each magnetization vector M in the three directions x, y, and z for each direction. The magnetization vector M is a one-dimensional vector having components in the three directions x, y, and z.

Also, by calculating the average vector of all of the microscopic magnetization vectors m61included in the cell element52including the Gaussian numerical integration points54, the magnetization vector <M> associated with the cell element52may be calculated.

Note that the elements58may be elements obtained by dividing the divided element56into hexahedrons, pentahedrons, tetrahedrons, or the like. Thus, highly accurate analysis considering a static magnetic field and an exchange coupling field between the elements58may be performed.

FIG. 7AandFIG. 7Bare views illustrating a vector potential A, a magnetic flux density vector B, and a magnetization vector M. Each ofFIG. 7AandFIG. 7Bis a view illustrating a single cell element52of an analysis target.FIG. 7Aillustrates an initial state of nth iterative calculation, andFIG. 7Billustrates an initial state of (n+1)th iterative calculation.

As described above, the single cell element52is surrounded by twelve edge elements51. Also, in the single cell element52, there are eight Gaussian numerical integration points54. The vector potential A is associated with the edge elements51. The magnetic flux density vector B and the magnetization vector M are associated with the Gaussian numerical integration points54.

In this case, the vector potential A used herein is an unknown that is used in performing magnetic field analysis using a finite element method. The magnetic flux vector B is a vector that indicates a magnetic flux surface density. The magnetic flux density vector B is a one-dimensional vector having components in the three directions x, y, and x.

The following description will be given using an example including an Sth edge element51S, a Tth edge element51T, a Uth Gaussian numerical integration point54U, and a Vth Gaussian numerical integration point54V. In the following description, a subscript denotes the number of the edge element51or the Gaussian numerical integration point54, and a superscript denotes the number of times calculation is performed. For example, a vector potential ATndenotes the vector potential A associated with the Tth edge element51T in the initial state of the nth repeated calculation. A magnetic flux density vector Bundenotes the magnetic flux density vector B associated with the Uth Gaussian numerical integration point54in the initial state of the nth repeated calculation. A magnetization vector Mvndenotes the magnetization vector M associated with the Vth Gaussian numerical integration point54in the initial state of the nth repeated calculation.

As illustrated inFIG. 7B, when single repeated calculation is performed, the vector potential ATnchanges to a vector potential ATn+1, the magnetic flux density vector Bunchanges to a magnetic flux density vector Bun+1, and the magnetization vector Mvnchanges to a magnetization vector Mvn+1. Note that there may be cases where, if the number of the element is clear and if it is not desired to distinguish the number of the element, the subscript is omitted. Also, there may be cases where, if the number of times repeated calculation is performed is clear and if it is not desired to distinguish the number of times repeated calculation is performed, the superscript is omitted.

FIG. 8is a table illustrating the layout of a record of a magnetization vector DB31. The magnetization vector DB31is a DB that associates the number of times repeated calculation is performed and the magnetization vector M with each other. The magnetization vector DB31includes a number filed and fields with serial numbers, that is, an element1field to an element G field. InFIG. 8, G denotes the total number of the Gaussian numerical integration points54included in an analysis target. The magnetization vector DB31includes a single record for each repeated calculation.

In the number field, the number of times repeated calculation is performed is recorded. In the fields from the element1field to the element G field, each of the elements of the magnetization vector M associated with the Gaussian numerical integration point54of each number in the x, y, and z directions is recorded.

FIG. 9is a table illustrating the layout of a record of a magnetic flux density vector DB32. The magnetic flux density vector DB32is a DB that associates the number of times repeated calculation is performed and the magnetic flux density vector B with each other. The magnetic flux density vector DB32includes a number field and fields with serial numbers, that is, an element field1to an element G field. The magnetic flux density vector DB32includes a single record for each repeated calculation.

In the number field, the number of times repeated calculation is performed is recorded. In the fields from the element1field to the element G field, each of the elements of the magnetic flux density vector B associated with the Gaussian numerical integration point54of each number in the x, y, and z directions is recorded.

FIG. 10is a table illustrating the layout of a record of a microscopic magnetization vector DB33. The microscopic magnetization vector DB33is a DB that associates the number of an element and a microscopic magnetization vector m61with each other. The microscopic magnetization vector DB33includes a Gaussian numerical integration point field and fields with serial numbers, that is, an element1field to an element Nm field. InFIG. 10, Nm denotes the number of the elements58in the divided element56including the Gaussian numerical integration point54with a number recorded in the Gaussian numerical integration point field. The microscopic magnetization vector DB33includes a single record for each single Gaussian numerical integration point54. Note that, if there are divided elements56having different shapes in a mixed manner, the number of element fields may differ depending on the record.

In the Gaussian numerical integration point field, the number of each Gaussian numerical integration point54is recorded. In the fields from the element1field to the element Nm field, each of the elements of the microscopic magnetization vectors m61associated with elements in the divided element56including the Gaussian numerical integration point54of each number recorded in the Gaussian numerical integration point field in the x, y, and z directions is recorded. Note that, when the number of the microscopic magnetization vector m61is displayed, the number given to the corresponding element58and the number of the Gaussian numerical integration point54associated with the divided element56are displayed as a subscript, the numbers being separated by a comma. For example, a microscopic magnetization vector mNm, Gn61denotes the microscopic magnetization vector m61associated with the Nmth element58in the divided element56including the Gth Gaussian numerical integration point54in the initial state of the nth repeated calculation. Each time repeated calculation is performed, the microscopic magnetization vector DB33is rewritten to the latest value.

FIG. 11is a table illustrating the layout of a record of a vector potential DB34. The vector potential DB34is a DB that associates the number of each of the edge elements51and the corresponding vector potential A with each other. The vector potential DB34includes fields with serial numbers, that is, an element1field to an element J field. InFIG. 11, J denotes the total number of the edge elements51included in an analysis target. The vector potential DB34includes a single record. Note that each vector potential A is a vector quantity having an associated x, y, and z component.

In the fields from the element1field to the element J field, the vector potential A associated with the edge element51of each number is recorded. Each time iterative calculation is performed, the vector potential DB34is updated with a newly calculated value of the vector potential A.

FIG. 12is a chart illustrating an outline of a simulation method. In this embodiment, magnetic field analysis using a finite element method and hysteresis model calculation are alternately executed. The output of magnetic field analysis using a finite element method is the magnetic flux density vector B associated with each Gaussian numerical integration point54. The output of hysteresis model calculation is the magnetization vector M associated with each Gaussian numerical integration point54.

An outline of magnetic field analysis using a finite element method will be described. The CPU12solves J simultaneous equations of Expression (1), by using the nth vector potential Anand the nth magnetization vector Mn, which are knowns, and parameters, such as a magnetic permeability or the like, which indicate characteristics of an analysis target, and calculates the (n+1)th vector potential AJn+1, which is an unknown.

J: the number of the edge elements51,

AJn: an initial value of the vector potential A associated with the Jth edge element51in nth iterative calculation of a finite element method,

G: the number of the Gaussian numerical integration points54in the analysis target,

Δt: a first time that indicates a time interval for the iterative calculation of the finite element method,

CIJ, g: a value that corresponds to the gth Gaussian numerical integration point54,

dIJ, g: a value that corresponds to the gth Gaussian numerical integration point54,

eI, g: a value that corresponds to the gth Gaussian numerical integration point54,

fI, g: a value that corresponds to the gth Gaussian numerical integration point54,

J0: an exciting current that is caused to flow in the lead43,

Mg: the magnetization vector M that corresponds to the gth Gaussian numerical integration point54, and

CIJ, g, dIJ, g, eI, g, and fI,gare elements in an arrangement that has been generated by the mesh division tool and stored in the auxiliary storage device14.

Note that the same symbol is used to indicate the same parameter in expressions described below. Therefore, the description of a symbol that has already been described will be omitted when the symbol appears subsequently.

The CPU12acquires the vector potential AJnthat was calculated in previous iterative calculation from the vector potential DB34. Note that, no record is recorded in the vector potential DB34by first iterative calculation, all of elements of the vector potential AJnare set to a specific value, that is, for example, zero. The first time Δt is a time of about one nanosecond to one second, which is selected by a user in accordance with an analysis target and an object for which analysis is performed.

The CPU12records, in the vector potential DB34, the vector potential A that was calculated in accordance with Expression (1).

The CPU12calculates the (n+1)th magnetic flux density vector Bgn+1associated with the gth Gaussian numerical integration point54in accordance with Expression (2).

Bgn: the (n+1)th magnetic flux vector B associated with the gth Gaussian numerical integration point54,

Ni, gan interpolation function set for the ith edge element51associated with the cell element52including the gth Gaussian numerical integration point54, and

Ai, gn+1: an initial value of the vector potential A associated with the ith edge element51that surrounds the cell element52including the gth Gaussian numerical integration point54in the (n+1)th iterative calculation of the finite element method.

An interpolation function N is a function that is used to indicate a physical quantity at an arbitrary point on an edge element51. The interpolation function N is a function that has been used in analysis using a finite element method, and therefore, the description thereof will be omitted.

Thus, the CPU12completes single iterative calculation of the magnetic field analysis using the finite element method. The CPU12records the magnetic flux density vector B that has been calculated in accordance with Expression (2) in the magnetic flux density vector DB32. Thereafter, the CPU12performs processing of hysteresis model calculation, an outline of which will be described below.

The CPU12calculates the (n+1)th effective magnetic field Heff, gn+1associated with the gth Gaussian numerical integration point54in accordance with Expression (3).

Heff, gn: the nth effective magnetic field associated with the gth Gaussian numerical integration point54,

Hani, g: a magneto-crystalline anisotropy magnetic field vector associated with the gth Gaussian numerical integration point54,

μ0: a vacuum magnetic permeability,

<Mg>: the magnetization vector M associated with the cell element52that includes the gth Gaussian numerical integration point54, and

Hexternal, g: an external magnetic field vector associated with the gth Gaussian numerical integration point54.

In performing modeling of an analysis target, the magneto-crystalline anisotropy magnetic field vector Hani, gand the external magnetic field vector Hexternal, gare set, based on the physical property value of the analysis target and initial conditions for the analysis target, and are stored in the auxiliary storage device14. The vacuum magnetic permeability μ0is a physical constant, and is stored in the auxiliary storage device14.

The CPU12may generate a DB in which the effective magnetic field Heff, gn+1that has been calculated in accordance with Expression (3) is recorded and store the DB in the auxiliary storage device14.

The CPU12performs numerical integration of the LLG equation indicated in Expression (4), and calculates a microscopic magnetization vector mi, g61after a second time dt has elapsed. The microscopic magnetization vector mi, g61denotes the microscopic magnetization vector m61associated with the ith element in the divided element56including the gth Gaussian numerical integration point54.

mi, gthe ith microscopic magnetization vector m61associated with the ith element58in the divided element56that includes the gth Gaussian numerical integration point54,

dt: the second time that indicates a time interval of the iterative calculation of the LLG equation,

γ: a gyro magnetic constant, and

The CPU12updates information recorded in the microscopic magnetization vector DB33with the microscopic magnetization vector m61that has been calculated in accordance with Expression (4).

The gyro magnetic constant γ is a physical constant, and is stored in the auxiliary storage device14. The damping constant α is a constant that is used in the LLG equation, and is stored in the auxiliary storage device14. It is preferable to use, as the second time dt, a time of about one picosecond to several picoseconds.

The CPU12calculates the magnetization vector Mgthat is an average of the microscopic magnetization vectors m61in each divided element56in accordance with Expression (5).

where Nm denotes the number of elements58in the divided element56that includes the gth Gaussian numerical integration point54.

The CPU12calculates the effective magnetic field Heff, gn+1in accordance with Expression (3) again by using the magnetization vector Mgthat has been calculated in accordance with Expression (5) and performs iterative calculation to calculate a next magnetization vector Mgusing Expression (4) and Expression (5) in order.

If it is determined, based on a predetermined condition, that the magnetization vector Mghas converged, the CPU12terminates iterative processing of hysteresis model calculation. The CPU12records the magnetization vector M that has been calculated in accordance with Expression (5) in the magnetization vector DB31. Thereafter, the CPU12causes the process to return to the magnetic field analysis using the finite element method, and calculates a new vector potential AJ, based on the simultaneous equations of Expression (1), using the magnetization vector Mgthat has been obtained by the hysteresis model calculation.

By performing the above-described iterative calculation in which magnetic field analysis using a finite element method and hysteresis model calculation are alternately performed, the CPU12calculates the magnetization vector M and the magnetic flux density vector B for every first time Δt, and records a result of the calculation. If a predetermined condition is satisfied, the CPU12terminates the processing.

By visualizing the magnetization vector M recorded in the magnetization vector DB31or the magnetic flux density vector B recorded in the magnetic flux density vector DB32, the user may know a distribution state of magnetism that is generated by the inductor41, which is an analysis target, the intensity of the magnetism, or the like. Also, by calculating all of magnetic fluxes passing through the inductor41from the magnetic flux density vector B and dividing a result of the calculation by the exciting current J0that is caused to flow through the lead43, the inductance of the inductor41may be calculated.

FIG. 13is a flow chart illustrating a flow of processing of a program. A flow of processing of a program will be described with reference toFIG. 13.

The CPU12sets a counter k to an initial value 0 (Step S501). The CPU12acquires a record that was recorded last from the magnetization vector DB31, and records the acquired record in a variable vector Mold(Step S502). Note that, if there is not any record that was recorded in the magnetization vector DB31by first iterative calculation, all of elements of the variable vector Moldare set to, for example, zero.

The CPU12starts a subroutine of magnetic field analysis (Step S503). The subroutine of magnetic field analysis is a subroutine in which the magnetic field analysis using the finite element method, which has been described with reference toFIG. 12, is performed. A flow of processing of the subroutine of the magnetic field analysis will be described later. The CPU12starts a subroutine of hysteresis model calculation (Step S504). The subroutine of the hysteresis model calculation is a subroutine in which the hysteresis model calculation, which has been described with referenceFIG. 12, is performed. A flow of processing of the subroutine of the hysteresis model calculation will be described later.

The CPU12calculates a maximum value ΔM of a change amount of the magnetization vector M in accordance with Expression (6) (Step S505). Specifically, a difference vector between the magnetization vector Mkthat was calculated in the subroutine of the hysteresis model calculation of Step S504and the variable vector Moldthat was recorded in Step S502is calculated for each Gaussian numerical integration point54. The absolute value of each difference vector is calculated, and the maximum value ΔM thereof is extracted.

The CPU12determines whether or not ΔM that was calculated in Step S505is less than a predetermined threshold (Step S506). If ΔM is not less than the predetermined threshold (NO in Step S506), the CPU12causes the process to return Step S502.

If ΔM is less than the predetermined threshold (YES in Step S506), the CPU12determines whether or not the calculation is to be terminated (Step S507). Whether or not the calculation is to be terminated is determined, for example, depending on whether or not the counter k exceeds a predetermined value. Also, whether or not the calculation is to be terminated may be determined depending on whether or not each of the change amounts of the magnetization vector M and the magnetic flux density vector B has converged to a predetermined value or less, as compared to Step S507, which has been previously performed.

If it is determined that the calculation is not to be terminated (NO in Step S507), the CPU12adds 1 to the counter k (Step S508). The CPU12causes the process to return to Step S502. If it is determined that the calculation is to be terminated (YES in Step S507), the CPU12terminates the processing.

FIG. 14is a flow chart illustrating a flow of processing of a subroutine of magnetic field analysis. The subroutine of the magnetic field analysis is a subroutine in which the magnetic field analysis using the finite element method, which has been described with reference toFIG. 12. A flow of processing of the subroutine of the magnetic field analysis will be described with reference toFIG. 14.

The CPU12acquires the vector potential A that has been recorded from the vector potential DB34(Step S521). The vector potential that was acquired in Step S521is an initial value of the vector potential A of iterative calculation that corresponds to the counter k, and therefore, will be referred to as a vector potential Akin the following description.

The CPU12constructs simultaneous equations of a finite element method (Step S522). Specifically, the CPU12calculates a coefficient of each term of Expression (1), which has been described above, using an arrangement that was output by the mesh arrangement tool. The CPU12calculates a (k+1)th vector potential Ak+1in accordance with Expression (1) (Step S523). The CPU12records the vector potential Ak+1, which was calculated in Step S523, in the vector potential DB34(Step S524).

The CPU12calculates a (k+1)th magnetic flux density vector Bk+1in accordance with Expression (2), which has been described above (Step S525). The CPU12records the magnetic flux density vector Bk+1, which was calculated in Step S525, in the magnetic flux density vector DB32(Step S526). Thus, the CPU12terminates the processing.

FIG. 15is a flow chart illustrating a flow of processing of a subroutine of hysteresis model calculation. The subroutine of the hysteresis model calculation is a subroutine in which the hysteresis model calculation, which has been described with reference toFIG. 12, is preformed. A flow of processing of the hysteresis model calculation will be described with reference toFIG. 15.

The CPU12sets a counter g to an initial value 1 (Step S541). The CPU12acquires the microscopic magnetization vector m61associated with the gth Gaussian numerical integration point54from the microscopic magnetization vector DB33(Step S542). Specifically, the CPU12acquires a gth record from the microscopic magnetization vector DB33. The CPU12calculates the gth effective magnetic field Heffin accordance with Expression (3) (Step S543). In this case, for Bgn+1in Expression (3), a record that was recorded last in the magnetic flux density vector DB32is acquired and thus is used. For <Mg> in Expression (3), a vector obtained by averaging the microscopic magnetization vectors m61acquired in Step S541for each cell element52is used.

The CPU12sets a counter i to an initial value 1 (Step S544). The CPU12performs time integration of the ith LLG equation (Step S545). Specifically, the CPU12calculates dmi, g, which is an increment of the microscopic magnetization vector m61during the second time dt, in accordance with Expression (4), and adds a result of the calculation to the microscopic magnetization vector mi, g61, which was acquired in Step S542.

The CPU12determines whether or not processing of the microscopic magnetization vector m61associated with the gth Gaussian numerical integration point54has been terminated (Step S546). Specifically, the CPU12determines whether or not time integration for all of the microscopic magnetization vectors m61associated with the elements58in the divided element56that includes the gth Gaussian numerical integration point54, based on Expression (4), has been terminated.

If it is determined that the processing has not been terminated (NO in Step S546), the CPU12adds 1 to the counter i (Step S547). Thereafter, the CPU12causes the process to return to Step S545. If it is determined that the processing has been terminated (YES in Step S546), the CPU12updates the microscopic magnetization vector m61that was recorded in the gth record of the microscopic magnetization vector DB33to a value calculated in Step S545(Step S548).

The CPU12determines whether or not processing has been terminated for all of the Gaussian numerical integration points54(Step S551). If it is determined that the processing has not been terminated (NO in Step S551), the CPU12adds 1 to the counter g (Step S552). Thereafter, the CPU12causes the process to return to Step S542.

If it is determined that the processing has been terminated (YES in Step S551), the CPU12records the magnetization vector M in the magnetization vector DB31(Step S553). Specifically, the CPU12averages the microscopic magnetization vectors m61for each the divided element56to calculate the magnetization vector M. The CPU12generates a new record in the magnetization vector DB31, and records the magnetization vector M.

The CPU12determines whether or not iterative calculation has been terminated a predetermined number of times (Step S554). The predetermined number of times is, for example, about 300 to 400. If it is determined that the processing has not been terminated (NO in Step S554), the CPU12causes the process to return to Step S541. If it is determined that the processing has been terminated (YES in Step S554), the CPU12terminates the processing.

FIG. 16AtoFIG. 16Fare views each illustrating an example in which the number of divisions of an analysis target is changed.FIG. 17is a graph illustrating a convergent state of an analysis result. Characteristics of the program according to this embodiment will be described with reference toFIG. 16A,FIG. 16B, andFIG. 17.

In general, in analysis that is performed using a finite element method, as the number of divisions of an analysis target increases, calculation accuracy increases and, when the number of divisions is a certain number or more, a calculation result converges. On the other hand, as the number of divisions of an analysis target increases, a calculation amount increases. Therefore, in performing analysis using a finite element method, preliminary analysis is performed in advance to determine the number of divisions, which is to be used.

FIG. 16AtoFIG. 16Fare views illustrating example models that were used in a preliminary examination.FIG. 16AtoFIG. 16Fare front views of an analysis target according to this embodiment, illustrating only the core42of the analysis target. The number of divisions is denoted by a division number Nw that indicates the number of divided parts into which a narrow part of the core42is divided in a lateral direction of each ofFIG. 16AtoFIG. 16F.FIG. 16Aillustrates a case of the division number Nw=4,FIG. 16Billustrates a case of the division number Nw=6,FIG. 16Cillustrates a case of the division number Nw=8,FIG. 16Dillustrates a case of the division number Nw=10,FIG. 16Eillustrates a case of the division number Nw=14, andFIG. 16Fillustrates a case of the division number Nw=20. Note that, when viewed from a direction other than the front, the core42is divided in a similar manner to that inFIG. 16AtoFIG. 16F. Also, the lead43and circumambient air are divided in a similar manner to that in which the core42is divided.

FIG. 17is a graph illustrating an analysis result obtained by inputting each of the models illustrated inFIG. 16AtoFIG. 16Fto the program according to this embodiment to calculate the inductance of the inductor41of an analysis target. InFIG. 17, the abscissa axis indicates the division number Nw. The ordinate axis indicates the inductance. The unit for the ordinate axis is nano-Henry. Each black circle indicates a result of calculation performed using the program according to this embodiment. Each black square indicates a result in a comparative example, which was obtained by analyzing the corresponding one of the same models using the known method described in Japanese Laid-open Patent Publication No. 2013-131072.

In this embodiment, the inductance is substantially the same in analysis results for the cases in which the division number is 4 to 20. Therefore, the division number Nw is preferably 4. On the other hand, in the comparative example, the inductance largely varies in analysis results for the cases in which the division number Nw is 4 to 14. Therefore, it is preferable to use 16 as the division number Nw.

Thus, in the program according to this embodiment, there are less fluctuations in analysis results in terms of the value of the division number Nw, as compared to the comparative example. Therefore, a preliminary examination in which the number of divisions is determined may be terminated in a short time, and a proper number of divisions may be set.

Next, an rough estimate of a difference in calculation amount between the program according to this embodiment and the comparative example will be described. As described above, the following description will be given using, as an example, a case where, when the program according to this embodiment is used, the division number Nw is 4 and, in the comparative example, the division number Nw is 16. The division number Nw according to this embodiment is ¼ of that of the comparative example. Each of the numbers of the edge elements51and the cell elements52is proportional to the cube of the number of divisions. Therefore, each of the numbers of the edge elements51and the cell elements52according to this embodiment is 1/64 of the corresponding one of the numbers of the edge elements51and the cell elements52in the comparative example. A calculation amount of a finite element method is proportional to the number of elements. Therefore, the calculation amount of the finite element method according to this embodiment is 1/64 times of that of the comparative example due to the difference in the division number Nw.

In this embodiment, the magnetization vector M and the magnetic flux density vector B are calculated for each Gaussian numerical integration point54. As described above, a single one of the cell elements52includes eight Gaussian numerical integration points54. On the other hand, in the comparative example, the magnetization vector M and the magnetic flux density vector B are calculated for each cell element52. The amount of hysteresis model calculation is proportional to the number of points at which the magnetization vector M and the magnetic flux density vector B are calculated. Therefore, the amount of hysteresis model calculation according to this embodiment is eight times of that of the comparative example due to performing calculation for each Gaussian numerical integration point54.

When 1/64 times, which is the ratio of the calculation amount of the finite element method, and eight times, which is the ratio of the amount of hysteresis model calculation, are multiplied together, and the calculation amount according to this embodiment is ⅛ of that of the comparative example.

Thus, using the program according to this embodiment, a proper number of divisions may be determined using a smaller preliminary examination amount than that of the comparative example, and furthermore, the calculation amount when analysis is performed with the proper number of divisions is reduced to ⅛ of that of the comparative example. That is, highly accurate simulation may be performed with a small calculation amount.

A rough estimate of the calculation amount when two-dimensional analysis is performed on a similar calculation target using quadrangular elements will be described using, as an example, a case where the proper division number Nw is ¼. Each of the numbers of the edge elements51and the cell elements52in the two-dimensional analysis is proportional to the square of the number of divisions. Therefore, the calculation amount of the finite element method is 1/16. Also, as described above, a single quadrangular element includes four Gaussian numerical integration points54, and therefore, the amount of hysteresis model calculation is four times larger. Accordingly, when quadrangular elements are used, the calculation amount is reduced to ¼ of that of the comparative example.

Second Embodiment

This embodiment is related to a program used for determining, based on whether or not the magnetization vector M has converged, whether or not iterative processing of hysteresis model calculation is terminated, or the like. Note that the description of each part in common with the first embodiment will be omitted.

FIG. 18is a flow chart illustrating a flow of processing of a program according to a second embodiment. A flow of processing according to this embodiment will be described with reference toFIG. 18.

The CPU12sets the counter k to an initial value 0 (Step S501). The CPU12starts a subroutine of magnetic field analysis (Step S503). As the subroutine of the magnetic field analysis, the same subroutine as the subroutine that has been described with reference toFIG. 14is used.

The CPU12starts a subroutine of hysteresis model calculation (Step S571). The subroutine of the hysteresis model calculation is a subroutine in which the hysteresis model calculation, which has been described with reference toFIG. 12, is performed. A flow of processing of the subroutine of the hysteresis model calculation according to this embodiment will be described later.

The CPU12determines whether or not calculation is to be terminated (Step S507). Whether or not the calculation is to be terminated is determined, for example, depending on whether or not the counter k exceeds a predetermined value.

If it is determined that the calculation is not to be terminated (NO in Step S507), the CPU12adds 1 to the counter k (Step S508). The CPU12causes the process to return to Step S503. If it is determined that the calculation is to be terminated (YES in Step S507), the CPU12terminates the processing.

FIG. 19is a flow chart illustrating a flow of processing of a subroutine of hysteresis model calculation according to the second embodiment. The subroutine of the hysteresis model calculation is a subroutine in which the hysteresis model calculation, which has been described with reference toFIG. 12, is performed. A flow of processing of the hysteresis model calculation according to this embodiment will be described with reference toFIG. 19.

Up to Step S552, the same processing as that of the subroutine of the hysteresis model calculation according to the first embodiment, which has been described with reference toFIG. 15, is performed, and therefore, the description thereof will be omitted.

If it is determined that processing has been terminated for all of the Gaussian numerical integration points54(YES in Step S551), the CPU12calculates a maximum value ΔM of the change amount of the magnetization vector M in accordance with Expression (7) (Step S591). Specifically, first, the magnetization vector Mkis calculated, based on the microscopic magnetization vector DB33that was updated in Step S548. The magnetization vector Mk−1that was recorded last is acquired from the magnetization vector DB31. A difference vector between Mkand Mk−1is calculated for each Gaussian numerical integration point54. The absolute value of each difference vector is calculated, and the maximum value ΔM thereof is extracted.

The CPU12determines whether or not ΔM, which was calculated in Step S505, is less than a predetermined threshold (Step S592). If ΔM is not less than the predetermined threshold (NO in Step S592), the CPU12causes the process to return to Step S541. If ΔM is less than the predetermined threshold (YES in Step S592), the CPU12records the magnetization vector M in the magnetization vector DB31(Step S593). Thereafter, the CPU12terminates processing.

According to this embodiment, the number of times hysteresis model calculation is repeated may be set to a minimum number.

Note that, in Step S592, based on whether or not ΔM is less than the threshold and the number of times a loop from the Step S541to Step S592is iterated in combination, whether or not the loop may be terminated may be determined. For example, if ΔM is less than the threshold and the number of times the loop is iterated exceeds a predetermined number of times, YES may be given in Step S592. Also, if ΔM is less than the threshold or if the number of times the loop is iterated exceeds a predetermined number of times, YES may be given in Step S592.

Third Embodiment

FIG. 20is a functional block diagram illustrating an operation of a simulation device10according to a third embodiment. The simulation device10operates in a manner described below, based on control performed by the CPU12.

A first acquisition unit71acquires information associated with an edge element51with which a calculation target is modeled and information of Gaussian numerical integration points54in a cell element52surrounded by a plurality of edge elements51. A first calculation unit72calculates a magnetic flux density vector B for each Gaussian numerical integration point54after a predetermined first time Δt has elapsed, based on the information associated with the edge elements51, using a finite element method. A second acquisition unit73acquires microscopic magnetization vectors m61of a plurality of elements58associated with the Gaussian numerical integration point54. A second calculation unit74calculates a magnetization vector M for each Gaussian numerical integration point54after a second time dt, which is shorter than the first time Δt, has elapsed, based on the magnetic flux density vector B and the microscopic magnetization vectors m61.

Fourth Embodiment

A fourth embodiment is an embodiment in which the simulation device10is realized by causing a general-purpose computer and a program28to operate in combination.FIG. 21is a diagram illustrating a configuration of the simulation device10according to the fourth embodiment. The configuration of this embodiment will be described with reference toFIG. 21. Note that the description of a part in common with the first embodiment will be omitted.

The simulation device10according to this embodiment includes a CPU12, memory, such as a main storage device13, an auxiliary storage device14, or the like, a communication unit15, an input unit16, a display unit17, a reading unit25, and a bus. The simulation device10may be an information processing device, such as a general-purpose personal computer or the like, and the CPU12may be a processor, such as a MPU or the like.

The program28is recorded in a portable recording medium27. The CPU12reads the program28via the reading unit25, and stores the program28in the auxiliary storage device14. Also, the CPU12may reads the program28stored in semiconductor memory26, such as flash memory or the like, which is mounted in the simulation device10. Furthermore, the CPU12may download the program28from another server computer (not illustrated) which is coupled thereto via the communication unit15and a network (not illustrated), and store the program28in the auxiliary storage device14.

The program28is installed as a control program of the simulation device10, is loaded to the main storage device13, and is executed. Thus, the information processing device functions as the above-described simulation device10.

Technical features (components) described in each of the above-described embodiments may be combined with one another, and such combination makes it possible to form a new technical feature.

The embodiments disclosed herein are provided merely for illustrative purpose in every respect and are not intended to be limiting in any aspect. The scope of the present disclosure is defined by the scope of claims rather than the above-described description, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.