Bonding potential energy calculation method and device, terminal, storage medium and product

By dividing the simulation calculation model into independent sub-model parallel calculations, the problem of large amount of bond potential energy calculation in molecular dynamics simulation is solved, and the calculation efficiency is improved.

CN119091976APending Publication Date: 2024-12-06SHANGHAI SMARTLOGIC TECHNOLOGY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411041934.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-31
Publication Date
2024-12-06

AI Technical Summary

Technical Problem

In molecular dynamics simulation, the calculation of bonding potential energy is huge, which makes the calculation difficult and affects the simulation efficiency.

Method used

By constructing a simulation calculation model, divide it into multiple simulation calculation sub-models with independent computing capabilities, and determine the calculation atoms in the atom list according to the preset allocation rules, assign bond potential energy calculation tasks to it, calculate and accumulate results in parallel .

Benefits of technology

The efficiency of bond potential energy calculation is improved, the repetition of the calculation process and data dependence are reduced, and the calculation efficiency of molecular dynamics simulation is significantly improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119091976A_ABST
    Figure CN119091976A_ABST
Patent Text Reader

Abstract

The invention provides a bonding potential energy calculation method and device, a terminal, a storage medium and a product, and the method comprises the steps: constructing a simulation calculation model, and dividing the simulation calculation model into a plurality of simulation calculation sub-models with independent calculation capability; obtaining atomic information, and generating an atomic list; determining a calculation atom according to a preset allocation rule, and allocating a bonding potential energy calculation task to the calculation atom; determining the affiliation of a simulation calculation sub-model of the calculation atom, and storing the bonding potential energy calculation task in the simulation calculation sub-model; and performing parallel calculation according to a preset calculation formula. According to the bonding potential energy calculation method and device, the terminal, the storage medium and the product provided by the invention, the calculation task of the bonding potential energy can be reasonably allocated to each simulation calculation sub-model, and the simulation calculation sub-models do not have a data interdependence relationship, so that the acceleration of the calculation process can be realized by adopting a parallel method; therefore, the engineering development efficiency is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of molecular dynamics technology, and in particular to a method, device, terminal, storage medium and product for calculating bonding potential energy. Background Art

[0002] Molecular dynamics simulation (MD) is a method that uses computers to simulate the movement and evolution of molecular systems under certain conditions. It can be used to study the structure, properties, phase transitions, reactions, transport and other phenomena of molecules, thereby revealing the microscopic mechanism and macroscopic laws of matter.

[0003] In the process of molecular dynamics calculation, it is necessary to calculate the bond potential energy between atoms (i.e. bond energy, angle energy, dihedral energy, and improper energy). When the molecular dynamics simulation system is large, the amount of calculation of the bond potential energy will be very large. At the same time, the regularity of the molecular conformation and the position of each atom will affect the reasonableness of the distribution of the calculation task, which will make the calculation of the bond potential energy too difficult, thus affecting the calculation efficiency of the molecular dynamics simulation. Summary of the invention

[0004] In view of this, the present invention aims to propose a bonding potential energy calculation method, device, terminal, storage medium and product to solve the above technical problems.

[0005] To achieve the above object, the technical solution created by the present invention is implemented as follows:

[0006] In a first aspect, an embodiment of the present invention provides a method for calculating bonding potential energy, comprising:

[0007] Constructing a simulation computing model, and dividing the simulation computing model into multiple simulation computing sub-models with independent computing capabilities;

[0008] Acquire atomic information of all atoms in the simulation calculation model, wherein the atomic information includes atomic coordinates, atomic bonding types and atomic bonding association relationships, and generate an atomic list according to the atomic bonding types and atomic bonding association relationships;

[0009] Determine the calculation atom in the atom list according to the preset allocation rule, and assign the bond potential energy calculation task to the calculation atom;

[0010] Determine the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and store the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs;

[0011] The bond potential energy calculation tasks in multiple simulation calculation sub-models are calculated in parallel according to the preset calculation formula, and the obtained results are accumulated to the corresponding atoms to generate the bond potential energy calculation results.

[0012] Furthermore, the simulation computing model is a space cube model, and the simulation computing model is divided into a plurality of simulation computing sub-models with independent computing capabilities, including:

[0013] The spatial cube model is divided along the X, Y, and Z directions to generate multiple spatial cube sub-models with independent computing capabilities.

[0014] Furthermore, before obtaining the atomic information of all atoms in the simulation calculation model, the bonding potential energy calculation method includes:

[0015] Add atomic numbers to all atoms in the simulation model;

