Algorithm selection program, algorithm selection method and information processing device

The algorithm selection program addresses the trade-off between execution time and accuracy in quantum chemical calculations by dynamically switching between lightweight and high-precision algorithms based on nuclear gradient norms, effectively reducing computational time without sacrificing accuracy.

JP2025131437APending Publication Date: 2025-09-09FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024029192
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-28
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

There is a trade-off between execution time and accuracy in structural optimization of quantum chemical calculations, with highly accurate methods requiring significantly longer computational times.

Method used

An algorithm selection program that switches between lightweight and high-precision algorithms during structural optimization based on the nuclear gradient norm, using a first algorithm for cycles where the norm is above a threshold and a second, more accurate algorithm for cycles where it is below, thereby reducing overall execution time without compromising accuracy.

Benefits of technology

This approach reduces the time required for structural optimization while maintaining accuracy by strategically switching algorithms based on the nuclear gradient norm thresholds, minimizing the total number of cycles needed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025131437000001_ABST
    Figure 2025131437000001_ABST
Patent Text Reader

Abstract

To shorten time taken for structure optimization.SOLUTION: An information processing device executes first quantization chemistry calculation algorithm for an object molecule and calculates a nuclear gradient norm for every cycle in the case of calculating a solution of structure optimization of molecules by using quantization chemistry calculation algorithm for repeatedly executing the calculation for a plurality of cycles. The information processing device executes the first quantization chemistry calculation algorithm for a cycle of which the nuclear gradient norm is a first threshold or more. The information processing device executes second quantization chemistry calculation algorithm of which the execution time is longer than that of the first quantization chemistry calculation algorithm for a cycle of which the nuclear gradient norm is less than the first threshold.SELECTED DRAWING: Figure 3A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an algorithm selection program and the like. [Background technology]

[0002] Quantum chemical calculations are a method for analyzing the structure and properties of molecules from their electronic states. Quantum chemical calculations are based on calculating the energy of the target molecule. By determining the energy of a molecule, it is possible to understand various properties, which can be used in drug discovery and the development of new materials.

[0003] A typical process performed in quantum chemical calculations is molecular structure optimization. Structural optimization involves calculating the molecular structure to find a stable molecular structure. For example, in structural optimization, energy and nuclear gradient calculations are repeatedly performed while changing the molecular structure, and convergence occurs when the energy difference or nuclear gradient norm falls below a threshold.

[0004] FIG. 11 is a diagram for explaining molecular structure optimization. In FIG. 11, a water molecule "H2O" is used as an example. Graph G1 shows the molecular energy in each structure of the molecule (water molecule). The horizontal axis of graph G1 corresponds to the molecular structure, and the vertical axis corresponds to the molecular energy. Hereinafter, molecular energy will be referred to as "energy" as appropriate.

[0005] In structural optimization, the positions of atoms are displaced little by little according to the force vector acting on each atom, gradually optimizing the structure. For example, let's say the initial structure of a molecule is molecular structure 1-1. Let's say the position on graph G1 corresponding to molecular structure 1-1 and energy is (1). When molecular structure 1-1 is changed to molecular structure 1-2 through structural optimization, the position on graph G1 corresponding to molecular structure and energy becomes (2).

[0006] Subsequently, when molecular structure 1-2 is changed to molecular structure 1-3 through structural optimization, the position on graph G1 corresponding to the molecular structure and energy becomes (3). When molecular structure 1-3 is changed to molecular structure 1-4, the position on graph G1 corresponding to the molecular structure and energy becomes (4). When molecular structure 1-4 is changed to molecular structure 1-5, the position on graph G1 corresponding to the molecular structure and energy becomes (5).

[0007] Molecular structure 1-5 has the minimum energy and is the optimized structure.

[0008] Figure 12 shows the relationship between the energy difference and the kernel gradient norm as the cycle progresses. The horizontal axis of graph G2 corresponds to the cycle (optimization cycle), and the vertical axis corresponds to the value (the value of the energy difference or the value of the kernel gradient norm). Line L1 shows the relationship between the cycle and the energy difference. Line L2 shows the relationship between the cycle and the kernel gradient norm.

[0009] For example, one cycle is the process from updating a molecular structure to calculating the energy and nuclear gradient of the updated molecular structure. Below, the nth cycle will be referred to as cycle n. The energy difference indicates the difference between the energy of the molecular structure in the previous cycle and the energy of the molecular structure in the current cycle. The nuclear gradient norm is the length of the sum of the vectors acting on each atom obtained from the nuclear gradient calculation results. The energy difference can be calculated in two or more cycles. The nuclear gradient norm can be calculated in one or more cycles.

[0010] 12, the energy difference is less than the threshold value Th1 and the nuclear gradient norm is less than the threshold value Th2 at cycle "6." For example, at cycle "6," the molecule reaches the optimized structure, and the number of cycles (optimization cycle number) required to reach the optimized structure is "6."

