A visualization system for large-scale quantum chemistry

By designing a large-scale quantum chemistry visualization system, the problem of quantum chemistry computing software in the prior art lacks visualization functions and poor human-computer interaction is solved, and a quantum chemistry computing system with strong interaction capabilities and integrated computing and visualization is realized, simplifying the computing process.

CN115881247BActive Publication Date: 2025-06-20UNIV OF SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211557794.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-06
Publication Date
2025-06-20
Estimated Expiration
2042-12-06

AI Technical Summary

Technical Problem

Existing quantum chemocomputing software lacks visualization functions, and users need to use complex compilation and deployment and command line interaction, resulting in poor human-computer interaction and cumbersome computing process.

Method used

A large-scale quantum chemistry visualization system is designed, which can read structural files and visualize them, including atomic structure display and regulation module, single-point energy calculation module, structure optimization module, excited state calculation module, charge density visual output module, etc., through these modules, the entire process from calculation to visualization is realized.

Benefits of technology

A quantum chemo computing system with strong interactive capabilities and integrated computing and visualization has been realized, which has reduced the user's operation complexity, improved the visual display efficiency of calculation results, and simplified the process of first-principle computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115881247B_ABST
    Figure CN115881247B_ABST
Patent Text Reader

Abstract

The present invention relates to the fields of chemistry and materials science, and discloses a visualization system for large-scale quantum chemistry, which calculates the energy information of each structure in the calculation system, and finds the minimum-energy structure in the system as the optimized structure by means of gradient descent, and displays the structures before and after optimization in the form of an atomic coordinate matrix for easy visualization; at the same time, it can also obtain information such as charge density, differential charge density tensor, difference tensor, etc. according to the energy information of the structure, and draw visual images by using these information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the fields of chemistry and materials science, and particularly to a visualization system for large-scale quantum chemistry. Background Art

[0002] In the task of new material design, it is of guiding significance to calculate and predict the properties of new materials through theoretical means.

[0003] At present, there is no mature material simulation calculation software that does not require compilation and deployment and has visualization function.

[0004] Existing calculation software, such as the VASP calculation software developed by the University of Vienna, often requires users to perform complex compilation and deployment on the Linux system. After modeling the structure through other types of modeling software, the structure is converted into a text file, and then the text file is submitted for calculation in the form of a command line. The calculation process is complex and highly dependent on the server environment, and it is easy to have installation failures.

[0005] Currently, the general calculation software has weak human-computer interaction. The calculation process is completely interacted in the form of a command line, and often requires users to visualize the text-form output through other drawing software, and the process is obscure and cumbersome.

[0006] Among the users of materials science calculations, a large part of the group are researchers engaged in experimental work. Calculation software with simple processes, fast calculation speeds, and strong visualization functions is often the need of these users. Summary of the Invention

[0007] To solve the above technical problems, the present invention provides a visualization system for large-scale quantum chemistry.

[0008] To solve the above technical problems, the present invention adopts the following technical solutions:

[0009] A visualization system for large-scale quantum chemistry, which can read the structure information of the structure file and visualize the structure. The structure information includes lattice constants, lattice coordinates, atomic types and numbers, atomic coordinate types, and atomic coordinate matrices, including:

[0010] An atomic structure display adjustment module, which visualizes the structure by visualizing the atomic coordinate matrix in the structure information;

[0011] A single-point energy calculation module, which performs a Fourier transform on the calculation points in the structure to convert the calculation points into reciprocal lattice points Wherein is the wave vector, is the lattice vector, is a real-space coordinate vector, and δ(·) is the Dirac δ function. The kinetic energy term of the structure can be calculated. By loading the pseudopotential file and processing the outermost electrons, the Coulomb potential, exchange-correlation potential, and nuclear attraction potential of the structure can be obtained, and the Hamiltonian of the structure can be generated. By performing iterative diagonalization on the Hamiltonian, the energy information of the structure can be obtained. The energy information includes the orbital wave functions and the energies of the wave functions in the structure;

[0012] A structure optimization module obtains the energy information corresponding to each structure of the system through a single-point energy calculation module, and finds the minimum point of the potential energy surface by the method of gradient descent. The minimum structure within the obtained system is used as the optimized structure;