[0016] Correspondingly, the step of determining the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and storing the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs, comprises:

[0017] The simulation calculation sub-model to which the calculation atom belongs is determined according to the atomic coordinates of the calculation atom, and the bond potential energy calculation task assigned to the calculation atom and the atomic number of the calculation atom are stored in the simulation calculation sub-model to which the calculation atom belongs.

[0018] Further, generating an atom list according to the atomic bonding type and the atomic bonding association relationship includes:

[0019] When the atomic bonding type is bond, a bond list containing two columns of data is generated, and the two columns of data in the bond list are paired;

[0020] When the atomic bonding type is angle, an angle list containing three columns of data is generated, and the first column of data in the angle list is paired with the third column of data;

[0021] When the atomic bonding type is dihedral and / or improper, a dihedral angle list containing four columns of data is generated, and the first column of data in the dihedral angle list is paired with the fourth column of data, and the second column of data is paired with the third column of data;

[0022] Accordingly, determining the calculation atom in the atom list according to the preset allocation rule and allocating the bond potential energy calculation task to the calculation atom includes:

[0023] The mode function is used to calculate the maximum frequency of occurrence of atoms in each column of data in the atom list, and the data column with the smallest maximum frequency of atoms and the data column paired with the data column are set as the primary selected data columns;

[0024] The tabulate function is used to calculate the frequency of occurrence of each atom in the preliminary data column, and after the matrix dimensions are adjusted to be consistent, the total frequency of occurrence of each atom is determined;

[0025] Set the total occurrence frequency of the atom to the unselected frequency of the atom, and set the selected frequency of the atom to 0, traverse the atom list, obtain the selected frequencies of any two atoms in the preliminary data column, and when the selected frequencies of the two atoms are the same, select the atom with less unselected frequency as the calculation atom; when the selected frequencies of the two atoms are different, select the atom with less selected frequency as the calculation atom;

[0026] After the selection of the calculation atom is completed, the selected frequency of the selected atom is +1, and the unselected frequencies of the two atoms participating in the calculation atom selection are both -1.

[0027] Further, after assigning the bond potential energy calculation task to the calculation atom, the bond potential energy calculation method includes:

[0028] The bond potential energy calculation task allocation amount of the atom is obtained. When the bond potential energy calculation task allocation amount is greater than a preset allocation amount threshold, the determination result of the calculation atom and the allocation result of the bond potential energy calculation task are corrected.

[0029] Furthermore, the calculation according to the preset formula includes:

[0030] When the bond type corresponding to the bond potential energy calculation task is bond, the preset calculation formula is:

[0031]

[0032] When the bond type corresponding to the bond potential energy calculation task is angle, the preset calculation formula is:

[0033]

[0034] F b =-(F a -F c )

[0035] When the bond type corresponding to the bond potential energy calculation task is dihedral, the preset calculation formula is:

[0036] U=A[1+cos(mΦ abcd -δ)]

[0037] When the bond type corresponding to the bond potential energy calculation task is improper, the preset calculation formula is:

[0038]

[0039] In a second aspect, an embodiment of the present invention provides a bonding potential energy calculation device, comprising:

[0040] A model building module is used to build a simulation computing model and divide the simulation computing model into multiple simulation computing sub-models with independent computing capabilities;

[0041] An acquisition generation module is used to acquire atomic information of all atoms in the simulation calculation model, wherein the atomic information includes atomic coordinates, atomic bonding types and atomic bonding association relationships, and generate an atomic list according to the atomic bonding types and atomic bonding association relationships;

[0042] An allocation module, used for determining the calculation atom in the atom list according to a preset allocation rule, and allocating the bond potential energy calculation task to the calculation atom;

[0043] A storage module, used for determining the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and storing the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs;

[0044] The calculation module is used to perform parallel calculations on the bond potential energy calculation tasks in multiple simulation calculation sub-models according to a preset calculation formula, and accumulate the obtained results to the corresponding atoms to generate bond potential energy calculation results.

[0045] In a third aspect, an embodiment of the present invention provides a terminal, including:

[0046] one or more processors;

[0047] A storage device for storing one or more programs;

[0048] When the one or more programs are executed by the one or more processors, the one or more processors implement the bonding potential energy calculation method provided in the above embodiment.

[0049] In a fourth aspect, an embodiment of the present invention further provides a storage medium comprising computer executable instructions, which, when executed by a computer processor, are used to execute the bonding potential energy calculation method provided in the above embodiment.