[0011] Next, the relationship between the accuracy level and the amount of calculation in the quantum chemical calculation described above will be explained. Fig. 13 is a diagram for explaining the relationship between the accuracy level and the amount of calculation in the quantum chemical calculation. As shown in Fig. 13, the accuracy level and the amount of calculation are determined by the combination of the basis set and the algorithm.

[0012] A basis set is a set of functions used to describe the electronic state in a molecule. For example, basis sets include STO-3G, cc-pVDZ, cc-pVTZ, cc-pVQZ, cc-pV5Z, etc. The problem scales that can be handled by molecules increase in the order of STO-3G, cc-pVDZ, cc-pVTZ, cc-pVQZ, and cc-pV5Z (STO-3G is the smallest problem scale).

[0013] The algorithm is a method for analyzing the electronic structure of a molecule, and determines the energy and nuclear gradient. The algorithm performs the analysis using one of the basis functions included in the basis set. Algorithms include HF (Hartree Fock method), MP2 (Second-order Moller-Plesset method), CC (Coupled Cluster method), and FCI (Full Configuration Interaction method). CCSD is one of the CC methods, and SD stands for "Singles and Doubles." CCSD(T) is one of the CC methods, and SD(T) stands for "Singles, Doubles, and perturbative Triples." The computational complexity increases in the order of HF, MP2, CCSD, CCSD(T), and FCI, and the accuracy generally increases.

[0014] For example, performing quantum chemical calculations using a combination of a large-scale basis set and a computationally intensive algorithm results in a high level of accuracy but a long execution time, whereas performing quantum chemical calculations using a small-scale basis set and a computationally intensive algorithm results in a low level of accuracy but a short execution time. [Prior art documents] [Patent documents]

[0015] [Patent Document 1] International Publication No. 2011 / 036952 Summary of the Invention [Problem to be solved by the invention]

[0016] In the above-mentioned conventional techniques, there is a trade-off between execution time and accuracy regarding structural optimization.

[0017] Figure 14 is a diagram for explaining the relationship between execution time and accuracy regarding structural optimization. As an example, in Figure 14, the molecule to be optimized is "C4H10", and the algorithms are HF, MP2, and CCSD. Furthermore, the basis set used by each algorithm is "cc-pVDZ".

[0018] Graph G3 shows the execution time for each algorithm. The vertical axis of graph G3 corresponds to the execution time, and the horizontal axis corresponds to the algorithm. As shown in graph G3, the execution time increases in the order of HF, MP2, and CCSD.

[0019] Graph G4 shows the structural error (accuracy) for each algorithm. The larger the structural error, the lower the accuracy. The vertical axis of graph G4 corresponds to the structural error, and the horizontal axis corresponds to the algorithm. As shown in graph G4, the structural error decreases in the order HF, MP2, and CCSD.

[0020] As shown in graphs G3 and G4, highly accurate structural optimization requires a computationally intensive algorithm, and the more computationally intensive the algorithm, the longer the time required for structural optimization. Note that execution time is calculated as "execution time = (energy calculation time + nuclear gradient calculation time) x number of cycles," and the energy calculation time and nuclear gradient calculation time increase exponentially with the molecular scale.

[0021] In other words, it is necessary to reduce the time required for structural optimization.

[0022] In one aspect, the present invention aims to provide an algorithm selection program, an algorithm selection method, and an information processing device that can reduce the time required for structural optimization. [Means for solving the problem]

[0023] In the first proposal, a computer executes the following process. When calculating a solution for molecular structural optimization using a quantum chemistry calculation algorithm that repeatedly executes calculations over multiple cycles, the computer executes a first quantum chemistry calculation algorithm for a target molecule and calculates a nuclear gradient norm for each cycle. The computer executes the first quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold. The computer executes a second quantum chemistry calculation algorithm, which has a longer execution time than the first quantum chemistry calculation algorithm, for cycles in which the nuclear gradient norm is less than the first threshold. [Effects of the Invention]

[0024] The time required for structural optimization can be reduced. [Brief explanation of the drawings]

[0025] [Figure 1] FIG. 1 is a diagram for explaining technical issues regarding algorithm switching. [Figure 2] Figure 2 shows the calculation accuracy of the kernel gradient norm of the lightweight algorithm. [Figure 3A] FIG. 3A is a diagram illustrating the processing of the information processing device according to the present embodiment. [Figure 3B] FIG. 3B is a diagram showing the number of cycles required for structural optimization using each algorithm. [Figure 4] FIG. 4 is a functional block diagram showing the configuration of the information processing device according to this embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of the data structure of the algorithm candidate data. [Figure 6]FIG. 6 is a diagram illustrating an example of the data structure of the algorithm list. [Figure 7] FIG. 7 is a flowchart illustrating a processing procedure of the information processing device according to the present embodiment. [Figure 8] FIG. 8 is a flowchart showing the procedure of the algorithm creation process. [Figure 9] FIG. 9 is a flowchart showing the procedure of the structural optimization process. [Figure 10] FIG. 10 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing apparatus of this embodiment. [Figure 11] FIG. 11 is a diagram for explaining molecular structure optimization. [Figure 12] FIG. 12 shows the relationship between the energy difference and the kernel gradient norm over the course of a cycle. [Figure 13] FIG. 13 is a diagram for explaining the relationship between the accuracy level and the amount of calculation in quantum chemical calculation. [Figure 14] FIG. 14 is a diagram for explaining the relationship between execution time and accuracy regarding structural optimization. DETAILED DESCRIPTION OF THE INVENTION