[0013] An excited state calculation module obtains the excitation energy of the system based on the TDDFT method and obtains the electron-hole information in the excited state case;

[0014] A charge density visualization output module calculates the charge density of the structure by obtaining the tensor of the square of the structure wave function, and obtains a charge density map after visualizing the charge density;

[0015] A differential charge density visualization module calculates the difference between the charge density tensors of multiple structures within the system, and draws a difference contour map based on the obtained differential charge density tensor;

[0016] An excited state electron-hole visualization module subtracts the charge densities of the electrons and holes in the electron-hole information to obtain a difference tensor, and draws an isosurface based on the difference tensor;

[0017] A structure optimization visualization update module calls the atomic structure display module to visualize the atomic coordinate matrix of the optimized structure obtained by the structure optimization module, and obtains a visualization image of the optimized structure.

[0018] Furthermore, it also includes a structure file reading module for reading the structure information of the structure file; the structure file reading module predefines the reading and writing logics of different files according to the standards of various structure files, and parses the structure file including the structure information through the text data stream and the regular engine, and generates the structure information required for the calculation.

[0019] Furthermore, it also includes a storage structure information module for writing the structure information of the optimized structure into the structure file; the storage structure information module predefines the output method of the structure file according to the general format of the structure file, and outputs the structure information of the optimized structure as a structure file according to the predefined output method of the structure file.

[0020] Compared with the prior art, the beneficial technical effects of the present invention are:

[0021] In the calculation system of the present invention, the energy information of each structure is calculated, and the minimum value structure in the system is found by means of gradient descent as the optimized structure, and the structures before and after optimization are displayed in the form of an atomic coordinate matrix for easy visual display; at the same time, information such as charge density, differential charge density tensor, difference tensor, etc. can be obtained according to the energy information of the structure, and visual images can be obtained by plotting these information. Compared with traditional quantum chemistry calculation software such as VASP, the present invention has the characteristics of strong interaction ability, integration of calculation and visualization, and strong human-computer interaction.

[0022] The visualization system in the present invention includes a variety of quantum chemistry information that users care about, and the three-dimensional maps of these quantum chemistry information can be generated by simple clicks, realizing all steps from calculation to visualization with one key, and greatly reducing the threshold of first-principles calculation. Brief Description of the Drawings

[0023] Figure 1 It is a schematic diagram of the interaction between the visualization class module and the backend calculation class module in the form of a callback function;

[0024] Figure 2 It is the charge density map of the silane molecule in the embodiment of the present invention. Detailed Embodiment

[0025] The present invention will be described in detail below with reference to the drawings and specific embodiments. This embodiment is implemented on the premise of the technical solution of the present invention, and the detailed implementation manner and specific operation process are given, but the protection scope of the present invention is not limited to the following embodiments.

[0026] An input file with a fixed number of atoms is a system. A structure refers to different structures that can be obtained by continuously fine-tuning the coordinates of each atom in the system. The essence of structure optimization is to find the most stable structure in the system. A structure can be divided into multiple fragments, and the obtained fragments are the structure fragments.

[0027] As Figure 1 shown, this embodiment provides a visualization system for large-scale quantum chemistry. The visualization system includes a module of the visualization class and a module of the backend calculation class, and the interaction between the module of the visualization class and the module of the backend calculation class is carried out in the form of a callback function.

[0028] The functions of each module will be described below.

[0029] Structure file reading module: According to the standards of various material structure files or various molecular structure files, different file reading and writing logics are predefined, and various input structure files are parsed through a text data stream and a regular engine, and the structure information required for calculation is generated.

[0030] For example, for a structure file in the.vasp format, the reading method of the structure file reading module includes:

[0031] (1) Use file=fopen(FileAddress) to read in the text data stream, where FileAddress is the address of the input structure file and file is the generated text data stream.

[0032] (2) The content of the input structure file in the.vasp format is divided into the following parts: the first part is the first-line comment, the second part is the lattice constant, the third part is the lattice coordinates, the fourth part is the atomic species and number, and the fifth part is the atomic coordinate type and the atomic coordinate matrix.

[0033] For the first-line comment part, use fgets(file) to read and then discard it.