[0050] In a fifth aspect, an embodiment of the present invention further provides a computer program product, wherein the computer program product stores at least one program code, and the at least one program code is used to be executed by a processor to implement the bond potential energy calculation method provided in the above embodiment.

[0051] Compared with the prior art, the bonding potential energy calculation method, device, terminal, storage medium and product described in the present invention have the following advantages:

[0052] The present invention creates a bonding potential energy calculation method, device, terminal, storage medium and product, which can divide the simulation calculation model into multiple simulation calculation sub-models with independent calculation capabilities, and can determine the calculation atoms in the atom list according to the preset allocation rules, and assign the bonding potential energy calculation tasks to the calculation atoms, so as to reasonably distribute the bonding potential energy calculation tasks to each simulation calculation sub-model. In practical applications, all bonding potential energy tasks in the simulation calculation model can be traversed quickly and non-repetitively, and there is no data interdependence between the simulation calculation sub-models, so a parallel method can be used to accelerate the calculation process, thereby greatly improving the efficiency of engineering development. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0054] Figure 1 It is a flow chart of the bonding potential energy calculation method described in the first embodiment of the present invention;

[0055] Figure 2 It is a schematic diagram of the bonding potential energy calculation method described in the first embodiment of the present invention after adding atomic numbers to atoms in a simulation calculation sub-model;

[0056] Figure 3 A structural diagram of the bonding potential energy calculation device described in the second embodiment of the present invention;

[0057] Figure 4 This is a structural diagram of the terminal described in Example 3 of the present invention. DETAILED DESCRIPTION

[0058] Embodiment 1

[0059] Figure 1 This is a flow chart of a method for calculating bonding potential energy provided in the first embodiment of the present invention. As shown in the figure, the method for calculating bonding potential energy in this embodiment specifically includes the following steps:

[0060] Step 110: construct a simulation calculation model, and divide the simulation calculation model into multiple simulation calculation sub-models with independent calculation capabilities.

[0061] In order to reduce the amount of subsequent calculations, this embodiment will limit the simulation calculation work to a limited space by constructing a simulation calculation model, and divide the simulation calculation model into multiple simulation calculation sub-models, so that each simulation calculation sub-model includes a certain number of atoms. It should be noted that each simulation calculation sub-model in this embodiment should have the ability to independently calculate and store data, and there is no data interdependence between multiple simulation calculation sub-models, so as to facilitate the parallel calculation of multiple simulation calculation sub-models in the subsequent calculation process of bonding potential energy, thereby improving the calculation efficiency of bonding potential energy.

[0062] Optionally, the simulation computing model in this embodiment can be set as a cubic model with a spatial structure, thereby reducing the difficulty of dividing multiple simulation computing sub-models. Accordingly, when dividing the real computing model into multiple simulation computing sub-models with independent computing capabilities, the spatial cubic model can be divided along the X, Y, and Z directions to generate multiple spatial cubic sub-models with independent computing capabilities.

[0063] Step 120: Obtain atomic information of all atoms in the simulation calculation model, wherein the atomic information includes atomic coordinates, atomic bonding types, and atomic bonding association relationships, and generate an atom list according to the atomic bonding types and atomic bonding association relationships.

[0064] Generally, there are two kinds of interactions between atoms constituting a molecule: non-bonding potential energy and bonding potential energy. Non-bonding potential energy is used to describe the interaction between atoms that are not chemically bonded, and bonding potential energy is used to describe the interaction between atoms that are chemically bonded. Therefore, in order to clarify the actual effects on atoms in the simulation calculation model and accurately calculate the bonding potential energy between atoms, this embodiment will obtain the atomic information of all atoms in the simulation calculation model.

[0065] Specifically, atomic information includes atomic bonding types and atomic bonding relationships. Atomic bonding types include bond, angle, dihedral, and improper. Bond refers to the bond energy interaction between two atoms connected by chemical bonds, angle is the bond angle energy between two adjacent atoms connected by chemical bonds, dihedral refers to the dihedral interaction between four adjacent atoms connected by chemical bonds, and improper refers to the off-plane potential between four adjacent atoms connected by chemical bonds. Correspondingly, when the atomic bonding type of an atom is determined, other atoms that have bonding effects with the atom can be regarded as having atomic bonding relationships with the atom.

[0066] In addition, atomic information also includes atomic coordinates. When obtaining atomic coordinates, a reference point should be selected at the geometric center or geometric boundary of the simulation calculation model, and the xyz space rectangular coordinates should be established with the reference point as the coordinate origin, and then the atomic coordinates of the atom are determined according to the actual position of the atom.