[0026] Hereinafter, embodiments of the algorithm selection program, algorithm selection method, and information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these embodiments. [Example]

[0027] One approach to shortening the execution time of high-precision geometry optimization is to use a lightweight algorithm in the first few cycles and then switch to a high-precision algorithm in the optimal cycle. For example, one approach is to first use HF, MP2, etc. to bring the initial molecular structure closer to the optimized structure, and then calculate the optimized structure using CCSD, etc.

[0028] Here, we will explain the technical issues involved in switching from a lightweight algorithm to a high-precision algorithm. Figure 1 is a diagram used to explain the technical issues involved in switching algorithms. For example, let us assume that the lightweight algorithms are HF and MP2, and the high-precision algorithm is CCSD. The basis set used by each algorithm is "STO-3G," and the molecule to be optimized is "caffeine."

[0029] First, graph G5 will be explained. Graph G5 shows the execution time of structural optimization when a lightweight algorithm is first executed for x cycles (x number of cycles) and then switched to a high-precision algorithm. This execution time is the total execution time of the lightweight algorithm and the high-precision algorithm. The horizontal axis of graph G5 corresponds to the number of cycles executed by the lightweight algorithm, and the vertical axis corresponds to the execution time. Note that T1 is the execution time of structural optimization when only the high-precision algorithm is used from the beginning.

[0030] Line L3 of graph G5 shows the execution time when CCSD is executed after first executing HF for x cycles. Line L4 of graph G5 shows the execution time when CCSD is executed after first executing MP2 for x cycles.

[0031] In graph G5, the number of cycles x at which the execution time of line L3 is equal to or greater than T1 indicates that the execution time when CCSD is executed after first executing HF for x cycles is longer than the execution time when CCSD is executed from the beginning.In graph G5, the number of cycles x at which the execution time of line L4 is equal to or greater than T1 indicates that the execution time when CCSD is executed after first executing MP2 for x cycles is longer than the execution time when CCSD is executed from the beginning.

[0032] For example, when we look at the number of cycles "x=4" in graph G5, the execution time of line L3 is equal to or greater than T1. This indicates that the execution time when CCSD is executed after first executing 4 cycles of HF is longer than the execution time when CCSD is executed from the beginning. On the other hand, the execution time of line L4 is less than T1. This indicates that the execution time when CCSD is executed after first executing 4 cycles of MP2 is shorter than the execution time when CCSD is executed from the beginning.

[0033] Next, graph G6 will be explained. Graph G6 shows the total number of cycles for structural optimization when a lightweight algorithm is first executed x cycles (number of cycles x) and then switched to a high-precision algorithm. This total number of cycles is the sum of the number of cycles for the lightweight algorithm and the number of cycles for the high-precision algorithm. The horizontal axis of graph G6 corresponds to the number of cycles for which the lightweight algorithm is executed, and the vertical axis corresponds to the total number of cycles. Note that C1 is the total number of cycles when only the high-precision algorithm is used.

[0034] Line L3 of graph G6 shows the total number of cycles when CCSD is executed after first executing HF for x cycles. Line L4 of graph G6 shows the execution time when CCSD is executed after first executing MP2 for x cycles.

[0035] In graph G6, the cycle number x at which the total cycle number of line L3 is equal to or greater than C1 indicates that the total cycle number when CCSD is executed after first executing HF for x cycles is greater than the total cycle number when CCSD is executed from the beginning. In graph G6, the cycle number x at which the total cycle number of line L4 is equal to or greater than C1 indicates that the total cycle number when CCSD is executed after first executing MP2 for x cycles is greater than the total cycle number when CCSD is executed from the beginning.

[0036] For example, if we look at the number of cycles "x=4" in graph G6, the total number of cycles on line L3 is the total number of cycles equal to or greater than C1. This indicates that the total number of cycles when CCSD is executed after first executing four cycles of HF is greater than the total number of cycles when CCSD is executed from the beginning. On the other hand, the total number of cycles on line L4 is almost the same as C1. This indicates that the total number of cycles when CCSD is executed after first executing four cycles of MP2 is almost the same as the total number of cycles when CCSD is executed from the beginning.

[0037] As explained in graphs G5 and G6 in Figure 1, if the number of cycles using a lightweight algorithm is too high, the total number of cycles increases, making it difficult to reduce the execution time. If the number of cycles using a lightweight algorithm is too high, accuracy may deteriorate. Furthermore, the point at which the total number of cycles begins to increase differs depending on the type of lightweight algorithm. For this reason, it is important to determine how many cycles to use a lightweight algorithm so as to minimize the execution time required for structural optimization.

[0038] Above, we have explained the technical challenges involved in switching from a lightweight algorithm to a high-precision algorithm.