[0034] For the lattice constant part, simply use fgets(file) to read it.

[0035] For the lattice coordinates part, each line has three floating-point numbers and is processed using a regular expression engine: Grid=str2double(regexp(fgetl(file), '[-+]?([0-9]*\.[0-9]+|[0-9]+)', 'match')). Grid is the lattice coordinates stored as a double matrix, '[-+]?([0-9]*\.[0-9]+|[0-9]+)' is the corresponding regular expression, regexp() is the regular expression function, and match indicates the greedy matching mode.

[0036] For the atomic species and number part, it is processed using another regular matching method. Atomic species: Element=regexp(regexp(fgetl(file), '[A-Z][a-z]?[a-z]?','match')). Here, Element is a cell array of string type composed of atomic species, also known as the atomic array.

[0037] For the atomic coordinate type and the atomic coordinate matrix part, the atomic coordinate type is directly read using fgets(file), and it can be determined whether it is Cartesian coordinates or fractional coordinates by judging whether the first letter is D or C. For the atomic coordinate matrix, the following regular matching is used for parsing: Cell=str2double(regexp(txtline, '[-+]?([0-9]*\.[0-9]+|[0-9]+)', 'match')). Here, Cell represents the atomic coordinates stored in the form of a double data type matrix.

[0038] In this way, the input and archiving of the structure file are completed. The structure file in text format is split into the required information, and corresponding variables are generated in memory, generating an object mol that contains all the required atomic information.

[0039] Atomic Structure Display Adjustment Module: Predetermine the ratio of various atomic radii through a hash table, store the atomic structure information in matrix form, and set the material information of various atoms and the position information of atoms (the coordinate matrix of atoms) through the corresponding drawing function; visually display the coordinate matrix of atoms through a text object, allowing users to dynamically adjust the input structure information. The specific steps are as follows:

[0040] (1) Construct an atomic ratio hash table. The first step is to select a reference atom. Define the radius of the reference atom as R, and the radii of the remaining atoms are the true radius ratios multiplied by R. The selected reference atom is the He atom. Define the radius of the He atom as R and let R = 1. The second step is to initialize the hash table: AtomRadius = containers.Map. Where AtomRadius is the generated hash table object. The third step is to add atomic entries to the hash table. For example, for the H atom: AtomRadius('H') = 0.78 * R, and for the Li atom: AtomRadius('Li') = 1.54 * R. By querying the true radius ratios of the remaining atoms to the He atom, all atomic hash table entries can be constructed in this way.