[0067] When the atomic bonding type and atomic bonding association of the atoms are determined, in order to facilitate the subsequent calculation task allocation, this implementation will also generate an atom list based on the atomic bonding type and the atomic bonding association. Optionally, when generating the atom list, three different atom lists can be generated according to different bonding types to simplify the subsequent determination of the calculation atoms and the allocation process of the calculation tasks.

[0068] When the atomic bonding type is bond, a bond list containing two columns of data should be generated, and the two columns of data in the bond list are paired; when the atomic bonding type is angle, an angle list containing three columns of data should be generated, and the first column of data in the angle list is paired with the third column of data; when the atomic bonding type is dihedral and / or improper, a dihedral list containing four columns of data should be generated, and the first column of data in the dihedral list is paired with the fourth column of data, and the second column of data is paired with the third column of data.

[0069] Step 130: Determine the calculation atom in the atom list according to the preset allocation rule, and allocate the bond potential energy calculation task to the calculation atom.

[0070] In order to improve the efficiency of bond potential energy calculation in the simulation calculation model, this embodiment will determine the calculation atoms in the atom list according to the preset allocation rules, and assign bond potential energy calculation tasks to the calculation atoms, so that a large number of bond potential energy calculation tasks can be distributed to each atom as evenly as possible.

[0071] Optionally, the calculation atom is determined in the atom list according to a preset allocation rule, and the bond potential energy calculation task is allocated to the calculation atom, which can be specifically optimized as follows:

[0072] The mode function is used to calculate the maximum frequency of occurrence of atoms in each column of data in the atom list, and the data column with the smallest maximum frequency of atoms and the data column paired with the data column are set as the primary selected data columns;

[0073] The tabulate function is used to calculate the frequency of occurrence of each atom in the preliminary data column, and after the matrix dimensions are adjusted to be consistent, the total frequency of occurrence of each atom is determined;

[0074] Set the total occurrence frequency of the atom to the unselected frequency of the atom, and set the selected frequency of the atom to 0, traverse the atom list, obtain the selected frequencies of any two atoms in the preliminary data column, and when the selected frequencies of the two atoms are the same, select the atom with less unselected frequency as the calculation atom; when the selected frequencies of the two atoms are different, select the atom with less selected frequency as the calculation atom;

[0075] After the selection of the calculation atom is completed, the selected frequency of the selected atom is +1, and the unselected frequencies of the two atoms participating in the calculation atom selection are both -1.

[0076] Subsequently, the above-mentioned bond potential energy calculation task allocation process may be repeatedly executed until all bond potential energy calculation tasks are allocated to corresponding calculation atoms.

[0077] Optionally, in order to improve the rationality of the assignment of the bond potential energy calculation task and the determination of the calculation atom, after assigning the bond potential energy calculation task to the calculation atom, the present embodiment may add the following steps:

[0078] The bond potential energy calculation task allocation amount of the atom is obtained. When the bond potential energy calculation task allocation amount is greater than a preset allocation amount threshold, the determination result of the calculation atom and the allocation result of the bond potential energy calculation task are corrected.

[0079] It should be noted that when the calculation atom undertakes the bond potential energy calculation task of different bond types, it should have different preset allocation thresholds. Specifically, when the bond type corresponding to the bond potential energy calculation task is bond, the preset allocation threshold of the calculation atom can be set to 2, when the bond type corresponding to the bond potential energy calculation task is angle, the preset allocation threshold of the calculation atom can be set to 4, and when the bond type corresponding to the bond potential energy calculation task is dihedral or improper, the preset allocation threshold of the calculation atom can be set to 8.

[0080] When the allocation amount of the bond potential energy calculation task of a certain calculation atom is greater than the preset allocation amount threshold, the determination result of the calculation atom and the allocation result of the bond potential energy calculation task should be corrected so that the bond potential energy calculation task can be distributed as evenly as possible to each calculation atom, and each calculation atom can be distributed as evenly as possible in each simulation calculation sub-model.

[0081] Step 140, determining the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and storing the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs.

[0082] In order to facilitate the parallel calculation of a large number of bond potential energy calculation tasks in the subsequent processing, after the determination of the calculation atom and the assignment of the bond potential energy calculation task are completed, the actual position of the calculation atom in the simulation calculation model can be determined according to the atomic coordinates of the calculation atom, and the affiliation of the simulation calculation sub-model of the calculation atom can be determined according to the actual position of the calculation atom in the simulation calculation model. Subsequently, the bond potential energy calculation task assigned to the calculation atom is stored in the simulation calculation sub-model to which the calculation atom belongs, so as to facilitate the independent completion of the calculation work of the bond potential energy calculation task through the simulation calculation sub-model in the subsequent processing.