[0039] As explained in graph G2 of Figure 12, the kernel gradient norm can be calculated from the first cycle. In addition, regardless of the algorithm, the kernel gradient norm is 10 -2 ~10 -1 Because the calculation is only about the same, we focus on the fact that accurate calculations can be performed even with a lightweight algorithm.

[0040] Figure 2 shows the calculation accuracy of the nuclear gradient norm using a lightweight algorithm. Graph G7 in Figure 2 shows the error relative to CCSD when the nuclear gradient norm is calculated for each molecule using a lightweight algorithm (HF, MP2). The horizontal axis of graph G7 corresponds to the type of molecule, and the vertical axis corresponds to the error (error of the nuclear gradient norm relative to CCSD; hereafter, simply referred to as error in the explanation of Figure 2).

[0041] In the example shown in Figure 2, the molecules used for structural optimization are LiH, O2, H2O, BeH2, NH3, CO2, HCl, CH4, C2H2, C2H4, C2H6, C3H4, C3H6, C3H8, C4H6, C4H8, and C4H10.

[0042] For example, when using the HF algorithm, the maximum error for each molecule is 0.2. When using the MP2 algorithm, the maximum error for each molecule is 0.03. As long as the nuclear gradient norm is larger than these maximum errors, accurate calculations can be performed even using a lightweight algorithm.

[0043] More specifically, when performing structural optimization, the calculation can be performed accurately even when using HF in the cycles where the kernel gradient norm is 0.2 or more. Similarly, when performing structural optimization, the calculation can be performed accurately even when using MP2 in the cycles where the kernel gradient norm is 0.03 or more.

[0044] The information processing device according to this embodiment focuses on the maximum error of the kernel gradient norm explained in Fig. 2, and switches algorithms in the process of executing structural optimization, thereby making it possible to shorten the execution time of high-precision structural optimization. In the following explanation, the information processing device according to this embodiment will be referred to as "information processing device 100."

[0045] FIG. 3A is a diagram for explaining the processing of the information processing device according to this embodiment. In this embodiment, a case where the algorithms HF, MP2, and CCSD are switched in stages is explained. The basis set used by each algorithm is "STO-3G," and the molecule to be subjected to structural optimization is "caffeine." The information processing device 100 performs a pre-execution process and then a real execution process.

[0046] The pre-execution process performed by the information processing device 100 will be described. The information processing device 100 selects the algorithm "HF" and the basis set "STO-3G" and performs structural optimization on the target molecule. This identifies the nuclear gradient norm for each cycle calculated by the algorithm "HF" and the basis set "STO-3G." For example, the nuclear gradient norm for each cycle is indicated by line L5 of graph G8. The combination of the algorithm and the basis set is expressed as "HF / STO-3G."

[0047] The vertical axis of graph G8 corresponds to the nuclear gradient norm obtained by HF / STO-3G, and the horizontal axis corresponds to the number of cycles performed by HF / STO-3G. In the example shown in Figure 3A, the optimized structure was identified by HF / STO-3G at cycle number "10" during the preliminary run.

[0048] The threshold Th shown in graph G8 HF is the maximum error of the HF explained in Figure 2. The threshold value Th shown in graph G8 MP2 is the maximum error of MP2 as explained in Figure 2.

[0049] The pre-execution process executed by the information processing device 100 has been described above.

[0050] The actual execution process executed by the information processing device 100 will be described. The information processing device 100 compares the result of the preliminary execution process (line L5 of graph G8) with the threshold value Th HF and threshold Th MP2 Based on this, the algorithm to be used is selected for each cycle.

[0051] The information processing device 100 determines whether the nuclear gradient norm calculated by the HF / STO-3G is a threshold value Th HF The information processing device 100 selects the algorithm “HF” in the cycle period in which the nuclear gradient norm calculated by HF / STO-3G is equal to or greater than the threshold value Th HF Less than or equal to the threshold value Th MP2The information processing device 100 selects the algorithm “MP2” in the cycle period in which the nuclear gradient norm calculated by the HF / STO-3G is equal to or greater than the threshold value Th MP2 For cycle periods less than , select the algorithm "CCSD" using a basis set specified by the user (it can be other than STO-3G).

[0052] In the example shown in FIG. 3A, the information processing device 100 selects "HF" in the first cycle, selects "MP2" in the second to fifth cycles, and selects "CCSD" from the sixth cycle onwards.

[0053] The information processing device 100 performs structural optimization of the molecule based on the selected result. For example, the information processing device 100 performs energy calculation and nuclear gradient calculation using "HF" in the first cycle. The information processing device 100 performs energy calculation and nuclear gradient calculation using "MP2" in the second to fifth cycles. The information processing device 100 performs energy calculation and nuclear gradient calculation using "CCSD" from the sixth cycle onwards.

[0054] As described above, the information processing apparatus 100 according to the present embodiment calculates the result of the pre-execution process (line L5 of graph G8) and the threshold value Th HF and threshold Th MP2 Based on this, the algorithm to be used for each cycle is selected, and structural optimization is performed based on the selected result. This allows a lightweight algorithm to be selected during the cycle period when accurate calculations are possible even with a lightweight algorithm, and a high-precision algorithm to be selected thereafter. In other words, the time required for structural optimization can be shortened while maintaining accuracy.

