Molecule kinetics calculation device, molecule kinetics calculation method, and program
By fixing the total charge amount of a given region in molecular dynamics calculation and connecting the charge system of the atoms to a multi-layer thermal bath, using motion equations and gradient methods to calculate the charge amount of atoms, the problems of large loads and insufficient flexibility in the calculation of the prior art are solved, and more efficient and flexible molecular dynamics calculations are achieved.
Patent Information
- Application Number
- JP2023163622
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-08
AI Technical Summary
In the prior art, when performing molecular dynamics calculations, especially when considering charge transfer, the calculation load is too large and the flexibility is insufficient, making it difficult to effectively deal with the limitations of different iible functional forms.
Using a method, the charge amount of each atom is calculated by fixing the total charge in a given region and connecting the charge system of each atom into a multi-layer thermal bath. In addition, the charge amount is calculated based on the energy gradient using a gradient method.
It reduces the load on molecular dynamics calculations, improves the flexibility and adaptability of calculations, can handle more complex charge transfer situations, and reduces the dependence on parameter adjustments.
Smart Images

Figure 2025054535000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a molecular dynamics calculation apparatus, a molecular dynamics calculation method, and a program. [Background technology]
[0002] Molecular dynamics (MD) Molecular dynamics (MD) calculations are widely used to elucidate behavior on the atomic and molecular scale. Molecular dynamics calculations are a method for simulating the motion of atoms and molecules by solving the equations of motion for particles, and are an essential tool for understanding the properties of substances, designing new materials, and improving existing materials.
[0003] The movement of atoms and molecules is based on the forces acting between atoms and molecules, and these forces are influenced by the position and charge of each atom. For example, if there is a difference in electronegativity between atoms, electrons are attracted to the atom with higher electronegativity, resulting in charge transfer. In addition, spatial asymmetry in the atomic arrangement can also cause charge transfer, resulting in uneven charge distribution. Such charge transfer can form new bonds between atoms and molecules or cause reactions to proceed. Therefore, when charge transfer plays an important role, it is necessary to consider charge transfer in molecular dynamics calculations.
[0004] The charge equilibration method (QEq method) is known as a method that takes charge transfer into account. By using the charge equilibration method, an appropriate charge can be assigned to each atom at each step of the molecular dynamics calculation, and the motion of atoms and molecules can be calculated taking charge transfer into account. However, the charge equilibration method requires solving simultaneous linear equations related to the charges of all atoms to be determined, which means that matrix operations are required. This poses the problem of an enormous computational load.
[0005] To address the above problem, a method for reducing the computational load of atomic charges has been proposed in Patent Document 1. Specifically, the computational load is reduced by identifying groups of atoms whose charges do not change at each step of the molecular dynamics calculation and excluding these groups of atoms from the calculation targets of the charge balancing method. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Patent No. 6031918 Summary of the Invention [Problem to be solved by the invention]
[0007] However, the method of Patent Document 1 also uses the charge balancing method to calculate the charge amount, so there is still a problem that the calculation load is high. In addition, the charge balancing method can only be used for functional forms that are differentiable to the second order or less with respect to the charge, and the degree of freedom is limited.
[0008] The present invention has been made in view of the above circumstances, and has an object to provide a molecular dynamics calculation device and the like that introduces a charge amount calculation method that is advantageous in terms of calculation load and versatility. [Means for solving the problem]
[0009] A first invention for solving the above-mentioned problems includes a storage unit for storing, for each atom included in an atomic group, the position coordinates, momentum coordinates or velocity coordinates, and charge of the atom, as well as an interaction pair list indicating atomic pairs between the atom and other atoms whose interactions are considered, and a charge calculation unit for calculating the charge of each atom that is the subject of charge calculation, the total charge of atoms included in a predetermined region being a predetermined fixed value, a charge system formed of the charges of each atom that is the subject of calculation being connected to a multi-layer heat bath formed of two or more layers, and an equation of motion for each charge being applied to calculate the charge of each atom, or the total charge of atoms included in the predetermined region being a predetermined fixed value. a charge amount calculation unit that calculates the charge amount of each atom by applying a gradient method based on an energy gradient obtained by differentiating a potential function describing the energy of interaction with respect to charge to a charge system formed of each charge of each atom to be calculated, with a predetermined fixed value of m, a molecular dynamics calculation unit that performs molecular dynamics calculations based on the charge amount of each atom and a descriptor of an interaction in each atom pair obtained by the charge amount calculation unit, and an update unit that updates the position coordinates and momentum coordinates or velocity coordinates of each atom based on the results of the molecular dynamics calculation by the molecular dynamics calculation unit.
[0010] A second invention is a molecular dynamics calculation method executed by a computer, comprising the steps of: storing, in a storage unit, for each atom included in an atomic group, the position coordinates, momentum coordinates or velocity coordinates, and charge of the atom, and an interaction pair list indicating an atomic pair between the atom and another atom whose interaction is to be considered; and calculating the charge of each atom to be calculated, in which the total charge of atoms included in a predetermined region is set to a predetermined fixed value, a charge system formed by each charge of each atom to be calculated is connected to a multi-layer heat bath formed of two or more layers, and an equation of motion for each charge is applied to calculate the charge of each atom, or This molecular dynamics calculation method includes the steps of: calculating the charge amount of each atom by applying a gradient method based on an energy gradient obtained by differentiating a potential function describing the energy of interaction by one or more orders of magnitude with respect to the charge to a charge system composed of the charges of each atom to be calculated, with the total charge amount of the atoms included in a region being a predetermined fixed value; performing a molecular dynamics calculation based on the charge amount of each atom obtained by the charge amount calculation step and a descriptor of the interaction in each atom pair; and updating the position coordinates and momentum coordinates or velocity coordinates of each atom based on the results of the molecular dynamics calculation.
[0011] The third invention is a computer including a memory unit for storing, for each atom included in an atomic group, the position coordinates, momentum coordinates or velocity coordinates, and charge of the atom, as well as an interaction pair list indicating atomic pairs between the atom and other atoms whose interactions are considered, and a charge amount calculation unit for calculating the charge amount of each atom that is the subject of charge calculation, the total charge amount of atoms included in a predetermined region being a predetermined fixed value, a charge system formed of each charge of each atom that is the subject of calculation being connected to a multi-layer heat bath formed of two or more layers, and an equation of motion for each charge being applied to calculate the charge amount of each atom, or a charge amount calculation unit for calculating the total charge amount of atoms included in the predetermined region being a predetermined fixed value. the charge amount of each atom is calculated by applying a gradient method based on an energy gradient obtained by differentiating a potential function describing the energy of interaction with respect to charge to a charge system composed of the charges of each atom to be calculated, with the charge amount set to a constant fixed value; a molecular dynamics calculation unit that performs molecular dynamics calculations based on the charge amount of each atom calculated by the charge amount calculation unit and a descriptor of the interaction in each atomic pair; and an update unit that updates the position coordinates and momentum coordinates or velocity coordinates of each atom based on the results of the molecular dynamics calculation by the molecular dynamics calculation unit. Effect of the Invention
[0012] According to the present invention, a molecular dynamics calculation device and the like are provided that introduces a charge amount calculation method that is advantageous in terms of calculation load and versatility. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 is a diagram illustrating an example of a hardware configuration of a computer used as a molecular dynamics calculation apparatus. [Diagram 2] FIG. 2 is a block diagram showing an example of a functional configuration of a molecular dynamics calculation apparatus. [Diagram 3] FIG. 2 is a diagram showing an example of atomic species data that stores the atomic species of each atom. [Figure 4] FIG. 2 is a diagram showing an example of position coordinate data storing the position coordinates of each atom. [Diagram 5] FIG. 13 is a diagram showing an example of momentum coordinate data that stores the momentum coordinates of each atom. [Figure 6] FIG. 13 is a diagram showing an example of charge amount data that stores the charge amount of each atom. [Figure 7] FIG. 13 is a diagram showing an example of an interaction pair list. [Figure 8] FIG. 13 is a diagram showing an example of charge amount calculation necessity storing information on whether or not the charge amount of each atom needs to be calculated; [Figure 9] 1 is a flowchart showing a process flow of a molecular dynamics calculation method. [Figure 10] FIG. 1 is a diagram comparing the features of charge amount calculation methods (method 1 and method 2). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, an embodiment of the present invention (referred to as "the present embodiment") will be described in detail with reference to the drawings.
[0015] FIG. 1 is a diagram showing an example of a hardware configuration of a molecular dynamics calculation apparatus 1 according to this embodiment. The molecular dynamics calculation apparatus 1 is a computer such as a personal computer or a server device. In the molecular dynamics calculation apparatus 1, a calculation unit 11, a memory 12, a storage unit 13, an operation unit 14, a display unit 15, a drive 16, a communication unit 17, and the like are connected via a bus 19. The molecular dynamics calculation apparatus 1 may be a multi-computer including a plurality of computers. Also, it may be a server-client system, a cloud server, or a virtual machine virtually constructed by software. In the following description, the molecular dynamics calculation apparatus 1 will be described as being one computer.
[0016] The calculation unit 11 is, for example, a central processing unit (CPU), a micro-processing unit (MPU), a graphics processing unit (GPU), Processing Unit), GPGPU (General-purpose computing on The computing unit 11 is an arithmetic processing device such as a graphics processing unit (TPU) or a tensor processing unit (TPU). The computing unit 11 may be configured using a quantum computer. The computing unit 11 reads out and executes a molecular dynamics calculation program 131 stored in the storage unit 13, thereby implementing the molecular dynamics calculation method ( FIG. 9 ) according to this embodiment.
[0017] The memory 12 is a volatile memory such as a DRAM (Dynamic RAM) or an SRAM (Static RAM), and temporarily stores the molecular dynamics calculation program 131 read from the storage unit 13 when the calculation unit 11 executes the calculation processing, or various data generated by the calculation processing of the calculation unit 11.
[0018] The storage unit 13 is, for example, a hard disk, an EEPROM (Electrically The storage unit 13 is a storage device such as a read only memory (ROM), an erasable programmable read only memory (ROM), a flash memory, etc. The storage unit 13 stores various programs executed by the calculation unit 11 and various data necessary for the processing of the calculation unit 11. The storage unit 13 stores a molecular dynamics calculation program 131 executed by the calculation unit 11 and various data necessary for the execution of the molecular dynamics calculation program 131.
[0019] The molecular dynamics calculation program 131 is recorded in a computer-readable manner, for example, on the recording medium 10. The storage unit 13 stores the molecular dynamics calculation program 131 read from the recording medium 10 by the drive 16 (reading device). The recording medium 10 is a semiconductor memory such as a flash memory, an optical disk, a magnetic disk, a magneto-optical disk, or the like. The molecular dynamics calculation program 131 may be stored in advance in the storage unit 13 of the molecular dynamics calculation device 1. Furthermore, the molecular dynamics calculation program 131 according to this embodiment may be downloaded from an external server (not shown) connected to a communication network and stored in the storage unit 13.
[0020] The operation unit 14 includes input devices such as a keyboard, a mouse, or a touch panel, and various operation buttons. The operation unit 14 transmits input data and operation instructions to the calculation unit 11. The display unit 15 includes a display such as a liquid crystal panel, and displays data such as images and text on the display according to instructions from the calculation unit 11. The communication unit 17 includes a communication interface and a communication control circuit that mediate communication of the molecular dynamics calculation apparatus 1, and controls communication via a network. The network includes a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, etc., and may be wired or wireless.
[0021] Fig. 2 is a block diagram showing an example of a functional configuration of the molecular dynamics calculation apparatus 1. As shown in Fig. 2, the molecular dynamics calculation apparatus 1 includes functional units such as a calculation condition setting unit 21, an interaction pair list creation unit 22, a charge amount calculation necessity setting unit 23, a charge amount fixing unit 24, a charge amount calculation unit 25, a molecular dynamics calculation unit 26, and an update unit 27. The calculation unit 11 of the molecular dynamics calculation apparatus 1 reads out and executes a program stored in the storage unit 13, thereby realizing these functions.
[0022] The calculation condition setting unit 21 sets calculation conditions for molecular dynamics calculations. Specifically, the calculation condition setting unit 21 sets calculation conditions such as a criterion for determining whether to end the calculation, the size and shape of the domain (system) to be simulated, the type of boundary condition, the set values of thermodynamic variables, interaction parameters, and cutoff distances.
[0023] The criteria for judging whether the calculation is completed are set to appropriate criteria for judging whether the calculation has reached a stable state, such as whether the number of steps (number of loop repetitions) of the molecular dynamics calculation has reached a maximum value, whether the physical quantity has reached a specified value, whether the time average value of the physical quantity has converged, etc. The interaction parameters are appropriately set according to what kind of interaction between atoms is to be simulated (what kind of potential function is to be applied). The potential function to be applied may be determined in advance by the user, or may be obtained using a prediction means such as machine learning. The cutoff distance is the upper limit of the distance for considering the interaction between atoms, and can be set arbitrarily. In this embodiment, it is assumed that the cutoff distance is set for each pair of atomic species and each type of interaction. The cutoff distance is taken into consideration when creating the interaction pair list 70.
[0024] The calculation condition setting unit 21 includes an atomic information setting unit 211 that performs initial setting of atomic information, and a charge calculation method selection unit 212 that sets a calculation method of charge. The atomic information setting unit 211 sets the atomic species, initial position coordinates, initial momentum coordinates, and initial charge of each atom included in the atomic group arranged in the simulation target area. The set atomic species, initial position coordinates, initial momentum coordinates, and initial charge of each atom are stored in atomic species data 30 (FIG. 3), position coordinate data 40 (FIG. 4), momentum coordinate data 50 (FIG. 5), and charge data 60 (FIG. 6), respectively.
[0025] The charge calculation method selection unit 212 selects method 1 or method 2 as a method for calculating the charge of each atom to be executed by the charge calculation unit 25 described later. The selection of the calculation method may be performed manually by the user via the operation unit 14, or may be performed automatically based on the calculation conditions set by the calculation condition setting unit 21. The charge calculation method (method 1 or method 2) may be determined in advance. In this case, the function of the charge calculation method selection unit 212 can be omitted.
[0026] The interaction pair list creation unit 22 creates an interaction pair list 70 indicating, for each atom included in the atomic group, an atom pair between the atom and another atom for which interaction is considered. Specifically, the interaction pair list creation unit 22 creates the interaction pair list 70 ( FIG. 7 ) by associating each atom with another atom (an other atom for which interaction is considered) that exists within a predetermined upper limit (cutoff distance) of the interatomic distance for each atom type pair and each type of interaction.
[0027] The charge amount calculation necessity setting unit 23 sets whether or not the charge amount needs to be updated based on a predetermined criterion for each atom included in the atomic group. For example, the charge amount calculation necessity setting unit 23 may set whether or not the charge amount needs to be updated for each atom included in the atomic group. 1. Only atoms of the same type exist around an atom (within the cutoff distance) 2. The structure within the cutoff distance has spatial symmetry Regardless of the conditions in 3.1 and 2, the initial charge is set taking into account the effects of atoms within the cutoff distance. 4. The structure within the cutoff distance is maintained regardless of the time evolution of the system. For atoms that satisfy the above four conditions, it is assumed that there is a low possibility of charge transfer occurring between the atoms around them, and the calculation of the charge amount is set as "unnecessary". On the other hand, for atoms that do not satisfy the above four conditions, it is assumed that there is a possibility of charge transfer occurring between the atoms around them, and the calculation of the charge amount is set as "necessary". The necessity of calculating the charge amount of each atom that has been set is stored in the charge amount calculation necessity 80 (FIG. 8). It is possible to determine whether conditions 1 and 2 are satisfied by referring to the atomic species data 30, the position coordinate data 40, the momentum coordinate data 50, the interaction pair list 70, and the like. Regarding condition 4, it can be determined that condition 4 is satisfied when conditions 1 and 2 are satisfied continuously over a plurality of times, for example. Therefore, when the necessity of calculating the charge amount is set for the first time (or several times from the beginning), the charge amount calculation necessity setting unit 23 sets the necessity of calculating the charge amount only based on conditions 1 and 2.
[0028] The charge amount fixing unit 24 sets the charge amount of each atom that is not a target for charge calculation to a predetermined fixed value. Specifically, the charge amount fixing unit 24 refers to the charge amount calculation necessity 80 (FIG. 8), identifies an atomic group for which charge amount calculation is set as "unnecessary" by the charge amount calculation necessity setting unit 23, and sets the charge amount of each atom included in the atomic group to a predetermined fixed value.
[0029] The electric charge calculation unit 25 calculates the electric charge of each atom that is the target of the electric charge calculation. Specifically, the electric charge calculation unit 25 refers to the electric charge calculation necessity 80 (FIG. 8), identifies an atomic group for which the electric charge calculation necessity setting unit 23 has set the calculation of the electric charge as "necessary", and calculates the electric charge of each atom included in the atomic group. In this embodiment, the electric charge calculation unit 25 calculates the electric charge of each atom based on the following method 1 or method 2.
[0030] ≪Method 1≫ This is a method of connecting to a heat bath for electric charges, solving the equation of motion of electric charges, and calculating the amount of electric charge of each atom. Specifically, the electric charge calculation unit 25 sets the total amount of electric charge of the atoms contained in the predetermined region to a predetermined fixed value, connects a charge system consisting of each charge of each atom to be calculated to a multi-layer heat bath consisting of two or more layers, applies the equation of motion of each charge, and calculates the amount of electric charge of each atom. Note that "setting the total amount of electric charge of the atoms contained in the predetermined region to a predetermined fixed value" refers to a condition in which the total amount of electric charge in the predetermined region does not change, that is, the law of conservation of electric charge is obeyed. The predetermined region is a region that takes into account the law of conservation of electric charge, for example, a region that includes a group of atoms to be calculated for electric charge. As a result, the amount of electric charge of each atom is calculated taking into account the physical laws of the system.
[0031] An example of the formula used for calculating the charge amount in method 1 is shown below. Taking the case where M heat baths are provided for the charge as an example, the equation of motion of the charge connected to the heat baths and taking into account the law of conservation of charge, and the equation of motion related to the heat baths are respectively expressed by the following formulas (1) and (2). Charge amount calculation unit 25 calculates (updates) the charge amount of each atom using formulas (1) and (2).
[0032]
number
[0033]
number
[0034] ≪Method 2≫ This is a method of calculating the charge of each atom by a gradient method based on the derivative of the potential function differentiated by the charge. Specifically, the charge calculation unit 25 calculates the charge of each atom by applying a gradient method based on the energy gradient obtained by differentiating the potential function describing the energy of the interaction by one or more orders of magnitude with respect to the charge to a charge system consisting of the charges of each atom to be calculated. As in method 1, "the total charge of the atoms included in the specified region is set to a predetermined fixed value" refers to a condition in which the total amount of charge in the specified region does not change, that is, the law of conservation of charge is obeyed. The specified region is a region in which the law of conservation of charge is taken into consideration, for example, a region including a group of atoms to be calculated for the charge.
[0035] Below is an example of the formula used to calculate the charge amount in Method 2. For example, when the steepest descent method, which is a type of gradient method, is applied, the calculation (update) of the charge taking into account the conservation of charge is expressed by the following formula.
[0036]
number
[0037] Figure 10 is a diagram comparing the characteristics of Method 1 and Method 2. Comparing the computational load of Method 1 and Method 2, the computational load of Method 1 is O(N) where N is the number of atoms, and the computational load of Method 2 is O(N n) (n: order of differentiation). Therefore, in terms of calculation load, method 1 is more advantageous than method 2. However, while method 1 requires parameter adjustment for updating the charge depending on the target system, method 2 can perform stable calculations regardless of the target system. Therefore, method 2 is more advantageous than method 1 in terms of robustness (calculation stability).
[0038] The molecular dynamics calculation unit 26 executes molecular dynamics calculation based on the charge amount of each atom obtained by the charge amount fixing unit 24 and the charge amount calculation unit 25, and the interaction descriptor of each atom pair in the interaction pair list 70. The interaction descriptor is a parameter for describing the interaction between atoms in the molecular dynamics calculation, and includes, for example, a distance between two atoms, an angle between three atoms, an electric charge, and an atomic species. The molecular dynamics calculation unit 26 numerically calculates the energy and force acting on each atom using a potential function that takes into account the charge amount of each atom and the interaction of each atomic pair. Then, the position coordinates and momentum coordinates of each atom are numerically calculated using the particle motion equation. The molecular dynamics calculation unit 26 outputs state variables including the size, shape, temperature, pressure, internal energy, etc. of the simulation region (system), and material structure data including the atomic species, number of atoms, atomic positions, etc.
[0039] The update unit 27 updates various data to be used in the next molecular dynamics calculation step based on the result of the molecular dynamics calculation by the molecular dynamics calculation unit 26. Specifically, the update unit 27 includes an atomic information update unit 271 that updates information (position, momentum, charge, etc.) on each atom, and the atomic information update unit 271 updates the position coordinates and momentum coordinates of each atom stored in the storage unit 13 based on the position coordinates and momentum coordinates of each atom calculated by the molecular dynamics calculation unit 26. In addition, the atomic information update unit 271 updates the charge amount of each atom stored in the storage unit 13 based on the charge amount of each atom determined by the charge amount fixing unit 24 and the charge amount calculation unit 25. The updated position coordinates, momentum coordinates, and charge amount of each atom are reflected in the position coordinate data 40 (FIG. 4), momentum coordinate data 50 (FIG. 5), and charge amount data 60 (FIG. 6), respectively. The charge amount of each atom (charge amount data 60) may be updated by the charge amount fixing unit 24 and the charge amount calculation unit 25. When the atomic species changes during the molecular dynamics calculation, the atomic information update unit 271 updates the atomic species data 30 (FIG. 3).
[0040] The storage unit 13 stores data such as atomic species data 30, position coordinate data 40, momentum coordinate data 50, charge amount data 60, interaction pair list 70, and charge amount calculation necessity 80, which are set and updated in the molecular dynamics calculation apparatus 1. An overview of these data will be described with reference to Figs. 3 to 8.
[0041] FIG. 3 is a diagram showing an example of atomic species data 30. The atomic species data 30 is data that stores information on the atomic species of each atom included in an atomic group. As shown in FIG. 3, the atomic species data 30 stores information on the atomic species of each atom included in an atomic group. i , … , A N ) is recorded. The atomic species data 30 is set by the calculation condition setting unit 21 (atomic information setting unit 211) at the time of initial setting of the molecular dynamics calculation. Furthermore, if the atomic species changes during the process of the molecular dynamics calculation, the atomic information update unit 271 updates (overwrites) the atomic species corresponding to the atom ID of the changed atomic species.
[0042] FIG. 4 is a diagram showing an example of position coordinate data 40. The position coordinate data 40 is data that stores the position coordinates of each atom included in the atomic group. As shown in FIG. 4, the position coordinates (x, y, z) of each atom are recorded in chronological order. At the time of initial setting of the molecular dynamics calculation, the calculation condition setting unit 21 (atom information setting unit 211) records the position coordinates ((x 10 , y 10 , z 10 ), …, (x i0 , y i0 , z i0 ), …, (x N0 , y N0 , z N0 ) (position coordinate data 40_t0) is set and recorded. As the molecular dynamics calculation progresses, rows corresponding to times t1, t2, ... are added in sequence, and the latest position coordinates at each time are updated by the update unit 27 (atomic information update unit 271).
[0043] FIG. 5 is a diagram showing an example of momentum coordinate data 50. The momentum coordinate data 50 is data that stores the momentum coordinate of each atom included in the atomic group. As shown in FIG. 5, the momentum coordinate (p x , p y , p z ) are recorded in chronological order. At the initial setting of the molecular dynamics calculation, the calculation condition setting unit 21 (atomic information setting unit 211) records the momentum coordinates ((p x10 , p y10 , p z10 ), …, (p xi0 , p yi0 , p zi0 ), …, (p xN0 , p yN0 , p zN0 )) (momentum coordinate data 50_t0) is set and recorded. As the molecular dynamics calculation progresses, rows corresponding to times t1, t2, ... are added in sequence, and the latest momentum coordinate data at each time is updated by the update unit 27 (atomic information update unit 271).
[0044] FIG. 6 is a diagram showing an example of charge amount data 60. The charge amount data 60 is data that stores the charge amount of each atom included in an atomic group. As shown in FIG. 6, the charge amount q of each atom is recorded in chronological order. At the time of initial setting of the molecular dynamics calculation, the calculation condition setting unit 21 (atom information setting unit 211) records the charge amount (q 10 , …, q i0 , …, q N0 ) data (charge amount data 60_t0) is set and recorded. As the molecular dynamics calculation progresses, rows corresponding to times t1, t2, ... are added in sequence, and the latest charge amount of each atom at each time (the charge amount determined by charge amount fixing unit 24 and charge amount calculation unit 25) is updated by update unit 27 (atomic information update unit 271).
[0045] FIG. 7 is a diagram showing an example of the interaction pair list 70. The interaction pair list 70 is data that records, for each atom included in the atomic group, an atom pair between the atom and another atom whose interaction is considered. Specifically, a list of atoms that exist within a predetermined cutoff distance is associated with each atom. The cutoff distance is determined for each atom type pair and for each type of interaction (interaction 1, interaction 2, ...). For example, in the interaction pair list 71_t0 at time t0, for an atom (atomic type) with atom ID "1", atoms (atomic types) with atom IDs "2", "4", "5", and "N-3" that exist within the cutoff distance of interaction 1 are associated as atoms (atomic types) that have interaction 1 with the atom (atomic type) with atom ID "1", and for an atom (atomic type) with atom ID "N", atoms (atomic types) with atom IDs "6", "N-5", "N-3", and "N-2" that exist within the same cutoff distance are associated as atoms (atomic types) that have interaction 1 with the atom (atomic type) with atom ID "N". In the interaction pair list 72_t0 at time t0, for an atom (atomic species) with atom ID "1", atoms (atomic species) with atom IDs "3", "4", "5", and "N-2" existing within the cutoff distance of interaction 2 are associated as atoms (atomic species) with which interaction 2 acts with the atom (atomic species) with atom ID "1", and for an atom (atomic species) with atom ID "N", atoms (atomic species) with atom IDs "7", "N-5", "N-4", and "N-2" existing within the same cutoff distance are associated as atoms (atomic species) with which interaction 2 acts with the atom (atomic species) with atom ID "N". At the time of initial setting of the molecular dynamics calculation, the interaction pair list creation unit 22 creates and records the interaction pair lists 71_t0, 72_t0, ... at time t0. As the molecular dynamics calculation progresses, rows corresponding to times t1, t2, ... are added in sequence, and the latest interaction pair list at each time is created and updated by the interaction pair list creation unit 22.
[0046] Fig. 8 is a diagram showing an example of charge calculation necessity 80. As shown in Fig. 8, information on whether or not charge calculation is necessary is stored for each atom (1, ..., i, ...N). Information on whether or not charge calculation is necessary for each atom is initially set by charge calculation necessity setting unit 23 before charge calculation is performed. The initial setting on whether or not charge calculation is necessary for each atom may be maintained, or may be changed at each stage of charge calculation.
[0047] Next, the flow of the molecular dynamics calculation method (molecular dynamics calculation process) executed by the molecular dynamics calculation apparatus 1 will be described with reference to the flowchart in Fig. 9. First, the calculation unit 11 (calculation condition setting unit 21) of the molecular dynamics calculation apparatus 1 sets the calculation conditions for the molecular dynamics calculation (step S1). Specifically, the calculation unit 11 sets, as the calculation conditions, a criterion for determining whether to end the calculation, the size and shape of the simulation target domain (system), the type of boundary condition, the set values of the thermodynamic variables, the interaction parameters, the cutoff distance, etc.
[0048] Next, the calculation unit 11 (atomic information setting unit 211) sets the atomic species, initial position coordinates, initial momentum coordinates, and initial charge amount of each atom included in the atomic group arranged in the simulation target region (initial setting of atomic information) (step S2). Specifically, the calculation unit 11 associates the atomic species (A1, ..., A2, ..., A3) with the atomic ID (1, ..., i, ..., N), which is a number that uniquely identifies each atom, as shown in the atomic species data 30 in FIG. i , … , A N ) information is set and recorded.
[0049] In addition, as shown in the position coordinate data 40 in FIG. 4, the calculation unit 11 calculates the position coordinate data 40_t0 as the initial position coordinates, that is, the position coordinates ((x 10 , y 10 , z 10 ), …, (x i0 , y i0 , z i0 ), …, (x N0 , y N0 , z N0 )) is set and recorded.
[0050] In addition, as shown in the momentum coordinate data 50 of FIG. 5, the calculation unit 11 calculates momentum coordinate data 50_t0 as the initial momentum coordinate, that is, the momentum coordinate ((p x10 , p y10 , p z10 ), …, (p xi0 , p yi0 , p zi0 ), …, (p xN0 , p yN0 , p zN0 )) is set and recorded.
[0051] Furthermore, as shown in the charge amount data 60 in FIG. 6, the calculation unit 11 calculates the charge amount data 60_t0 as the initial charge amount, that is, the charge amount (q 10 , …, q i0 , …, q N0 ) is set and recorded.
[0052] Next, the calculation unit 11 (charge amount calculation method selection unit 212) selects method 1 or method 2 as a method for calculating the charge amount of each atom (step S3). The calculation method may be selected manually by the user via the operation unit 14, or automatically based on the calculation conditions set by the calculation condition setting unit 21. Based on the charge amount calculation method selected here (method 1 or method 2), the charge amount of each atom is calculated in a subsequent step. Note that the charge amount calculation method (method 1 or method 2) may be determined in advance. In that case, the process of step S3 is omitted, and the charge amount of each atom is calculated based on the predetermined charge amount calculation method (method 1 or method 2).
[0053] Next, the calculation unit 11 (interaction pair list creation unit 22) creates an interaction pair list 70 indicating, for each atom included in the atomic group, an atom pair between the atom and another atom whose interaction is considered (step S4). Specifically, the calculation unit 11 creates the interaction pair list 70 (FIG. 7) by associating each atom with another atom that exists within a predetermined upper limit (cutoff distance) of the interatomic distance for each atom type pair and each type of interaction. When this step (step S4) is executed for the first time, the calculation unit 11 creates interaction pair lists 71_t0, 72_t0, ... at time t0 shown in FIG. 7.
[0054] Next, the calculation unit 11 (charge amount calculation necessity setting unit 23) sets whether or not the charge amount needs to be updated based on a predetermined criterion for each atom included in the atomic group (step S5). 1. Only atoms of the same type exist around an atom (within the cutoff distance) 2. The structure within the cutoff distance has spatial symmetry Regardless of the conditions in 3.1 and 2, the initial charge is set taking into account the effects of atoms within the cutoff distance. 4. The structure within the cutoff distance is maintained regardless of the time evolution of the system. For atoms that satisfy the above four conditions, it is assumed that there is a low possibility of charge transfer occurring between the atoms around them, and the calculation of the charge amount is set to "unnecessary". On the other hand, for atoms that do not satisfy the above four conditions, it is assumed that there is a possibility of charge transfer occurring between the atoms around them, and the calculation of the charge amount is set to "necessary". Information on whether or not the calculation of the charge amount of each atom is set is stored in the charge amount calculation necessity 80. It is possible to determine whether or not the conditions 1 and 2 are satisfied by referring to the atomic species data 30, the position coordinate data 40, the momentum coordinate data 50, the interaction pair list 70, and the like. Regarding the condition 4, it can be determined that the condition 4 is satisfied when the conditions 1 and 2 are satisfied continuously over a plurality of times, for example. Therefore, at the first execution (or several times from the beginning) of this step (step S5), the calculation unit 11 sets whether or not the calculation of the charge amount is necessary based only on the conditions 1 and 2.
[0055] In addition, when the necessity of calculating the charge amount is not changed during the execution of the molecular dynamics calculation, the process of setting the necessity of calculating the charge amount in step S6 is executed only once during the execution of the molecular dynamics calculation. That is, the process of step S5 is executed only at time t0, and the process of step S5 may be skipped after time t1. On the other hand, when the necessity of calculating the charge amount is changed during the execution of the molecular dynamics calculation, the process of step S5 is executed each time, and the information of the necessity of calculating the charge amount 80 in FIG. 8 is updated (overwritten) each time.
[0056] Next, the calculation unit 11 (charge amount fixing unit 24) sets the charge amount of each atom that is not a target for charge calculation to a predetermined fixed value (step S6). Specifically, the calculation unit 11 refers to the charge amount calculation necessity 80 (FIG. 8), identifies each atom for which charge amount calculation is set to "unnecessary", and sets the charge amount of each atom to a predetermined fixed value.
[0057] The calculation unit 11 (charge amount calculation unit 25) calculates the charge amount of each atom for which the charge amount is to be calculated. Specifically, the calculation unit 11 refers to the charge amount calculation necessity 80 (FIG. 8), identifies each atom for which the charge amount calculation is set as "necessary", and calculates the charge amount of each atom. Here, if the method 1 is selected as the charge amount calculation method in step S3 (step S7; "method 1"), the calculation unit 11 calculates the charge amount of each atom based on the charge amount calculation method of method 1 (step S8). That is, the calculation unit 11 sets the total charge amount of atoms contained in a predetermined region as a predetermined fixed value, connects a charge system consisting of each charge of each atom for which the charge amount is to be calculated to a multi-layered heat bath consisting of two or more layers, and applies the equation of motion of each charge to calculate the charge amount of each atom. For example, the calculation unit 11 calculates the charge amount of each atom using the above-mentioned formulas (1) and (2).
[0058] On the other hand, when method 2 is selected as the charge calculation method in step S3 (step S7; "method 2"), the calculation unit 11 (charge calculation unit 25) calculates the charge of each atom based on the charge calculation method of method 2 (step S9). That is, the calculation unit 11 sets the total charge of the atoms contained in a predetermined region as a predetermined fixed value, and applies a gradient method based on an energy gradient obtained by differentiating a potential function describing the energy of interaction with respect to the charge one or more times to a charge system composed of each charge of each atom to be calculated, thereby calculating the charge of each atom. For example, the calculation unit 11 calculates the charge of each atom using the above-mentioned formula (3).
[0059] Next, the calculation unit 11 (molecular dynamics calculation unit 26) executes a molecular dynamics calculation based on the charge of each atom to be fixed obtained in step S6, the charge of each atom to be calculated obtained in step S8 or step S9, and the interaction descriptor of each atom pair in the interaction pair list 70 (step S10). Specifically, the calculation unit 11 numerically calculates the energy and force acting on each atom using a potential function that takes into account the charge of each atom and the interaction of each atom pair. Then, the calculation unit 11 numerically calculates the position coordinates and momentum coordinates of each atom using the particle motion equation. The calculation unit 11 outputs state variables including the size, shape, temperature, pressure, internal energy, etc. of the simulation domain (system), and material structure data including atomic species, number of atoms, atomic positions, etc.
[0060] Then, in step S11, the calculation unit 11 (atomic information update unit 271) reflects the position coordinates and momentum coordinates of each atom calculated in step S10 in the position coordinate data 40 and momentum coordinate data 50, thereby updating the position coordinates and momentum coordinates of each atom.
[0061] For example, in the case of the first update (first execution of step S11), the calculation unit 11 adds a row corresponding to time t1 as shown in FIG. 4, and updates the position coordinates ((x 11 , y 11 , z11 ), …, (x i1 , y i1 , z i1 ), …, (x N1 , y N1 , z N1 )) is written as position coordinate data 40_t1, and the position coordinate data 40 is updated.
[0062] 5, the calculation unit 11 (atomic information update unit 271) adds a row corresponding to time t1 and updates the momentum coordinates ((p x11 , p y11 , p z11 ), …, (p xi1 , p yi1 , p zi1 ), …, (p xN1 , p yN1 , p zN1 )) is written into the momentum coordinate data 50_t1, and the momentum coordinate data 50 is updated.
[0063] In addition, in step S11, the calculation unit 11 (atomic information update unit 271) updates the charge of each atom by reflecting the charge of each atom to be fixed in step S6 and the charge of each atom to be calculated in step S8 or S9 in the charge data 60. For example, in the case of the first update, the calculation unit 11 adds a row corresponding to time t1 as shown in FIG. 6, and updates the charge (q 11 , …, q i1 , …, q N1 ) is written as charge amount data 60_t1, thereby updating the charge amount data 60. Note that the charge amount data 60 may be updated in steps S6, S8, and S9 in which the charge amount is calculated, instead of in step S11.
[0064] Furthermore, when the atomic species has changed, the calculation unit 11 (atomic information update unit 271) updates the atomic species of the corresponding atomic ID in the atomic species data 30.
[0065] Next, the calculation unit 11 judges whether or not the calculation end condition is satisfied (step S12), and if the calculation end condition is satisfied (step S12; Yes), the processing of the molecular dynamics calculation is terminated. Whether or not the calculation end condition is satisfied is judged, for example, by whether or not the number of steps (number of loop repetitions) of the molecular dynamics calculation reaches a maximum value, whether or not the physical quantity reaches a specified value, whether or not the time average value of the physical quantity has converged, and the like. On the other hand, if the calculation end condition is not satisfied (step S12; No), the process returns to step S4, and the calculation unit 11 repeatedly executes the processing of steps S4 to S11 until the calculation end condition is satisfied. Through this process, information (position, momentum, charge, etc.) of each atom included in the atomic group is calculated and updated at regular time intervals (t1, t2, ...), and the time evolution of each atom is simulated by the molecular dynamics calculation device 1.
[0066] The present embodiment has been described above with reference to the drawings. According to the present embodiment, a molecular dynamics calculation is performed taking charge transfer into consideration. Specifically, the charge of each atom that is not the target of charge calculation is set to a fixed value, and the charge of each atom that is the target of charge calculation is calculated according to the above-mentioned method 1 or method 2. Then, a molecular dynamics calculation is performed based on the charge of each atom and the descriptor of the interaction in each atom pair, and the position coordinates and momentum coordinates of each atom are updated based on the result. In particular, in the present embodiment, by introducing method 1 or method 2 into the charge calculation, advantageous effects can be obtained compared to conventional methods.
[0067] For example, in the conventional charge balancing method, it is necessary to solve simultaneous linear equations related to the charges of all atoms using matrix operations, and the amount of calculation is O(N 3 ), which was very large and resulted in a high computational load. In contrast, in the case of method 1 of this embodiment, the computational load is O(N), which is a reduction in the computational load compared to the conventional charge balancing method. In addition, in the case of method 2 of this embodiment, the computational load is O(N n) (n: order of differentiation), which is advantageous in terms of computational load compared to the conventional charge balancing method at least when n is 2 or less. Furthermore, the conventional charge balancing method only supports function forms that are differentiable by charge of 2 orders or less, and therefore has limited degrees of freedom. On the other hand, method 1 and method 2 of the present embodiment can support function forms that are differentiable by any order of 1 order or more, and therefore are highly versatile. Thus, the present embodiment realizes molecular dynamics calculations that take into account charge transfer, which is advantageous in terms of computational load and versatility, and is expected to contribute to the enlargement of analytical models and the expansion of material systems and properties that can be analyzed.
[0068] In this embodiment, the atoms to be calculated for the charge amount are distinguished from the atoms to be calculated for the charge amount, but all atoms may be calculated for the charge amount. In that case, the charge amount calculation necessity setting unit 23 and the charge amount fixing unit 24 among the functional units in FIG. 2 can be omitted, and the molecular dynamics calculation unit 26 performs molecular dynamics calculation based on the charge amount of each atom obtained by the charge amount calculation unit 25. Similarly, in the flowchart in FIG. 9, the processing of step S5 performed by the calculation unit 11 (charge amount calculation necessity setting unit 23) and step S6 performed by the calculation unit 11 (charge amount fixing unit 24) can be omitted, and in step S10, the calculation unit 11 (molecular dynamics calculation unit 26) performs molecular dynamics calculation based on the charge amount of each atom to be calculated for the charge amount obtained in step S8 or step S9.
[0069] In this embodiment, in the molecular dynamics calculation, the momentum coordinate (p x ,p y ,p z ) is stored and updated in the memory unit 13, but instead of the momentum coordinates, the velocity coordinates (v x ,v y ,v z ) may be stored and updated in the storage unit 13.
[0070] Although the preferred embodiment of the present invention has been described above with reference to the accompanying drawings, the present invention is not limited to the above examples. It is clear that a person skilled in the art can come up with various modified or altered examples within the scope of the technical ideas disclosed in this application, and it is understood that these also naturally belong to the technical scope of the present invention. [Explanation of symbols]
[0071] 1:Molecular dynamics calculation device 131: Molecular dynamics calculation program 10: Recording media 11: Arithmetic section 12: Memory 13: Storage section 14:Operation section 15:Display section 16: Drive 17: Communications Department 19: Bus 21: Calculation condition setting section 211: Atom information setting section 212: Charge amount calculation method selection unit 22: Interaction pair list creation section 23: Charge amount calculation necessity setting section 24: Charge amount fixed part 25: Charge calculation section 26:Molecular dynamics calculation department 27: Update section 271: Atomic Information Update Department 30: Atomic species data 40: Position coordinate data 50: Momentum coordinate data 60: Charge amount data 70: Interaction pair list 80: Necessity of charge amount calculation?
Claims
1. a storage unit that stores, for each atom included in the atomic group, a position coordinate, a momentum coordinate or a velocity coordinate, and an amount of charge of the atom, and an interaction pair list that indicates atomic pairs between the atom and other atoms whose interactions are considered; A charge calculation unit that calculates the charge of each atom that is a calculation target of the charge, A total charge amount of atoms included in a predetermined region is set to a predetermined fixed value, and a charge system consisting of each charge of each atom to be calculated is connected to a multi-layer heat bath consisting of two or more layers, and an equation of motion for each charge is applied to calculate the charge amount of each atom, or a charge calculation unit that calculates the charge of each atom by applying a gradient method based on an energy gradient obtained by differentiating a potential function describing an energy of interaction with respect to the charge to a charge system composed of each charge of each atom to be calculated, with a total charge of the atoms included in a predetermined region set as a predetermined fixed value, and a molecular dynamics calculation unit that performs molecular dynamics calculations based on the charge amount of each atom calculated by the charge amount calculation unit and the descriptor of the interaction between each atomic pair; and an update unit that updates the position coordinates and the momentum coordinates or velocity coordinates of each atom based on the result of the molecular dynamics calculation by the molecular dynamics calculation unit. Molecular dynamics calculation device.
2. a charge amount fixing unit that sets the charge amount of each atom that is not a target for charge amount calculation to a fixed value, 2. The molecular dynamics calculation apparatus according to claim 1, wherein the molecular dynamics calculation unit performs molecular dynamics calculations based on the charge amount of each atom determined by the charge amount fixing unit and the charge amount calculation unit, and a descriptor of an interaction between each atom pair.
3. a charge calculation necessity setting unit that sets, for each atom included in the atomic group, whether or not it is necessary to calculate the charge based on a predetermined criterion, the charge amount fixing unit sets the charge amount of each atom for which calculation of the charge amount has been set by the charge amount calculation necessity setting unit to a predetermined fixed value; 3. The molecular dynamics calculation apparatus according to claim 2, wherein the charge calculation unit calculates the charge of each atom for which a charge calculation necessity setting unit has set that the charge calculation is necessary.
4. 2. The molecular dynamics calculation apparatus according to claim 1, further comprising an interaction pair list creation unit that creates the interaction pair list by associating each atom with other atoms that exist within a predetermined upper limit of an atomic distance for each atomic type pair and for each type of interaction.
5. A molecular dynamics calculation method executed by a computer, comprising the steps of: storing, in a storage unit, a position coordinate, a momentum coordinate or a velocity coordinate, and an amount of charge of each atom included in the atomic group, and an interaction pair list indicating an atomic pair between the atom and another atom whose interaction is considered; A step of calculating the charge of each atom for which a charge is to be calculated, A total charge amount of atoms included in a predetermined region is set to a predetermined fixed value, and a charge system consisting of each charge of each atom to be calculated is connected to a multi-layer heat bath consisting of two or more layers, and an equation of motion for each charge is applied to calculate the charge amount of each atom, or a step of calculating the charge of each atom by applying a gradient method based on an energy gradient obtained by differentiating a potential function describing an energy of interaction by one or more orders of magnitude with respect to the charge to a charge system composed of each charge of each atom to be calculated, with the total charge of the atoms included in the predetermined region being a predetermined fixed value; performing a molecular dynamics calculation based on the charge amount of each atom calculated by the charge amount calculation step and a descriptor of an interaction between each atom pair; updating the position coordinates and the momentum coordinates or velocity coordinates of each atom based on the results of the molecular dynamics calculation; Molecular dynamics calculation method.
6. Computer, a storage unit for storing, for each atom included in the atomic group, the position coordinates, momentum coordinates or velocity coordinates, and charge amount of the atom, and an interaction pair list indicating atomic pairs between the atom and other atoms whose interactions are considered; A charge calculation unit that calculates the charge of each atom that is a calculation target of the charge, A total charge amount of atoms included in a predetermined region is set to a predetermined fixed value, and a charge system consisting of each charge of each atom to be calculated is connected to a multi-layer heat bath consisting of two or more layers, and an equation of motion for each charge is applied to calculate the charge amount of each atom, or a charge amount calculation unit which calculates the charge amount of each atom by applying a gradient method based on an energy gradient obtained by differentiating a potential function describing an energy of an interaction with respect to the charge to a charge system composed of each charge of each atom to be calculated, with the total charge amount of the atoms included in a predetermined region being a predetermined fixed value; a molecular dynamics calculation unit that performs molecular dynamics calculations based on the charge amount of each atom calculated by the charge amount calculation unit and the descriptor of the interaction in each atomic pair; an updating unit that updates the position coordinates and the momentum coordinates or velocity coordinates of each atom based on the result of the molecular dynamics calculation by the molecular dynamics calculation unit; A program that functions as a
Citation Information
Patent Citations
Adhesive sheet for dicing semiconductor wafer
JP1985031918A
Cited By
Potential function model construction and training method, system and device and storage medium
CN121963909A