[0083] Optionally, in order to reduce the storage usage of each simulation calculation sub-model, this embodiment may further add the following steps before obtaining the atomic information of all atoms in the simulation calculation model:

[0084] Add atomic numbers to all atoms in the simulation model.

[0085] Correspondingly, when all atoms in the simulation calculation model have atomic numbers, the simulation calculation sub-model affiliation of the calculated atom is determined according to the atomic coordinates of the calculated atom, and the bond potential energy calculation task assigned to the calculated atom is stored in the simulation calculation sub-model to which the calculated atom belongs. It can be specifically optimized as follows: the simulation calculation sub-model affiliation of the calculated atom is determined according to the atomic coordinates of the calculated atom, and the bond potential energy calculation task assigned to the calculated atom and the atomic number of the calculated atom are stored in the simulation calculation sub-model to which the calculated atom belongs, thereby reducing the storage occupancy of the simulation calculation sub-model.

[0086] Figure 2 A schematic diagram of the bonding potential energy calculation method provided in this embodiment after adding atomic numbers to atoms in a simulation calculation sub-model. Figure 2 The atoms with atomic numbers 1, 3, 6, 8, and 12 are calculated atoms. Atoms 1 and 6 are assigned bond potential energy calculation tasks, atom 3 is assigned angle potential energy calculation tasks, atom 12 is assigned dihedral potential energy calculation tasks, and atom 8 is assigned improper potential energy calculation tasks. The above atomic numbers and bond potential energy calculation tasks are stored in Figure 2 In the simulation calculation sub-model of the central part.

[0087] When the calculation of bond potential energy needs to be performed, the simulation calculation sub-model will select the calculation atom that undertakes the corresponding bond potential energy calculation task according to the bond type corresponding to the calculation work, and simultaneously obtain the atomic information of other atoms associated with the calculation atom in order to perform the calculation work. For example, when the bond needs to be calculated, Figure 2The simulation calculation sub-model in the central part will first select atoms 1 and 6, then select atom 2 associated with atom 1, and select atom 7 associated with atom 6, and finally perform two sets of bond potential energy calculation tasks synchronously based on the atomic information of the above atoms.

[0088] Step 150: perform parallel calculations on the bond potential energy calculation tasks in multiple simulation calculation sub-models according to a preset calculation formula, and accumulate the obtained results to the corresponding atoms to generate bond potential energy calculation results.

[0089] Since the multiple simulation calculation sub-models in this embodiment all have independent calculation capabilities, when the calculation task of the bond potential energy of the calculation atom is stored inside the simulation calculation sub-model, each simulation calculation sub-model can perform parallel calculation of the bond potential energy calculation task according to the preset calculation formula. Accordingly, since the same atom may be affected by multiple effects at the same time, when a certain atom is assigned multiple bond potential energy calculation tasks at the same time or is associated with multiple bond potential energy calculation tasks, the results obtained by each bond potential energy calculation task should also be accumulated to the corresponding atom, so as to accurately obtain the bond potential energy calculation result.

[0090] Optionally, the preset calculation formula in this embodiment should be adjusted according to the bond type corresponding to the bond potential energy calculation task.

[0091] When the bond type corresponding to the bond potential energy calculation task is bond, the preset calculation formula should be:

[0092]

[0093] In the above formula, K b is the resonance coefficient, r is the relative distance between the two atoms, and r 0 is the standard distance, and x represents the coordinate difference between the two atoms along the x, y, and z directions.

[0094] When the bond type corresponding to the bond potential energy calculation task is angle, the preset calculation formula should be:

[0095]

[0096] F b =-(F a -F c )

[0097] The above formula is the angle formed by three atoms a, b, and c, where K θ is the resonance coefficient, θ 0 is the standard angle of angle, r ba represents the coordinate difference between a and b, |r ba| is the relative distance between a and b.

[0098] When the bond type corresponding to the bond potential energy calculation task is dihedral, the preset calculation formula should be:

[0099] U=A[1+cos(mΦ abcd -δ)]

[0100] The above formula is for a dihedral composed of atoms a, b, c, and d, where A represents the energy coefficient, Φ abcd represents the dihedral angle, δ is the standard angle, and m represents the number of times the maximum / minimum energy value appears after one rotation around the bond.

[0101] For a dihedral angle of abcd, define:

[0102] x ab =x a -x b

[0103] x bc =x b -x c

[0104] x cd =x c -x d

[0105] (y and z are the same as x)