[0055] Figure 3B is a diagram showing the number of cycles required for structural optimization by each algorithm. In Figure 3B, the target algorithms are HF, MP2, CCSD, and CCSD(T) as an example. The horizontal axis of graph G9 in Figure 3B corresponds to the type of molecule, and the vertical axis corresponds to the number of structural optimization cycles. The number of structural optimization cycles is the number of cycles required to complete the structural optimization.

[0056] As shown in Figure 3B, the number of structural optimization cycles for other algorithms (MP2, CCSD, CCSD(T)) is not significantly different from the number of structural optimization cycles for HF. This means that, as explained in Figure 3A, even if HF is replaced with another algorithm, the number of structural optimization cycles does not change significantly.

[0057] Next, an example of the configuration of the information processing device 100 of this embodiment will be described. Fig. 4 is a functional block diagram showing the configuration of the information processing device according to this embodiment. As shown in Fig. 4, the information processing device 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.

[0058] The communication unit 110 executes data communication with an external device or the like via a network. The communication unit 110 is a network interface card (NIC) or the like. For example, the communication unit 110 may acquire molecular initial structure data 141, basis set data 142, algorithm candidate data 144, and the like from the external device or the like.

[0059] The input unit 120 is an input device that inputs various types of information to the control unit 150 of the information processing device 100. For example, the input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.

[0060] The display unit 130 is a display device that displays information output from the control unit 150.

[0061] The storage unit 140 includes molecular initial structure data 141, basis set data 142, a nuclear gradient norm list 143, algorithm candidate data 144, an algorithm list 145, and optimized structure data 146. The storage unit 140 is a memory or the like.

[0062] The molecular initial structure data 141 is data on the initial structure of a molecule that is the target of structural optimization.

[0063] The basis set data 142 includes basis sets such as STO-3G, cc-pVDZ, cc-pVTZ, cc-pVQZ, cc-pV5Z, etc. The basis set used in the structural optimization is designated in advance by the user.

[0064] The kernel gradient norm list 143 is a list generated by a pre-execution process, and the kernel gradient norm calculated in each cycle is set in the kernel gradient norm list 143. For example, the kernel gradient norm list 143 is information corresponding to the line L5 of the graph G8 described in FIG. 3A.

[0065] An algorithm to be used when performing structural optimization on a molecule is set in the algorithm candidate data 144. For example, the algorithm candidate data 144 associates the type of algorithm with a threshold value.

[0066] 5 is a diagram showing an example of the data structure of algorithm candidate data. As shown in FIG. 5, algorithms and thresholds are associated with each other in the algorithm candidate data 144. The algorithm is set to the type of algorithm described above. The threshold is the maximum error corresponding to each algorithm. The explanation regarding the maximum error is the same as that given in FIG. 3A. For example, the order of each element (record) of the algorithm candidate data is from the top to descending order of the thresholds.

[0067] The algorithms used for each cycle are set in the algorithm list 145. Fig. 6 is a diagram showing an example of the data structure of the algorithm list. In the example shown in Fig. 6, the cycle number is associated with the algorithm used in the corresponding cycle.

[0068] The optimized structure data 146 is the result of performing structure optimization on the initial molecular structure data 141 .

[0069] Next, we move on to explaining the control unit 150. The control unit 150 has an acquisition unit 151, a preliminary execution processing unit 152, and a production execution processing unit 153. The control unit 150 is a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like.

[0070] The acquisition unit 151 acquires the molecular initial structure data 141, the basis set data 142, the algorithm candidate data 144, etc. via the communication unit 110. The acquisition unit 151 may acquire the molecular initial structure data 141, the basis set data 142, the algorithm candidate data 144, etc. from the input unit 120.

[0071] The acquisition unit 151 stores the acquired molecular initial structure data 141, basis set data 142, algorithm candidate data 144, etc. in the storage unit 140.

[0072] The pre-execution processor 152 performs the pre-execution process described with reference to Fig. 3A. For example, the pre-execution processor 152 performs structure optimization on the molecular initial structure data 141 using "HF / STO-3G".

[0073] The pre-execution processor 152 calculates the energy and the kernel gradient for each cycle in the process of structural optimization, and calculates the kernel gradient norm. The pre-execution processor 152 registers the relationship between the number of cycles and the kernel gradient norm in the kernel gradient norm list 143.

[0074] Other aspects of the pre-execution processing unit 152 are the same as those of the pre-execution processing described with reference to FIG. 3A.

[0075] The actual execution processing unit 153 performs the actual execution processing described in Fig. 3A. For example, the actual execution processing unit 153 creates an algorithm list 145 by selecting an algorithm to be used for each cycle based on the kernel gradient norm list 143 and the algorithm candidate data 144. The basis set to be used in the actual execution processing is specified in advance by the user.