[0041] (2) Visualize the atomic structure and allow adjustment. The first step is to construct a unit circle. Use the point coordinates of the unit sphere as the corresponding drawing function to generate a unit sphere at the origin coordinates [x s , y s , z s = sphere(100), where [x s , y s , z s is the vector composed of the coordinates of each point in the generated unit sphere. x s is the first column vector among them, y s is the second column vector among them, and z s is the third column vector among them. The second step is to add a scaling factor and a translation vector. The scaling factor is given by the atomic radius hash table, b = AtomRadius(symbol). Where symbol is the atomic type and b is the scaling factor. The translation vector is given by the atomic coordinates, defined as the three-dimensional vector pointing from the origin to the atomic coordinate position. Finally, the size and position correction values for the unit sphere are obtained: x s = x s * b + CartesianCoordinates(1,1), y s = y s*b + CartesianCoordinates(1, 2), z s = z s *b + CartesianCoordinates(1, 3). Where CartesianCoordinates(1, n) represents the vector of the nth column in the coordinate matrix read by the atomic structure reading module. Thus, the coordinates of all the points that need to be rendered in three-dimensional space are obtained. After scaling and translation correction, [x s , y s , z s . The third step is to render the coordinates of the corresponding points. For different atomic types, different colors are used for rendering. To avoid color repetition, different random number seeds are used to handle this problem. Set the random number seed equal to the atomic number: rng(AtomList(i).anum), where AtomList(i).anum represents the atomic number of the ith atom in the atomic array read by the structure file reading module. Set the primary color random numbers of the color generated with this random number seed: Color = rand(1, 3). rand(1, 3) generates a 1*3 row vector, representing the primary colors of the color. Subsequently, these data are rendered through the rendering function surf: surf(Window, x s , y s , z s , 'linestyle', 'none', 'FaceColor', Color, 'EdgeColor', 'none'). Where Window is the handle of the form to be rendered, and FaceColor is the color of the rendered points. Linestyle and EdgeColor represent the sharpness and line type parameters.

[0042] Thus, the visualization of the atomic structure itself is completed.

[0043] Single-point energy calculation module: The basic principle is to obtain the energy information of the structure by solving the Kohn-Sham equation H KS ψ i (r) = ε i ψ i (r), where ε i is the eigenvalue of the energy, and ψ i (r) is the wave function of the system; H KS is the Hamiltonian of the system, stored in matrix form, including the kinetic energy term of the system Hatree potential External potential Exchange-correlation potential Trigger the single-point energy calculation by calling the callback function through the Matlab APP, which specifically includes the following steps:

[0044] Transfer the structure information generated by the structure file reading module to the single-point energy calculation module;

[0045] Sample the calculation points in the structure information in real space by the sampling method, perform Fourier transform on the calculation points to transform them into reciprocal lattice points, and complete the calculation of the potential in reciprocal space using the convolution theorem;

[0046] Calculate the kinetic energy of the structure where Ne is the number of states, ψ i (r) is the wave function of the i-th orbital, Ng is the number of reciprocal lattice points, G is the reciprocal lattice point, and by loading the pseudopotential file and processing the outermost electrons, information such as the Coulomb potential, exchange-correlation potential, and nuclear attraction potential of the structure is obtained: The pseudopotential method regards the inner electrons and the nucleus as a whole, simplifying the calculation of the interaction potential between them and the outer electrons. Under the pseudopotential approximation, the Kohn-Sham equation can be expressed in a computable form where ψ i 、ψ j are the wave functions of the i-th orbital and the j-th orbital respectively, is the kinetic energy operator, V PS is the ionic potential field obtained by regarding the inner electrons and the nucleus as a whole, and V PS term can be obtained through the pseudopotential. By integrating the various potentials acting on the charge density, the energies corresponding to different potentials can be obtained. For example, the Hartree energy of the structure The exchange-correlation energy under a specific functional (such as the LDA functional Nuclear attraction energy and other information. r and r′ represent two real space points respectively.

[0047] Generate the Hamiltonian of the structure and express the Kohn-Sham equation in matrix form H KS X = XΛ, where H KS is the Hamiltonian of the Kohn-Sham equation in matrix form, X is the wave function in vector form, Λ is a diagonal matrix corresponding to the eigenvalues of the energy. Select a suitable diagonalization algorithm, such as the Davidson method, to perform iterative diagonalization on the Hamiltonian to obtain the wave functions of each orbital and the corresponding energies in the structure. The specific steps are as follows:

[0048] (1) Randomly generate the initial wave function X0 using the Rand function;

[0049] (2) Act on X0 with the Hamiltonian H KS to obtain HX0 = H KS *X0;

[0050] (3) Construct the Krylov subspace S = [X0, HX0];

[0051] (4) Perform QR decomposition orthogonalization on the subspace S: qr(S), and store the orthogonal part Q matrix in S, i.e., let: S = Q; qr() is the decomposition orthogonal operation;

[0052] (5) Construct the Rayleigh-Ritz matrix B s = S T * H KS * S;

[0053] (6) Solve the Rayleigh-Ritz problem B s C k = (S T S) * C k * A k , to obtain the approximate eigenvalue diagonal matrix A k and the eigenvector C k ;

[0054] (7) Let X k = S * C k , X k is the wave function generated in this iteration step, and the diagonal elements of the A k matrix are its corresponding energies;

[0055] (8) Calculate the wave function residual R k = H KS * X k - A k X k ;

[0056] (9) Calculate the norm of the residual R k . If the norm is less than the convergence criterion, for example, less than 10 -6 , it can be determined that the energy and the wave function converge, and the iteration ends.

[0057] (10) If the residual does not converge, then calculate the preconditioned residual V = T * R k , where T is the preconditioning matrix. Let S = [S, V], and go back to step (5) to continue the iteration until the convergence requirement is met.

[0058] and obtain the charge density at the real space point r and the charge density in the reciprocal space where G is the reciprocal lattice point.

[0059] Structure Optimization Module: The basic principle is to obtain the energy information corresponding to each structure of the system through the single-point energy calculation module. The most stable structure is always the one with the lowest energy. Information such as the corresponding ionic steps, electronic steps, and convergence error is set through the visualization text box. Here, the ionic step refers to the transformation step of atomic coordinates when searching for the minimum point of energy, and the electronic step is the step of self-consistently calculating the energy corresponding to the structure at each specific atomic coordinate. The specific implementation method of the structure optimization module includes the following steps:

[0060] (1) Select a suitable gradient descent method, such as the fminunc, nlcg methods, etc. Take the fminunc method as an example.

[0061] (2) Select a suitable optimization parameter object optimopts and generate the corresponding parameter structure:

[0062] optimopts.Algorithm = 'quasi - newton';

[0063] optimopts.FinDiffRelStep = 0.01;

[0064] optimopts.MaxIter = 100;

[0065] To adjust the optimization algorithm, optimization step size, and the limit of the maximum number of optimization steps.

[0066] (3) Use the fminunc method in Matlab for optimization fminunc(fun, x0, optimopts), where fun is the function handle to be optimized, x0 is the optimization parameter list, and optimopts is the corresponding optimization parameter object. Since structure optimization essentially aims to minimize the single - point energy at different atomic coordinates, fun corresponds to the single - point energy calculation module, and x0 corresponds to the atomic coordinate matrix read from the structure file.

[0067] (4) Regenerate the corresponding grid with the new coordinates optimized by fminunc and store the new grid as the optimized atomic coordinates.

[0068] Call the structure optimization module through the structure optimization callback function and find the minimum point of the potential energy surface by the gradient descent method to obtain the stable minimum - value structure in the system as the optimized structure.

[0069] Excited - State Calculation Module: The basic principle is to deal with relevant problems of excited - state quantum chemistry through the time - dependent density functional theory (TDDFT) of the Schrödinger equation and solve the Casida equation H Casida X = XΛ, where

[0070] Among them, D represents the energy difference between the i-th valence band orbital and the conduction band orbital, and the term v representing the Hatree exchange correlation H xc and W Hxc are expressed as:

[0071]

[0072] where f Hxc is the exchange-correlation kernel, which describes the contribution of the exchange-correlation effect and is expressed as

[0073]

[0074] v represents the valence band, c represents the conduction band, respectively represent the i-th and j-th valence band orbitals, respectively represent the i-th and j-th conduction band orbitals, i v and j v are the i-th and j-th valence band orbital indices, i c and j c are the i-th and j-th conduction band orbital indices, and * represents taking the complex conjugate of the orbital.

[0075] The excitation energy of the system can be obtained, and thus the excited-state quantum chemical information of the system can be obtained. The specific steps are as follows:

[0076] Construct a large-scale matrix of the excited state through numerical methods, perform iterative diagonalization on the large-scale matrix of the excited state, and obtain the excitation energy, orbital, and electron-hole information of the system.

[0077] Charge density visualization output module: The energy information obtained by the single-point energy calculation module is the wave function of the structure and the energy corresponding to the wave function. The charge density map can be obtained from the square of the modulus of the wave function:

[0078] Trigger the charge density calculation through the callback function for plotting the charge density, calculate the tensor form corresponding to the square of the modulus of the wave function of the structure, and then further perform visualization processing on it through functions such as isosurface, and the charge density map of the structure can be obtained. The specific steps are as follows:

[0079] The tensor of the charge density in the reciprocal space is obtained by calculating the tensor form corresponding to the square of the wave function modulus and stored in the form of a three-dimensional n1*n2*n3 tensor. The three-dimensional n1*n2*n3 tensor form is equivalent to discretizing the three-dimensional space into n1*n2*n3 points, and the value of the charge density at each point is the value at the corresponding position in the charge density tensor. Therefore, the first step is to construct a discretized spatial grid, which can be created from the lattice coordinates obtained by the structure file reading module: x = 0:xmax / n1:xmax - xmax / n1; y = 0:ymax / n2:ymax - ymax / n2; z = 0:zmax / n3:zmax - zmax / n3; [a,b,c] = meshgrid(x,y,z). Where xmax, ymax, and zmax are the maximum values of the x, y, and z dimensions in the lattice coordinates respectively. x = 0:xmax / n1:xmax - xmax / n1 means taking a point every xmax / n1 from 0 to xmax - xmax / n1 and storing it in x in vector form, and the rest is the same. meshgrid(x,y,z) creates the grid points of each dimension into a three-dimensional grid and stores it in the form of a three-dimensional tensor [a,b,c]. The second step is to call the plotting method: isosurface(a,b,c,fftshift(rho)). Where fftshift(rho) converts the charge density tensor in the reciprocal space into the charge density tensor in the real space.

[0080] As Figure 2 shown, the calculation results of the charge density of the silane molecule are visualized to obtain the corresponding charge density map.

[0081] Differential charge density visualization module: The calculation of the differential charge density first divides the structure into multiple structural fragments, calculates the charge density tensor of each fragment respectively, and the final obtained differential charge density is the difference between the charge density tensors of multiple structural fragments in the system; specifically includes:

[0082] Perform single-point energy calculations on multiple structural fragments constructed in the system respectively. The charge density of each structural fragment can be obtained from the square of the wave function modulus. Take the difference of the tensors of the charge densities of multiple structural fragments ρ diff = ρ A - ρ B to obtain the differential charge density tensor and draw the corresponding difference contour map, then the calculation visualization of the differential charge density can be completed. Specifically includes the following steps:

[0083] Read the structure information of each structural fragment of the system from different structure files through the structure file reading module. For example, for two structural fragments A and B, the tensors ρ A and ρ B, the difference between the two tensors is the difference in charge density ρ diff = ρ A - ρ B , and the visualization of the differential charge density can be completed by creating a spatial grid and calling the rendering function in the same way as the charge density visualization module.

[0084] Structure optimization visualization update module: The optimized structure obtained by the structure optimization module will be stored in memory in the form of an atomic coordinate matrix. By calling the atomic structure display module to visualize the atomic coordinate matrix of the optimized structure, the visualized image of the optimized atomic structure can be obtained. The specific steps are as follows:

[0085] The structure optimization visualization update module will dynamically generate new atomic coordinates during the optimization process and return them in the form of a coordinate matrix. During the optimization process, it is repeatedly executed: CartesianCoordinates = molopt.xyzlist. Here, molopt.xyzlist represents the atomic coordinates dynamically generated during the optimization process. Finally, in each step of the optimization process, the atomic structure display adjustment module is called to render the dynamically generated CartesianCoordinates coordinates, and the structure image during the optimization process can be dynamically updated.

[0086] Storage structure information module: The general structure file has a specified standard format. By predefining the output methods for each standard format, the structural information such as the atomic coordinate matrix, number of atoms, atomic type, and unit cell size of the optimized structure is output as a structure file in the standard format. The specific steps are as follows:

[0087] First, determine the type of the output structure file. For example, the output structure file in.vasp format, like the input structure file in.vasp format, contains five parts: comments, lattice constants, lattice coordinates, atomic species and numbers, and atomic coordinate types and atomic coordinate matrices. In the first step, use File = fopen(fileAddress, 'w'); to generate a file data stream in writable mode, and 'w' is the writable data stream. According to the standard of the.vasp format, save the lattice coordinates, element types, and atomic coordinates dynamically generated during the calculation through fprintf(File, ”), and use fprintf to write to the file data stream File line by line.

[0088] Excited state electron-hole visualization module: The electron-hole information calculated by the excited state calculation module is stored as a third-order tensor of electrons and holes. The charge densities of electrons and holes are subtracted to obtain a difference tensor, and the corresponding isosurface is drawn through a plotting function to complete the visualization process. The specific steps are as follows:

[0089] Call the tddft_casida_davidson(mol) function of the excited state calculation module to obtain the excited state wave function X and the excitation energy Et: [Et, X] = tddft_casida_davidson(mol). Subsequently, call tddft_rho(mol, X) to obtain the hole charge density rhoh and the electron charge density rhoe of the system: [rhoh, rhoe] = tddft_rho(mol, X). Then, take the difference between the electron density and the hole density to obtain the electron-hole density difference rho of the system, rho = rhoh - rhoe. Use the same method as the charge density visualization module to draw the spatial grid to complete the visualization of the electron-hole density difference in the excited state. Draw the spatial grid for the electron charge density rhoe and the hole charge density rhoh respectively to complete the visualization process of the electron-hole.

[0090] Calculation process printing module: Scroll-print the residuals, energy information, iteration steps, and pseudopotential information during the calculation process to the text box.

[0091] In the present invention, by visualizing the calculation data, the relatively obscure calculation results can be presented in the form of three-dimensional images, which helps high school, junior high school, or scientific research workers in non-theoretical calculation directions to quickly get started with first-principles calculations and avoid cumbersome but non-core data processing processes.

[0092] In the present invention, the visualization engine can be deployed using Matlab APP, and all processes can be completed through one-key installation, eliminating complex compilation, configuration of the operating environment, etc. processes, and reducing the usage complexity.

[0093] The above description of the embodiments is for the convenience of those of ordinary skill in the art to understand and use the invention. It is obvious that those skilled in the art can easily make various modifications to these embodiments and apply the general principles described herein to other embodiments without creative efforts. Therefore, the present invention is not limited to the above embodiments, and the improvements and modifications made by those skilled in the art without departing from the scope of the present invention should be within the protection scope of the present invention.

Claims

1. A visualization system for large-scale quantum chemistry, capable of reading the structural information of a structure file and visualizing the structure. The structural information includes lattice constants, lattice coordinates, atomic species and numbers, atomic coordinate types, and atomic coordinate matrices. It is characterized in that, Including: An atomic structure display adjustment module that visualizes the structure in a visual form by performing operations on the atomic coordinate matrix in the structure information; A single-point energy calculation module that performs a Fourier transform on the calculation points in the structure to transform the calculation points into reciprocal lattice points, calculates the kinetic energy term of the structure, obtains the Coulomb potential, exchange-correlation potential, and nuclear attraction potential of the structure by loading a pseudopotential file and processing the outermost electrons, generates the Hamiltonian of the structure, and performs iterative diagonalization on the Hamiltonian to obtain the energy information of the structure; the energy information includes the orbital wave functions and the energies of the wave functions in the structure; A structure optimization module that sets the ionic step, electronic step, and convergence error through a visual text box, obtains the energy information corresponding to each structure of the system through the single-point energy calculation module, searches for the minimum value point of the potential energy surface by the gradient descent method, and uses the obtained minimum value structure within the system as the optimized structure; An excited state calculation module that obtains the excitation energy of the system based on the TDDFT method and obtains the electron-hole information in the excited state case; A charge density visualization output module that calculates the tensor of the square of the wave function of the structure to obtain the charge density of the structure, and visualizes the charge density to obtain a charge density map; A differential charge density visualization module that divides the structure into multiple structure segments, calculates the tensor difference of the charge densities of multiple structure segments within the system, and draws a difference contour map based on the obtained differential charge density tensor; An excited state electron-hole visualization module that subtracts the charge densities of electrons and holes in the electron-hole information to obtain a difference tensor, and draws an isosurface based on the difference tensor; A structure optimization visualization update module that calls the atomic structure display module to visualize the atomic coordinate matrix of the optimized structure obtained by the structure optimization module to obtain a visualization image of the optimized structure.

2. The visualization system for large-scale quantum chemistry according to claim 1, characterized in that, It also includes a structure file reading module for reading the structure information of the structure file; The structure file reading module predefines the read-write logics of different files according to the standards of various structure files, parses the structure file including the structure information through a text data stream and a regular engine, and generates the structure information required for calculation.

3. The visualization system for large-scale quantum chemistry according to claim 1, characterized in that, It also includes a storage structure information module for writing the structure information of the optimized structure into the structure file; the storage structure information module predefines the output method of the structure file according to the general format of the structure file, and outputs the structure information of the optimized structure as a structure file according to the predefined output method of the structure file.

Citation Information

Patent Citations

  • Computer simulation method for energetic material shock initiation

    CN105787273A

  • Molecular property prediction method and system

    CN111710375A