[0106] The normal vector of the plane where a, b, c are located is:

[0107] Pbx=y ab × bc -z ab ×y bc

[0108] Pby=z ab × bc -x ab × bc

[0109] Pbz=x ab ×y bc -y ab × bc

[0110] The normal vector of the plane where b, c, d are located is:

[0111] Pcx=ybc×zcd-zbc×ycd

[0112] Pcy=z bc × cd -x bc× cd

[0113] Pcz=x bc ×y cd -y bc × cd

[0114] PbPc=Pbx×Pcx+Pby×Pcy+Pbz×Pcz

[0115] x a 、x b Represents the x-coordinates of atoms a and b

[0116]

[0117]

[0118] Fa(x)=fax

[0119] Fa(y)=fay

[0120] Fa(z)=faz

[0121] Fb(x)=-fax-fcx+fb1x

[0122] Fb(y)=-fay-fcy+fb1y

[0123] Fb(z)=-faz-fcz+fb1z

[0124] Fc(x)=fcx-fb1x-fd1x

[0125] Fc(y)=fcy-fb1y-fd1y

[0126] Fc(z)=fcz-fb1z-fd1z

[0127] Fd(x)=fd1x

[0128] Fd(y)=fd1y

[0129] Fd(z)=fd1z

[0130] When the bond type corresponding to the bond potential energy calculation task is improper, the preset calculation formula should be:

[0131]

[0132] The rest of the calculation is the same as the preset calculation formula of dihedral.

[0133] The bond potential energy calculation method provided in this embodiment can divide the simulation calculation model into multiple simulation calculation sub-models with independent calculation capabilities, and can determine the calculation atoms in the atom list according to the preset allocation rules, and assign the bond potential energy calculation tasks to the calculation atoms, so as to reasonably distribute the calculation tasks of the bond potential energy to each simulation calculation sub-model. In practical applications, all the bond potential energy tasks in the simulation calculation model can be traversed quickly and non-repetitively, and there is no data interdependence between the simulation calculation sub-models, so a parallel method can be used to accelerate the calculation process, thereby greatly improving the efficiency of engineering development.

[0134] Embodiment 2

[0135] Figure 3 is a schematic diagram of the structure of the bonding potential energy calculation device provided by an embodiment of the present invention, such as Figure 3 As shown, the bonding potential energy calculation device comprises:

[0136] The model construction module 210 is used to construct a simulation calculation model and divide the simulation calculation model into a plurality of simulation calculation sub-models with independent calculation capabilities;

[0137] The acquisition generation module 220 is used to obtain the atomic information of all atoms in the simulation calculation model, wherein the atomic information includes: atomic coordinates, atomic bonding types and atomic bonding association relationships, and generate an atom list according to the atomic bonding types and atomic bonding association relationships;

[0138] An allocation module 230 is used to determine the calculation atom in the atom list according to a preset allocation rule, and allocate a bond potential energy calculation task to the calculation atom;

[0139] The storage module 240 is used to determine the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and store the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs;

[0140] The calculation module 250 is used to perform parallel calculations on the bond potential energy calculation tasks in multiple simulation calculation sub-models according to a preset calculation formula, and accumulate the obtained results to the corresponding atoms to generate bond potential energy calculation results.

[0141] The bonding potential energy calculation device provided in this embodiment can divide the simulation calculation model into multiple simulation calculation sub-models with independent calculation capabilities through the model construction module, and can determine the calculation atom in the atom list according to the preset allocation rule through the allocation module, so as to allocate the bonding potential energy calculation task to the calculation atom, thereby improving the rationality of the calculation task allocation. At the same time, the parallel calculation of each simulation calculation sub-model can be realized through the calculation module, thereby improving the efficiency of the bonding potential energy calculation.

[0142] Based on the above embodiment, the bonding potential energy calculation device further includes:

[0143] The serial number adding module is used to add atomic serial numbers to all atoms in the simulation calculation model.

[0144] Based on the above embodiment, the bonding potential energy calculation device further includes:

[0145] The correction module is used to obtain the allocation amount of the bond potential energy calculation task of the atom. When the allocation amount of the bond potential energy calculation task is greater than a preset allocation amount threshold, the determination result of the calculation atom and the allocation result of the bond potential energy calculation task are corrected.

[0146] Based on the above embodiment, the acquisition generation module includes:

[0147] The bond unit is used to generate a bond list containing two columns of data when the atomic bonding type is bond, and the two columns of data in the bond list are paired;

[0148] The angle unit is used to generate an angle list containing three columns of data when the atomic bonding type is angle, and the first column of data in the angle list is paired with the third column of data;