[0076] The actual execution processing unit 153 compares the kernel gradient norm of each cycle of the kernel gradient norm list 143 with the threshold value of the algorithm candidate data 144. HF In the cycle period (for example, the first cycle) where this occurs, the algorithm "HF" is selected.

[0077] The actual execution processing unit 153 determines whether the kernel gradient norm is a threshold value Th HF Less than or equal to the threshold value Th MP2 In the cycle period (for example, the second to fifth cycles) in which the kernel gradient norm is equal to or greater than the threshold value Th MP2 In the cycle period when the cycle time is less than 1 / 2 cycle (for example, the 6th to 11th cycles), the algorithm "CCSD" is selected.

[0078] The production execution processing unit 153 executes the above process to create the algorithm list 145 shown in FIG.

[0079] The actual execution processing unit 153 selects an algorithm for each cycle number based on the created algorithm list 145, and executes structural optimization for the molecular initial structure data 141. For example, in structural optimization, the actual execution processing unit 153 selects and executes the algorithm "HF" in the first cycle. The actual execution processing unit 153 selects and executes the algorithm "MP2" in the second to fifth cycles. The actual execution processing unit 153 selects and executes the algorithm "CCSD" in the sixth to eleventh cycles.

[0080] The actual execution processing unit 153 stores the execution result of the structural optimization in the storage unit 140 as optimized structural data 146. The actual execution processing unit 153 may output the optimized structural data 146 to the display unit 130 to display it.

[0081] Next, an example of the processing procedure of the information processing device 100 according to this embodiment will be described. Fig. 7 is a flowchart showing the processing procedure of the information processing device according to this embodiment. The acquisition unit 151 of the information processing device 100 acquires the molecular initial structure data 141 and the algorithm candidate data 144 (step S101).

[0082] The pre-execution processing unit 152 of the information processing device 100 pre-executes structural optimization of the target molecule using HF / STO-3G, and creates a nuclear gradient norm list 143 (step S102).

[0083] The actual execution processing unit 153 of the information processing device 100 executes an algorithm list creation process (step S103), and executes a structural optimization process (step S104).

[0084] The production execution processing unit 153 outputs the optimized structure data 146 (step S105).

[0085] Next, an example of the processing procedure for the algorithm list creation processing described in step S104 of Fig. 7 will be described. Fig. 8 is a flowchart showing the processing procedure for the algorithm creation processing. As shown in Fig. 8, the production execution processing unit 153 of the information processing device 100 initializes the algorithm list 145 to be empty (step S201).

[0086] The actual execution processing unit 153 extracts the leading element of the algorithm candidate data 144 (step S202). The actual execution processing unit 153 extracts the leading element of the kernel gradient norm list 143 (step S203).

[0087] If the kernel gradient norm is greater than the threshold value of the corresponding algorithm (step S204, Yes), the actual execution processing unit 153 proceeds to step S207. On the other hand, if the kernel gradient norm is not greater than the threshold value of the corresponding algorithm (step S204, No), the actual execution processing unit 153 proceeds to step S205.

[0088] If the algorithm candidate data 144 is empty (step S205, Yes), the actual execution processing unit 153 proceeds to step S207. On the other hand, if the algorithm candidate data 144 is not empty (step S205, No), the actual execution processing unit 153 extracts the first element of the algorithm candidate data 144 (step S206) and proceeds to step S207.

[0089] The actual execution processing unit 153 adds the corresponding algorithm to the end of the algorithm list 145 (step S207). If the kernel gradient norm is not empty (step S208, No), the actual execution processing unit 153 proceeds to step S203. On the other hand, if the kernel gradient norm is empty (step S208, Yes), the actual execution processing unit 153 ends the algorithm list creation process.

[0090] Next, an example of the processing procedure for the structural optimization processing described in step S105 of Fig. 7 will be described. Fig. 9 is a flowchart showing the processing procedure for the structural optimization processing. As shown in Fig. 9, the production execution processing unit 153 of the information processing device 100 extracts the top element of the algorithm list 145 (step S301).

[0091] The actual execution processing unit 153 calculates the energy and the nuclear gradient using the corresponding algorithm (step S302), and changes the molecular structure (step S303).

[0092] If the convergence condition is not satisfied (step S304, No), the actual execution processing unit 153 proceeds to step S305. If the algorithm list 145 is empty (step S305, Yes), the actual execution processing unit 153 proceeds to step S302. On the other hand, if the algorithm list 145 is not empty (step S305, No), the actual execution processing unit 153 proceeds to step S301.

[0093] If the convergence condition is satisfied (Yes at step S304), the production execution processing unit 153 outputs the molecular structure at the current stage as the optimized structure data 146 (step S306).

[0094] Next, the effects of the information processing device 100 according to this embodiment will be described. The information processing device 100 selects an algorithm to be used for each cycle based on the results of the pre-execution process and a threshold value set for each algorithm, and performs structural optimization based on the selection result. As a result, a lightweight algorithm can be selected during a cycle period in which accurate calculations can be performed even with a lightweight algorithm, and a high-precision algorithm can be selected thereafter. In other words, the time required for structural optimization can be shortened while maintaining accuracy.

[0095] The information processing device 100 creates an algorithm list that selects the algorithms to be used for each cycle based on the results of the pre-execution process and the threshold values ​​set for each algorithm. The information processing device 100 can perform structural optimization by gradually switching from a lightweight algorithm to a high-precision algorithm according to the algorithm list.

[0096] In this embodiment, the basis set used for each algorithm in the pre-execution process is described as "STO-3G," but this is not limiting and a different basis set may be used for each algorithm. However, it is desirable to select a small-scale basis set in order to shorten the execution time of the pre-execution process.

[0097] Next, a description will be given of an example of the hardware configuration of a computer that realizes the same functions as the above-described information processing device 100. Fig. 10 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing device of this embodiment.

[0098] 10, computer 200 includes CPU 201 that executes various types of arithmetic processing, input device 202 that accepts data input from a user, and display 203. Computer 200 also includes communication device 204 that exchanges data with external devices via a wired or wireless network, and interface device 205. Computer 200 also includes RAM 206 that temporarily stores various types of information, and hard disk drive 207. Each of devices 201 to 207 is connected to bus 208.

[0099] The hard disk drive 207 stores an acquisition program 207a, a pre-execution processing program 207b, and a production execution processing program 207c. The CPU 201 reads out each of the programs 207a to 207c and loads them into the RAM 206.

[0100] The acquisition program 207a functions as an acquisition process 206a. The pre-execution processing program 207b functions as a pre-execution processing process 206b. The production execution processing program 207c functions as a production execution processing process 206c.

[0101] The processing of the acquisition process 206a corresponds to the processing of the acquisition unit 151. The processing of the preliminary execution processing process 206b corresponds to the processing of the preliminary execution processing unit 152. The processing of the production execution processing process 206c corresponds to the processing of the production execution processing unit 153.

[0102] It should be noted that each of the programs 207a to 207c does not necessarily have to be stored in the hard disk device 207 from the beginning. For example, each of the programs may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 200. Then, the computer 200 may read and execute each of the programs 207a to 207c.

[0103] The following supplementary notes are further disclosed regarding the embodiments including the above examples.

[0104] (Appendix 1) When calculating a solution for molecular structure optimization using a quantum chemical calculation algorithm that repeatedly performs calculations over multiple cycles, a first quantum chemical calculation algorithm is executed for the target molecule, and a nuclear gradient norm is calculated for each cycle; performing the first quantum chemical calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold; For cycles in which the nuclear gradient norm is less than the first threshold, a second quantum chemistry calculation algorithm having a longer execution time than the first quantum chemistry calculation algorithm is executed. An algorithm selection program that causes a computer to execute a process.

[0105] (Appendix 2) The algorithm selection program according to appendix 1, further comprising causing a computer to execute the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the first threshold and greater than or equal to the second threshold, and to execute a third quantum chemistry calculation algorithm having a longer execution time than the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the second threshold.

[0106] (Supplementary Note 3) The algorithm selection program according to Supplementary Note 1, wherein the second quantum chemical calculation algorithm has higher accuracy than the first quantum chemical calculation algorithm.

[0107] (Supplementary Note 4) The algorithm selection program according to Supplementary Note 2, wherein the third quantum chemical calculation algorithm has higher accuracy than the second quantum chemical calculation algorithm.

[0108] (Appendix 5) The algorithm selection program according to Appendix 2, further causing a computer to execute a process of selecting a quantum chemistry calculation algorithm to be executed for each cycle from the first quantum chemistry calculation algorithm, the second quantum chemistry calculation algorithm, or the third quantum chemistry calculation algorithm, based on the nuclear gradient norm for each cycle, the first threshold, the second threshold, and the third threshold.

[0109] (Appendix 6) When calculating a solution for molecular structure optimization using a quantum chemical calculation algorithm that repeatedly performs calculations over multiple cycles, a first quantum chemical calculation algorithm is executed for the target molecule, and a nuclear gradient norm is calculated for each cycle; performing the first quantum chemical calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold; For cycles in which the nuclear gradient norm is less than the first threshold, a second quantum chemistry calculation algorithm having a longer execution time than the first quantum chemistry calculation algorithm is executed. An algorithm selection method characterized in that the processing is executed by a computer.

[0110] (Appendix 7) The algorithm selection method according to Appendix 6, characterized in that the computer further executes a process of executing the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the first threshold and greater than or equal to the second threshold, and executing a third quantum chemistry calculation algorithm having a longer execution time than the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the second threshold.

[0111] (Supplementary Note 8) The algorithm selection method according to Supplementary Note 6, wherein the second quantum chemical calculation algorithm has higher accuracy than the first quantum chemical calculation algorithm.

[0112] (Supplementary Note 9) The algorithm selection method according to Supplementary Note 7, wherein the third quantum chemical calculation algorithm has higher accuracy than the second quantum chemical calculation algorithm.