[0149] The dihedral angle unit is used to generate a dihedral angle list containing four columns of data when the atomic bonding type is dihedral and / or improper, and the first column of data in the dihedral angle list is paired with the fourth column of data, and the second column of data is paired with the third column of data.

[0150] Based on the above embodiment, the allocation module includes:

[0151] The mode unit is used to calculate the maximum frequency of occurrence of atoms in each column of data in the atom list through the mode function, and set the data column with the smallest maximum frequency of occurrence of atoms and the data column paired with the data column as the primary selected data column;

[0152] The tabulate unit is used to calculate the frequency of occurrence of each atom in the preliminary data column through the tabulate function, and determine the total frequency of occurrence of each atom after the matrix dimensions are adjusted to be consistent;

[0153] The selection unit is used to set the total occurrence frequency of the atom to the unselected frequency of the atom, and set the selected frequency of the atom to 0, traverse the atom list, obtain the selected frequencies of any two atoms in the preliminary selection data column, and when the selected frequencies of the two atoms are the same, select the atom with less unselected frequency as the calculation atom; when the selected frequencies of the two atoms are different, select the atom with less selected frequency as the calculation atom;

[0154] The processing unit is used to, after completing the selection of the calculation atom, increase the selected frequency of the selected atom by +1, and decrease the unselected frequencies of the two atoms participating in the selection of the calculation atom by -1.

[0155] The bond potential energy calculation device provided in the embodiment of the present invention can execute the bond potential energy calculation method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0156] Embodiment 3

[0157] Figure 4 A schematic diagram of the structure of a terminal provided by an embodiment of the present invention. Figure 4 A block diagram of an exemplary terminal 12 suitable for use in implementing embodiments of the present invention is shown. Figure 4 The terminal 12 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0158] like Figure 4 As shown, the terminal 12 is in the form of a general purpose computing device. The components of the terminal 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 connecting different system components (including the system memory 28 and the processing unit 16).

[0159] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0160] Terminal 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by terminal 12, including volatile and non-volatile media, removable and non-removable media.

[0161] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache 32. Terminal 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 4 not shown, usually called a "hard drive"). Although Figure 4Not shown in the figure, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The system memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present invention.

[0162] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 42 generally perform the functions and / or methods of the embodiments described herein.

[0163] The terminal 12 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), may communicate with one or more devices that enable a user to interact with the terminal 12, and / or may communicate with any device that enables the terminal 12 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input / output (I / O) interface 22. Furthermore, the terminal 12 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other modules of the terminal 12 via a bus 18. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the terminal 12, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0164] The processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing the bonding potential energy calculation method provided in the embodiment of the present invention.

[0165] Embodiment 4

[0166] An embodiment of the present invention further provides a storage medium comprising computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are used to execute any of the bond potential energy calculation methods provided in the above embodiments.

[0167] The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

[0168] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0169] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0170] Computer program code for performing the operations of the present invention may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0171] Embodiment 5

[0172] An embodiment of the present invention provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the bond potential energy calculation method provided in the above embodiment.

[0173] The above descriptions are merely embodiments of the present disclosure and are not intended to limit the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method for calculating bonding potential energy, characterized in that: include: Constructing a simulation computing model, and dividing the simulation computing model into multiple simulation computing sub-models with independent computing capabilities; Acquire atomic information of all atoms in the simulation calculation model, wherein the atomic information includes atomic coordinates, atomic bonding types and atomic bonding association relationships, and generate an atomic list according to the atomic bonding types and atomic bonding association relationships; Determine the calculation atom in the atom list according to the preset allocation rule, and assign the bond potential energy calculation task to the calculation atom; Determine the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and store the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs; The bond potential energy calculation tasks in multiple simulation calculation sub-models are calculated in parallel according to the preset calculation formula, and the obtained results are accumulated to the corresponding atoms to generate the bond potential energy calculation results.

2. The method for calculating bonding potential energy according to claim 1, characterized in that: The simulation computing model is a space cube model, and the simulation computing model is divided into a plurality of simulation computing sub-models with independent computing capabilities, including: The spatial cube model is divided along the X, Y, and Z directions to generate multiple spatial cube sub-models with independent computing capabilities.