[0113] (Supplementary Note 10) The algorithm selection method according to Supplementary Note 7, further comprising causing a computer to execute a process of selecting a quantum chemistry calculation algorithm to be executed for each cycle from the first quantum chemistry calculation algorithm, the second quantum chemistry calculation algorithm, or the third quantum chemistry calculation algorithm, based on the nuclear gradient norm for each cycle, the first threshold, the second threshold, and the third threshold.

[0114] (Appendix 11) When calculating a solution for molecular structure optimization using a quantum chemical calculation algorithm that repeatedly performs calculations over multiple cycles, a first quantum chemical calculation algorithm is executed for the target molecule, and a nuclear gradient norm is calculated for each cycle; performing the first quantum chemical calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold; For cycles in which the nuclear gradient norm is less than the first threshold, a second quantum chemistry calculation algorithm having a longer execution time than the first quantum chemistry calculation algorithm is executed. An information processing device having a control unit that executes processing.

[0115] (Appendix 12) The information processing device described in Appendix 11, characterized in that the control unit further executes the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the first threshold and greater than or equal to the second threshold, and executes a third quantum chemistry calculation algorithm having a longer execution time than the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the second threshold.

[0116] (Supplementary Note 13) The information processing device according to Supplementary Note 11, wherein the second quantum chemical calculation algorithm has higher accuracy than the first quantum chemical calculation algorithm.

[0117] (Supplementary Note 14) The information processing device according to Supplementary Note 12, wherein the third quantum chemical calculation algorithm has higher accuracy than the second quantum chemical calculation algorithm.

[0118] (Supplementary Note 15) The information processing device according to Supplementary Note 12, characterized in that the control unit further executes a process of selecting a quantum chemistry calculation algorithm to be executed for each cycle from the first quantum chemistry calculation algorithm, the second quantum chemistry calculation algorithm, or the third quantum chemistry calculation algorithm, based on the nuclear gradient norm for each cycle, the first threshold, the second threshold, and the third threshold. [Explanation of symbols]

[0119] 100 Information processing device 110 Communications Department 120 Input section 130 Display section 140 Storage section 141 Molecular initial structure data 142 basis set data 143 Nuclear Gradient Norm List 144 Algorithm candidate data 145 Algorithm List 146 optimized structure data 150 control section 151 Acquisition Department 152 Pre-execution processing unit 153 Production execution processing section

Claims

1. When calculating a solution for molecular structure optimization using a quantum chemical calculation algorithm that repeatedly performs calculations in multiple cycles, a first quantum chemical calculation algorithm is executed on the target molecule, and a nuclear gradient norm is calculated for each cycle; executing the first quantum chemical calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold; For cycles in which the nuclear gradient norm is less than the first threshold, a second quantum chemistry calculation algorithm is executed, the second quantum chemistry calculation algorithm having a longer execution time than the first quantum chemistry calculation algorithm. An algorithm selection program that causes a computer to execute a process.

2. 2. The algorithm selection program according to claim 1, further causing a computer to execute a process of executing the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the first threshold and greater than or equal to the second threshold, and executing a third quantum chemistry calculation algorithm having a longer execution time than the second quantum chemistry calculation algorithm for cycles in which the nuclear gradient norm is less than the second threshold.

3. 2. The algorithm selection program according to claim 1, wherein the second quantum chemical calculation algorithm has higher accuracy than the first quantum chemical calculation algorithm.

4. 3. The algorithm selection program according to claim 2, wherein the third quantum chemical calculation algorithm has higher accuracy than the second quantum chemical calculation algorithm.

5. 3. The algorithm selection program according to claim 2, further causing a computer to execute a process of selecting a quantum chemistry calculation algorithm to be executed for each cycle from the first quantum chemistry calculation algorithm, the second quantum chemistry calculation algorithm, or the third quantum chemistry calculation algorithm, based on the nuclear gradient norm for each cycle, the first threshold, and the second threshold.

6. When calculating a solution for molecular structure optimization using a quantum chemical calculation algorithm that repeatedly performs calculations in multiple cycles, a first quantum chemical calculation algorithm is executed on the target molecule, and a nuclear gradient norm is calculated for each cycle; executing the first quantum chemical calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold; For cycles in which the nuclear gradient norm is less than the first threshold, a second quantum chemistry calculation algorithm is executed, the second quantum chemistry calculation algorithm having a longer execution time than the first quantum chemistry calculation algorithm. An algorithm selection method characterized in that the processing is executed by a computer.

7. When calculating a solution for molecular structure optimization using a quantum chemical calculation algorithm that repeatedly performs calculations in multiple cycles, a first quantum chemical calculation algorithm is executed on the target molecule, and a nuclear gradient norm is calculated for each cycle; executing the first quantum chemical calculation algorithm for cycles in which the nuclear gradient norm is equal to or greater than a first threshold; For cycles in which the nuclear gradient norm is less than the first threshold, a second quantum chemistry calculation algorithm is executed, the second quantum chemistry calculation algorithm having a longer execution time than the first quantum chemistry calculation algorithm. An information processing device having a control unit that executes processing.

Citation Information

Patent Citations

  • Electronic state calculation system and program

    WO2011036952A1