3. The bonding potential energy calculation method according to claim 1, characterized in that: Before obtaining the atomic information of all atoms in the simulation calculation model, the bonding potential energy calculation method includes: Add atomic numbers to all atoms in the simulation model; The step of determining the affiliation of the simulation calculation sub-model of the calculated atom according to the atomic coordinates of the calculated atom, and storing the bond potential energy calculation task assigned to the calculated atom in the simulation calculation sub-model to which the calculated atom belongs, comprises: The simulation calculation sub-model to which the calculation atom belongs is determined according to the atomic coordinates of the calculation atom, and the bond potential energy calculation task assigned to the calculation atom and the atomic number of the calculation atom are stored in the simulation calculation sub-model to which the calculation atom belongs.

4. The method for calculating bonding potential energy according to claim 1, characterized in that: The step of generating an atom list according to the atom bonding type and the atom bonding association relationship includes: When the atomic bonding type is bond, a bond list containing two columns of data is generated, and the two columns of data in the bond list are paired; When the atomic bonding type is angle, an angle list containing three columns of data is generated, and the first column of data in the angle list is paired with the third column of data; When the atomic bonding type is dihedral and / or improper, a dihedral angle list containing four columns of data is generated, and the first column of data in the dihedral angle list is paired with the fourth column of data, and the second column of data is paired with the third column of data; The step of determining the calculation atom in the atom list according to the preset allocation rule and assigning the bond potential energy calculation task to the calculation atom includes: The mode function is used to calculate the maximum frequency of occurrence of atoms in each column of data in the atom list, and the data column with the smallest maximum frequency of atoms and the data column paired with the data column are set as the primary selected data columns; The tabulate function is used to calculate the frequency of occurrence of each atom in the preliminary data column, and after the matrix dimensions are adjusted to be consistent, the total frequency of occurrence of each atom is determined; Set the total occurrence frequency of the atom to the unselected frequency of the atom, and set the selected frequency of the atom to 0, traverse the atom list, obtain the selected frequencies of any two atoms in the preliminary data column, and when the selected frequencies of the two atoms are the same, select the atom with less unselected frequency as the calculation atom; when the selected frequencies of the two atoms are different, select the atom with less selected frequency as the calculation atom; After the selection of the calculation atom is completed, the selected frequency of the selected atom is +1, and the unselected frequencies of the two atoms participating in the calculation atom selection are both -1.

5. The method for calculating bonding potential energy according to claim 1, characterized in that: After assigning the bond potential energy calculation task to the calculation atom, the bond potential energy calculation method comprises: The bond potential energy calculation task allocation amount of the atom is obtained. When the bond potential energy calculation task allocation amount is greater than a preset allocation amount threshold, the determination result of the calculation atom and the allocation result of the bond potential energy calculation task are corrected.

6. The method for calculating bonding potential energy according to claim 1, characterized in that: The preset calculation formula includes: When the bond type corresponding to the bond potential energy calculation task is bond, the preset calculation formula is: When the bond type corresponding to the bond potential energy calculation task is angle, the preset calculation formula is: F b =-(F a -F c ) When the bond type corresponding to the bond potential energy calculation task is dihedral, the preset calculation formula is: U=A[1+cos(mΦ abcd -d)] When the bond type corresponding to the bond potential energy calculation task is improper, the preset calculation formula is:

7. A bonding potential energy calculation device, characterized in that: include: A model building module is used to build a simulation computing model and divide the simulation computing model into multiple simulation computing sub-models with independent computing capabilities; An acquisition generation module is used to acquire atomic information of all atoms in the simulation calculation model, wherein the atomic information includes atomic coordinates, atomic bonding types and atomic bonding association relationships, and generate an atomic list according to the atomic bonding types and atomic bonding association relationships; An allocation module, used for determining the calculation atom in the atom list according to a preset allocation rule, and allocating the bond potential energy calculation task to the calculation atom; A storage module, used for determining the simulation calculation sub-model to which the calculation atom belongs according to the atomic coordinates of the calculation atom, and storing the bond potential energy calculation task assigned to the calculation atom in the simulation calculation sub-model to which the calculation atom belongs; The calculation module is used to perform parallel calculations on the bond potential energy calculation tasks in multiple simulation calculation sub-models according to a preset calculation formula, and accumulate the obtained results to the corresponding atoms to generate bond potential energy calculation results.

8. A terminal, characterized in that: include: one or more processors; A storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the bonding potential energy calculation method according to any one of claims 1 to 6.

9. A storage medium comprising computer executable instructions, wherein the computer executable instructions are used to perform the bonding potential energy calculation method according to any one of claims 1 to 6 when executed by a computer processor.

10. A computer product, comprising a computer program, characterized in that: When the computer program is executed by a processor, the bonding potential energy calculation method according to any one of claims 1 to 6 is implemented.