Systems and methods for generating wannier functions
Automated generation of Wannier Functions using global optimizers addresses the resource-intensity of conventional methods, enabling efficient and widespread production of highly localized Wannier Functions for material and device simulations.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BOARD OF RGT THE UNIV OF TEXAS SYST
- Filing Date
- 2025-12-09
- Publication Date
- 2026-06-18
AI Technical Summary
Conventional methods for generating highly localized Wannier Functions are resource-intensive and require significant human intervention, making them impractical for a broad range of materials and simulations.
Automated systems and methods using global optimizers like differential evolution and Bayesian optimization to generate highly localized Wannier Functions, reducing the need for manual parameter tuning and resource consumption.
Facilitates the generation of highly localized Wannier Functions for a larger number of materials with reduced computational and human effort, enhancing the efficiency of material and device simulations.
Smart Images

Figure IMGF000002_0001 
Figure IMGF000002_0002 
Figure IMGF000003_0001
Abstract
Description
Atty. Dkt. No. 10046-653W01SYSTEMS AND METHODS FOR GENERATING WANNIER FUNCTIONS CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
[0001] This application claims the benefit of, and priority to, U. S. Provisional Patent Application No. 63 / 730,258, filed December 10, 2024, the entire contents of which are incorporated by reference herein.STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0002] This invention was made with government support under grant number OAC2103991 awarded by the National Science Foundation. The government has certain rights in the invention.BACKGROUND
[0003] The present disclosure relates generally to the field of material science, and more specifically to systems and methods for automatically generating optimized Wannier Functions (Whs) for use in material and device simulations.SUMMARY
[0004] In some aspects, the techniques described herein relate to a method for automating Wannierization, the method including: receiving a target accuracy and a loss function; receiving a representation of the wave functions corresponding to a material and a representation of the energy band structures corresponding to the material; receiving an energy range associated with the wave functions; and performing a global optimization to produce a final set of Wannier Functions by: generating a candidate overlap matrix based on the wave functions, wherein the candidate overlap matrix describes overlap between the wave functions and localized orbitals; and iteratively: generating a set of candidate Wannier Functions using at least one of the candidate overlap matrix and a candidate disentanglement window; generating a loss value for energy bands within the energy range using a loss function that compares energy eigenvalues obtained from the set of candidate Wannier Functions to energy eigenvalues; and adjusting the candidate overlap matrix and the candidate disentanglement window based on the loss value; and wherein the set of candidate Wannier Functions areAtty. Dkt. No. 10046-653W01identified as the final set of Wannier Functions based on comparing the target accuracy to the loss function associated with the set of candidate Wannier Functions.
[0005] In some aspects, the techniques described herein relate to a method, wherein generating the set of candidate Wannier Functions includes performing gradient descent using a gradient of a spread of the set of candidate Wannier Functions. In some aspects, the techniques described herein relate to a method, wherein performing the global optimization includes performing differential evolution on the candidate disentanglement window. In some aspects, the techniques described herein relate to a method, wherein performing the global optimization includes performing Bayesian optimization on the candidate disentanglement window. In some aspects, the techniques described herein relate to a method, wherein performing the global optimization includes performing differential evolution on the candidate localized orbitals. In some aspects, the techniques described herein relate to a method, wherein performing the global optimization includes performing Bayesian optimization on the candidate localized orbitals. In some aspects, the techniques described herein relate to a method, wherein the loss function is defined by L = a > £ah + whereo) is the Fermi-\ Lnk / nkUW ^cutDirac function, r = Emaxis an upper bound of the energy range, o is a smearing associated with the function, E^1is the energy eigenvalue obtained from the DPT calculation,is the energy eigenvalue obtained from Wannier interpolation, U is a spread associated with the set of candidate Wannier Functions, and 7?cutis a spread cutoff. In some aspects, the techniques described herein relate to a method, further including inputting the final set of W'annier Functions into material simulation or a device simulation. In some aspects, the techniques described herein relate to a method, wherein the set of candidate Wannier Functions are generated using a Wannier90 function library. In some aspects, the techniques described herein relate to a method, further including generating a visual representation of the final set of Wannier Functions. In some aspects, the techniques described herein relate to a method, further including receiving, from a user, a selection of a global optimization technique, and wherein performing the global optimization technique includes performing at least one of (i) differential evolution, (ii) Bayesian optimization, (iii) Dual Annealing, (iv) Basin Hopping, (v) Brute, (vi) SHGO, (vii) Direct, (viii) Ant colony algorithm, (ix) Simulated Annealing, (x) memetic algorithm, (xi) Genetic Algorithm, (xii) Particle Swarm Optimization, (xiii) Covariance Matrix Adaptation Evolution Strategy, or (xiv) Nelder-Mead on the trial local orbitals.Atty. Dkt. No. 10046-653W01
[0006] In some aspects, the techniques described herein relate to a non-transitory computer- readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to: receive a target accuracy and a loss function; receive a representation of the wave functions corresponding to a material and a representation of the energy band structures corresponding to the material; receive an energy range associated with the wave functions; and perform a global optimization to produce a final set of Wannier Functions by: generating a candidate overlap matrix based on the wave functions, wherein the candidate overlap matrix describes overlap between the wave functions and localized orbitals; and performing a meta-optimization including: generating a set of candidate Wannier Functions using at least one the candidate overlap matrix and a candidate disentanglement window; generating a loss value for energy bands within the energy range using a loss function that compares energy eigenvalues obtained from the set of candidate Wannier Functions to energy eigenvalues; and adjusting the candidate overlap matrix and the candidate disentanglement window based on the loss value; and wherein the set of candidate Wannier Functions are identified as the final set of Wannier Functions based on comparing the target accuracy to the loss function associated with the set of candidate Wannier Functions.
[0007] In some aspects, the techniques described herein relate to a non-transitory computer- readable storage medium, wherein generating the set of candidate Wannier Functions includes performing gradient descent using a gradient of a spread of the set of candidate Wannier Functions. In some aspects, the techniques described herein relate to a non-transitory computer- readable storage medium, wherein performing the global optimization includes performing at least one of (i) differential evolution on the candidate disentanglement window and / or overlap matrices and / or trial local orbitals or (ii) Bayesian optimization on the candidate disentanglement window and / or overlap matrices and / or trial local orbitals. In some aspects, the techniques described herein relate to a non-transitory computer-readable storage medium, w.herein t Ihe, loss x f-unction i ■s de Xf-ined j by L — a [ - Enk fnk - (X ~?kF—T- —fi'T -1™)2, F n, ) w,herey Enkfnkt / Cffj «cut fnk(j*> isthe Fermi-Dirac function, z = Emaxis an upper bound of the energy range, cr is a smearing associated with the function,is the energy eigenvalue obtained from the DFT calculation, E'^annis the energy eigenvalue obtained from Wannier interpolation, 11 is a spread associated with the set of candidate Wannier Functions, and Rcutis a spread cutoff. In some aspects, the techniques described herein relate to a non-transitory computer-readable storage medium, wherein the instructions further cause the processor to input the final set of WannierAtty. Dkt. No. 10046-653W01Functions into at least one of (i) a material simulation or (ii) a device simulation. In some aspects, the techniques described herein relate to a non-transitory computer-readable storage medium, wherein the set of candidate Wannier Functions are generated using a wannier90 function library.
[0008] In some aspects, the techniques described herein relate to a system for determining material property descriptions, the system including: a processing circuit including a processor and memory, the memory having instructions stored thereon that, when executed by the processor, cause the processing circuit to: receive a target accuracy; receive a representation of wave functions corresponding to a material and a representation of energy band structures corresponding to the material; and execute an iterative optimization including: generate, using one or more hyperparameters, a set of candidate Wannier Functions; evaluate the set of candidate Wannier Functions using a loss function to determine whether the set of candidate Wannier Functions satisfy the target accuracy; in response to determining that the set of candidate Wannier Functions do not satisfy the target accuracy, updating the one or more hyperparameters; and in response to determining that the set of candidate Wannier Functions satisfy the target accuracy, outputting the set of candidate Wannier Functions.
[0009] In some aspects, the techniques described herein relate to a system, wherein generating the set of candidate Wannier Functions includes performing gradient descent using a gradient of a spread of the set of candidate Wannier Functions. In some aspects, the techniques described herein relate to a system, wherein executing the iterative optimization includes performing at least one of (i) differential evolution or (ii) Bayesian optimization on a hyperparameter of the one or more hyperparameters. In some aspects, the techniques described herein relate to a system, wherein the instructions further cause the processing circuit to perform at least one of (i) a material simulation or (ii) a device simulation using the output set of candidate Wannier Functions. In some aspects, the techniques described herein relate to a system, wherein the set of candidate Wannier Functions are generated using a wannier90 function library. In some aspects, the techniques described herein relate to a system, wherein the instructions further cause the processing circuit to in response to determining that the set of candidate Wannier Functions satisfy the target accuracy, outputting the one or more hyperparameters.Atty. Dkt. No. 10046-653W01BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other aspects and features of the present disclosure will become more apparent to those skilled in the art from the following detailed description of the example embodiments with reference to the accompanying drawings.
[0011] FIG. l is a block diagram of a Wannierization System for generating optimized Wannier Functions, according to an exemplary embodiment.
[0012] FIG. 2 is a flow diagram illustrating a method of generating an optimized Wannier Function, according to an exemplary embodiment.
[0013] FIG. 3 is a block diagram of a computer system, according to an exemplary embodiment.
[0014] FIG. 4 is a block diagram of another Wannierization System for generating optimized Wannier Functions, according to an exemplary embodiment.DETAILED DESCRIPTION
[0015] Referring generally to the FIGURES, described herein are systems and methods for generating Wannier Functions (WF). Wannier Functions are a class of functions used to describe electrons in materials (e.g., crystalline materials, polycrystalline materials, amorphous solids, nanostructures, materials surfaces, materials interfaces, etc.). Wannier Functions may¬ be useful for determining characteristics / properties of a material. For example, Wannier Functions may be useful for determining electronic characteristics of a material (e.g., a Hamiltonian of the material, band structures corresponding to the material, etc.). As another example, Wannier Functions may facilitate analysis of material bonding properties, material conduction pathways, and / or material defect states. Wannier Functions may be useful in material simulations to investigate material properties and / or develop new materials byreducing the computational cost of simulation. For example, Wannier Functions may be used to investigate material transport coefficients (e.g., electron / hole mobilities, conductivity, Seebeck coefficients, contact resistance, etc.), the optical absorption spectrum and imaginary dielectric constant of a material, the superconducting gap and superconducting transition temperature of a material, polaronic formation energies and wavefunctions of a material, the carrier mass enhancement and angle-resolved photoemission spectroscopy spectrum of aAtty. Dkt. No. 10046-653W01material, and / or the like. In various embodiments, Wannier Functions generated according to the systems and methods of the present disclosure are usable in electronic device simulations.
[0016] Many different Wannier Functions may describe a single material. Moreover, each Wannier Function may have a different real-space structure (e.g., degree of localization, spread, etc.). A Wannier Function may be highly localized (e.g., have a small spread) if it is concentrated in a small region of real space with negligible amplitude elsewhere. For example, a Wannier Function wK(r) that describes the probability of finding an electron in state n at position r may be highly localized if the amplitude of vvK(r) quickly drops to near zero outside of a small region (e.g., is confined to a single atomic site / bond, etc.).
[0017] A Wannier Function is generated by transforming / combining a number of Bloch wave functions (iynk) using a unitary transformation matrix (Umnk). The Hamiltonian describing the electronic structure of the material that results from unitary transformation matrices corresponding to highly localized Wannier Functions may be sparse (e.g., have most of its elements equal to zero or close to zero). For example, a sparse Hamiltonian matrix may be similar-to:1 0 0 ’0 0.9 0.1.0 0.1 0.9.A non-sparse (e.g., dense) Hamiltonian may be similar to:0.5 0.5 0.7'0.4 0.6 0.6.0.7 0.3 0.6.The sparsity ratio of a matrix may be given by:number of zero elementssparsity ratio = - - - ■ - - — - total number of elementsand the density of a matrix may be given by:density = 1 — sparsity ratio
[0018] Sparse Hamiltonian matrices (e.g., Hamiltonian matrices corresponding to highly localized Wannier Functions) may be computationally efficient compared with non-sparse (e.g., dense) Hamiltonian matrices due to the greater number of zero entries. For example, the number of operations involved in multiplying a ten-by-ten matrix that has a density of 0.9 is 990 and the number of operations involved in multiplying a ten-by-ten matrix that has a densityAtty. Dkt. No. 10046-653W01of 0.1 is 190. As another example, aten-by-ten matrix having all non-zero entries may requiree 100 storage units and a ten-by-ten matrix having ten non-zero entries may require ten storage units.
[0019] Due to their computational efficiency, highly localized Wannier Functions / sparse Hamiltonian matrices may be desirable in many contexts (e.g., any context that involves matrix operations such as matrix multiplication, inversion, decomposition, etc.), such as in the field of quantum mechanics (e.g., because material properties are often described using matrices). For example, an atomic-scale material simulation using conventional systems and methods may require 20 hours of compute using 480 cores (e.g., on a supercomputer) while the same simulation using systems and methods of the present disclosure (e.g., highly localized Wannier Functions) may only require 2 minutes of compute using 48 cores (e.g., on a desktop computer).
[0020] However, generating highly localized Wannier Functions / sparse Hamiltonian matrices may be resource-intensive (e.g., require a large amount of compute, human intervention, etc.). For example, conventional systems and methods may require a highly trained person (e.g., someone with deep understanding of the physics and chemistry of a material, such as a PhD scientist) to manually tune several calculation parameters in order to generate a set of suitably localized Wannier Functions for the material. To continue the example, the PhD scientist may have to spend 40+ hours manually tuning the calculation parameters in order to generate the set of suitably localized Wannier Functions for the material, thereby making conventional systems and methods impractical for identifying highly localized Wannier Functions for a variety of materials.
[0021] Systems and methods of the present disclosure may address limitations of con ventional systems and methods by (i) automating the process of generating highly localized Wannier Functions, (ii) generating Wannier Functions that are more highly localized than those created using conventional systems and methods (e.g., by a human manually tuning calculation parameters), (iii) enabling the generation of highly localized Wannier Functions for a larger number of materials than practical using conventional systems and methods, and / or (iv) reducing the resources (e.g., compute, human intervention, etc.) necessary for a broad range of tasks that would benefit from using highly localized Wannier Functions but for which highly- localized Wannier Functions are not currently practically available due to the difficulty of generating them (e.g., in quantum materials simulations, etc.).Atty. Dkt. No. 10046-653W01
[0022] Systems and methods of the present disclosure may automate the generation of highly localized Wannier Functions by using a global optimizer (e.g., differential evolution, Bayesian optimization, etc.) to optimize one or more hyperparameters of an iterative optimization (e.g., a gradient-based minimization technique, etc.), thereby reducing and / or eliminating the need for a highly trained person to manually tune calculation parameters. As an extended example, a material scientist may have a material they wish to investigate. Using density functional theory (DFT), the scientist may compute wave functions and energy band structures corresponding to the material. The scientist may input the wave functions, a target accuracy, and an energy range of interest associated with the material into a system implementing the methods of the present disclosure and may receive from the system a number of highly localized Wannier Functions and / or a number of unitary transformation matrices corresponding to the energy range of the material that satisfy the cutoff value.
[0023] Referring now to FIG. 1, Wannierization system 150 is shown, according to an exemplary embodiment. Wannierization system 150 may be used to generate one or more Wannier Functions and / or unitary transformation matrices describing electrons in lattice structure 112 of material 110. Lattice structure 112 may be associated with Bloch wave factions 114. Bloch wave functions 114 may take the form of eigenstatesnkwhere n is a band index and k is a wave vector. A unitary transformation matrix (shown as unitary transformation matrix 116) may be applied to Bloch wave functions 114 to transform / combine Bloch wave functions 114 into one or more Wannier Functions (shown as Wannier function 118).
[0024] In various embodiments, Wannierization system 150 receives a representation of lattice structure 112. For example, Wannierization system 1 0 may receive a number of Bloch wave functions 114. Additionally or alternatively, Wannierization system 150 may receive one or more user inputs. For example, Wannierization system 150 may receive a target accuracy and / or an energy range associated with material 110 (e.g., an energy range of interest, etc. ).
[0025] Initializer 160 may generate one or more parameters (shown as variable parameter(s) 152 and constant parameter(s) 154) based on the representation of lattice stiucture 112 and / or the one or more user inputs. For example, initializer 160 may generate an overlap matrix Amnkaccording to the formula:^mnk {^mk\3n)where gnis a localized basis set. The overlap matrix Amnkmay serve as an initial guess for generating a set of Maximally-Localized Wannier Functions (MLWF). In variousAtty. Dkt. No. 10046-653W01embodiments, the overlap matrix represents an overlap between wave functions corresponding to a material and a localized basis set. The one or more parameters (e.g., variable parameter(s) 152 and constant parameter(s) 154) may include (i) a number of Wannier Functions to construct (e.g., based on the bands of interest in the DFT calculation), (ii) a total number of Bloch bands to consider during Wannierization, (iii) a disentanglement window, (iv) a frozen window (e.g., an energy range to freeze states during disentanglement), (v) an initial guess for Wannier Functions using trial orbitals, (vi) unit cell lattice vectors (e.g., in Cartesian coordinates, etc.), (vii) a k-point grid for Wannierization and / or property interpolation, (iix) an approximation of real-space centers for Wannier Functions (e.g., to guide localization), (ix) an overlap matrix, and / or (x) eigenvalues of the Bloch states at each k-point. In various embodiments, variable parameter(s) 152 correspond to one or more hyperparameters that Wannierization system 150 optimizes. For example, variable parameter(s) 152 may include (i) Amnk, (ii) candidate localized orbitals, and / or (iii) a disentanglement window (e.g., defined by an outer energy window Egut and an inner energy windowshould be understood that while Wannierization system 150 is described in terms of optimizing an overlap matrix and a disentanglement window, other hyperparameters may be chosen. For example, Wannierization system 150 may optimize a number of Bloch bands and / or a selective choice of bands within the disentanglement window.
[0026] Wannier generator 170 may receive one or more inputs (e.g., variable parameter(s) 152 and / or constant parameter(s) 154) and may generate one or more Wannier Functions and / or unitary transformation matrices based on the one or more inputs. Wannier generator 170 may be and / or include a computer program. For example, Wannier generator 170 may implement the Wannier90 library, a pseudo atomic orbital library, the selected columns of density matrix (SCDM) Wannier Functions library, and / or the like. In various embodiments, Wannier generator 170 generates a set of maximally localized Wannier Functions (MLWF). In various embodiments, Wannier generator 170 performs an iterative optimization to generate the one or more Wannier Functions and / or unitary transformation matrices. For example, Wannier generator 170 may use gradient descent to minimize a spread fl associated with candidate Wannier Functions.
[0027] Measurer 180 may determine whether an output of Wannier generator 170 satisfies a condition. In various embodiments, measurer 180 computes a fitness of an output of Wannier generator 170 and compares the computed fitness to a threshold to determine whether the output of Wannier generator 170 should be output (e.g., is sufficiently optimized, etc.). InAtty. Dkt. No. 10046-653W01various embodiments, determining whether the output of Wannier generator 170 should be output includes determining whether output of Wannier generator 170 satisfies the target accuracy for a loss function. The fitness of the output of Wannier generator 170 may be measured using a loss function such as:where are properties obtained from the Wannier Functions, each having a weight a£-, 9 is the Heaviside function with 2, as the penalty term for a property that exceeds the cutoff value Nj. In some embodiments, the output of Wannier generator 170 is measured using the loss function:L. = a - — — « -T- - - Cann)21- / > % — )Zjnk0) “cutwhere the Fermi-Dirac function fnk(j, ) — o)f'^ann( / i, a), p — Emaxis the upperbound of the energy range for which the energy bands are compared, = 0.1 is the smearing, E^Tis the energy eigenvalue obtained from a DFT calculation, E^annis the energy eigenvalue obtained from the Wannier interpolation, Q is the spread, and Fcutis the acceptable spread cutoff. In various embodiments, the loss function is calculated for n bands within an energy window (e.g., bounded by Emi„ andIn various embodiments, Rcutis set by a user. It should be understood that the loss function may take other forms. For example, Wannier generator 170 may use a loss function such as:or:L=afenkfnkMljnk / nk( / fiAdditionally or alternatively, the loss function may take a form shown above including additional target quantities and / or target quantities combined in a different manner (e.g., using a different operator, etc.). In some embodiments, a user specifies the loss function. As aAtty. Dkt. No. 10046-653W01non-limiting example, parameters for the loss function may be — £ / EH, rfa — Nr=— 5A2, a-, — 1. and L — IO6.
[0028] In various embodiments, measurer 180 determines whether the output of Wannier generator 170 satisfies the acceptable spread cutoff Rcut. Additionally or alternatively, measurer 180 determines whether the output of Wannier generator 170 satisfies the target accuracy Ltarget-Invarious embodiments, the target accuracy is a function of the spread cutoff and / or the band distance (the first and second terms in the loss function). If the output of Wannier generator 170 does not satisfy the acceptable target accuracy (N), then variable generator 190 may update variable paranieter(s) 152 and Wannierization system 150 may generate one or more additional outputs based on the updated variable parameter(s) 152. In various embodiments, Wannierization system 150 may iteratively generate sets of MLWFs until a set of MLWFs satisfy a condition / threshold of measurer 180. In various embodiments, variable generator 190 updates variable parameter(s) 152 using a global optimization method such as differential evolution or Bayesian optimization. For example, variable generator 190 may generate new candidate overlap matrices Amnk, trial local orbitals, and / or disentanglement windows by evolving one or more populations using a crossover probability Crand a differential weight F.
[0029] If the output of Wannier generator 170 satisfies the target accuracy (Y), then Wannierization system 150 may output the output (shown as outputs 156). For example, Wannierization system 150 may output one or more optimized Wannier Functions, unitary transformation matrices, and / or one or more hyperparameters. Outputs 156 may include one or more Wannier Functions, one or more unitary transformation matrices, and / or a disentanglement window (e.g., defined by an outer energy window E^ut and an inner energy window E^ls). For example, outputs 156 may include a disentanglement window optimized with respect to the loss function L. In various embodiments, outputs 1 6 are used to determine an observable associated with material 110. For example, outputs 156 may be used in a quantum mechanics simulation to assess electrical properties associated with material 110.
[0030] Referring now to FIG. 2, method 200 for generating an optimized Wannier Function is shown, according to an exemplary embodiment. In various embodiments, Wannierization system 1 0 performs method 200. For example, method 200 may correspond to a method of hyperparameter optimization for finding hyperparameters that generate MLWFs that minimizeAtty. Dkt. No. 10046-653W01a loss function. In various embodiments, method 200 is automated (e.g., performed with little to no user input, etc.). At step 202, Wannierization system 150 may receive (i) a target accuracy, (ii) a loss function, (iii) an energy range for electron bands, (iv) a material structure description (e.g., material structure parameters such as lattice vectors, atomic positions, and species, etc.) and (v) a type of global optimizer. In some embodiments, the material structure description is and / or includes wave functions corresponding to a material. For example, the material structure description may be and / or include eigenvectors ipnk. In various embodiments, the energy range corresponds to an energy window (e.g., bounded by Emm and Emax') for optimization. For example, the energy range may be and / or include a target energy window within which a user desires an optimized set of Wannier Functions. Additionally or alternatively, Wannierization system 150 may receive one or more other inputs. For example, Wannierization system 150 may receive (i) material structure parameters, (ii) wavefunction cutoffs for DFT calculations, (iii) convergence criterion for DFT calculations, (iv) electronic iteration steps, (v) pseudopotential (e.g., if pseudopotential DFT is used), (vi) a number of bands for Wannierization, (vii ) a path / grid for the DFT and Wannier band structure calculation, (iix) a user selection of a loss function, (ix) a user selection of a number of cores to run the program, and / or the like. In some embodiments, one or more of the inputs to Wannierization system 150 are provided as a single input (e.g., as an object description passed as a dictionary in Python, etc.).
[0031] At step 204, Wannierization system 150 may generate one or more parameters. For example, Wannierization system 1 0 may generate variable parameter (s) 1 2 and / or constant parameter(s) 154. In various embodiments, step 204 includes generating an overlap matrix Amrifcand / or a disentanglement window'. For example, Wannierization system 150 may implement DFT to calculate overlap matrix Amnk(e.g., initial projections). Additionally or alternatively, Wannierization system 150 may implement one or more other functions to calculate the overlap matrix (e.g., a Hybrid functional calculation, a GW calculation, a DFT+IJ calculation, a DMFT calculation, an empirical pseudopotential calculation, a tight- binding calculation, etc.). In various embodiments, the one or more parameters form a population that method 200 may evolve to generate sets of MLFWs that minimize a loss function. In some embodiments, step 204 includes generating a representation of states inside an inner energy¬ window.
[0032] At step 206, Wannierization system 150 may generate new candidate parameter(s). For example, Wannierization system 150 may generate a new candidate overlap matrix AmnkAtty. Dkt. No. 10046-653W01and / or a new candidate disentanglement window. In some embodiments, step 206 includes evolving a population to generate the new candidate parameter(s). For example, Wannierization system 150 may perform a global optimization using an optimizer (e.g., differential evolution, Bayesian optimization, Dual Annealing, Basin Hopping, Brute, SHGO, Direct, Ant colony algorithm, Simulated Annealing, Memetic algorithm, etc.) which provide a set of candidate overlap matrices to generate a new candidate overlap matrix. As another example, Wannierization system 150 may generate hyperparameters using Bayesian optimization. In some embodiments, the new candidate parameter(s) are generated in series. Additionally or alternatively, the new candidate parameters may be generated in parallel.
[0033] At step 208, Wannierization system 150 may generate a guess based on the new candidate parameter(s). For example, Wannierization system 150 may generate a Wannier Function using a new candidate overlap matrix and a new candidate disentanglement window. In various embodiments, the guess is and / or includes a Wannier Function (or set of Wannier Functions) and / or a unitary transformation matrix (or set of unitary transformation matrices). In some embodiments, step 208 includes implementing the function:1 \ '.Rp) " I7 v7 / ®xp( tk. RpJL / mnklnkwhere wm(r — Rp) is the mthWannier Function centered at RP, r is a position vector in real space, RPis a lattice vector corresponding to a material, nk}are^lcKohn-Sham wavefunctions for the nthband and wave vector k, Umnkis a unitary transformation matrix, m and n are energy bands, and N is the number of plane-wave vectors.
[0034] At step 210, Wannierization system 150 may compute a spread associated with the guess. For example, Wannierization system 150 may implement the function:n =- l<wn(r)|f|wn(r))|2]where r is the position operator and w„(r) is a Wannier Function in real space for the nthWannier state (e.g., orbital) of a material.
[0035] At step 212, Wannierization system 150 may determine whether a condition is satisfied. For example, Wannierization system 150 may measure a rate of change associated with the spread. In various embodiments, Wannierization system 150 compares the spread calculated in step 210 to one or more previous spread values. For example, Wannierization system 150 mayAtty. Dkt. No. 10046-653W01compute a rate of change using the spread calculated in step 210 and the last ten spread values calculated by Wannierization system 150. In some embodiments, step 212 includes comparing the rate of change to a threshold. For example, step 212 may include determining whether the rate of change is less than 5% (e.g., whether a difference between the current spread and a previous spread (or set of spreads) is less than 5% of the previous spread (or set of spreads), etc.). It should be understood that while step 212 is described in relation to measuring a rate of change of the spread and comparing the rate of change to a threshold, step 212 may involve other conditions. For example, Wannierization system 150 may compare the spread to a threshold directly. If the condition of step 212 is satisfied, method 200 may continue with step 216. For example, if the rate of change of the spread is less than a threshold, Wannierization system 150 may perform step 216. If the condition of step 214 is not satisfied, method 200 may continue with step 216.
[0036] At step 214, Wannierization system 150 may update the guess based on a gradient of the spread. For example, Wannierization system 150 may update Umnkto reduce fl (e.g., based on a gradient of fl). In various embodiments, steps 210-214 are repeated until a guess (e.g., a Wannier Function wn(r) and / or a unitary transformation matrix Umnk) are generated that satisfy a condition in step 212 (e.g., a rate of change of the spread is less than a threshold, etc.).
[0037] At step 216, Wannierization system 150 may generate an evaluation of the guess. In various embodiments, the guess of step 216 is and / or includes a set of MLFWs. For example, the guess may be an output of the Wannier90 Wannier function. In various embodiments, step 216 includes computing a fitness associated with the guess. For example, Wannierization system 150 may calculate a loss value using a loss function as described in relation to measurer 180 above. As another example, Wannierization system 150 may generate a loss value for energy bands within an energy range (e.g., an energy range specified by a user) using a loss function that compares an energy eigenvalue of the guess to an energy eigenvalue of a DFT or higher level calculation.
[0038] At step 218, Wannierization system 150 may compare the evaluation to a threshold. For example, Wannierization system 150 may compare a loss value to a threshold. In some embodiments, step 218 includes comparing a spread generated at step 210 to the target accuracy ^target - For example, if the spread generated at step 210 is greater than the target accuracy, then Wannierization system 150 may repeat steps 206-212. If the evaluation does not satisfy theAtty. Dkt. No. 10046-653W01threshold, then method 200 may proceed with step 206. If the evaluation satisfies the threshold, then method 200 may proceed with step 220.
[0039] At step 220, Wannierization system 150 may output the guess. In various embodiments, step 220 includes outputting an optimized Wannier Function (or set of Wannier Functions) and / or an optimized unitary transformation matrix (or set of unitary transformation matrices). Additionally or alternatively, step 220 may include outputting a disentanglement window (or set of disentanglement windows) that are optimal with respect to a loss function and / or other hvperparameters of Wannierization.
[0040] Referring now to FIG. 3, computer system 300 is shown, according to an exemplary embodiment. Computer system 300 may fully or partially implement the methods described herein. For example, computer system 300 may perform method 200. As another example, computer system 300 may implement Wannierization system 150. In various embodiments, a user may operate computer system 300 to generate a set of optimized Wannier Functions for a material and / or device simulation. For example, a user may provide a set of inputs to computer system 300 and computer system 300 may (i) perform a DFT calculation to generate a set of wavefunctions, (ii) perform a DFI’ band structure calculation for comparison, (iii) perform a meta-optimization algorithm to generate a set of candidate Wannier Functions and evaluate the set of candidate Wannier Functions using a loss function, and / or (iv) identify a final set of Wannier Functions from based on the evaluation of the set of candidate Wannier Functions and provide the final set of Wannier Functions and / or one or more hyperparameters to the user (e.g., in a “.npy” file format, etc.).
[0041] Computer system 300 may include processing circuit 310, communication interface 370, storage 380, and / or I / O interface 390. Processing circuit 310 may include processor 320 and / or memory 330. Processor 320 may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor 320 is configured to execute computer code or instructions stored in memory 330 or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.). Memory 330 may include one or more devices (e.g., memory units, memory devices, storage devices, and / or other computer-readable media) for storing data and / or computer code for completing and / or facilitating the various processes described in the present disclosure. Memory 330 may include random access memory (RAM), read-only memory (ROM), hardAtty. Dkt. No. 10046-653W01drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and / or computer instructions. Memory 330 may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory 330 may be communicably connected to processor 320 via processing circuit 310 and may include computer code for executing (e.g., by processor 320) one or more of the processes described herein. For example, memory 330 may have instructions stored thereon that, when executed by processor 320, cause processing circuit 310 to (i) receive a target accuracy, (ii) recei ve a representation of wave functions corresponding to a material, (iii) receive an energy range associated with the band energies of the wave functions, and (iv) perform a global optimization to produce a final set of Wannier Function by (a) generating a candidate overlap matrix based on the wave functions and (b) iteratively generating a set of candidate Wannier Functions using the candidate overlap matrix, candidate disentanglement windows, and / or candidate hyperparameters for Wannierization, (c) generating a loss value for energy bands within the energy range using a loss function that compares an energy eigenvalue of the set of candidate Wannier Functions to an energy eigenvalue of a DFT or higher level calculations and quantifies the spatial spread of the set of candidate Wannier Functions, and (d) adjusting the candidate overlap matrix and the candidate hyperparameters based on the loss value.
[0042] Communication interface 370 may facilitate communication with one or more systems / devices. For example, computer system 300 may communicate via communication interface 370 with a database storing computed properties corresponding to different materials. As another example, computer system 300 may communicate via communication interface 370 with a server implementing the Wannier90 library or equivalent software. As another example, computer system 300 may communicate via communication interface 370 with a server configured to perform a quantum mechanics simulation associated with a material and computer system 300 may provide the server with a set of optimized Wannier Functions to decrease the compute necessary to perform the quantum mechanics simulation. Communication interface 370 may be or include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with external systems or devices. In various embodiments, communications via communication interface 370 is direct (e.g., local wired or wirelessAtty. Dkt. No. 10046-653W01communications). Additionally or alternatively, communications via communication interface 370 may utilize a network (e.g., a WAN, the Internet, a cellular network, etc.).
[0043] Storage 380 may store data / information associated with generating Wannier Functions and / or unitary transformation matrices. For example, storage 380 may store lattice structure descriptions for a number of materials. Storage 380 may be and / or include one or more memory¬ devices (e.g., hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, and / or any other suitable memory device).
[0044] I / O interface 390 may facilitate input / output operations. For example, I / O interface 390 may include a display capable of presenting information from a user and an interface capable of receiving input from the user. In some embodiments, I / O interface 390 includes a displaydevice configured to present a GUI to a user. I / O interface 390 may include hardware and / or software components. For example, I / O interface 390 may include a physical input device (e.g., a mouse, a keyboard, a touchscreen device, etc.) and software to enable the physical input device to communicate with computer system 300 (e.g., firmware, drivers, etc.). In some embodiments, I / O interface 390 includes an API to facilitate interaction with external systems (e.g., an external server implementing the Wannier90 library or equivalent software, etc.).
[0045] Referring now to FIG. 4, Wannierization system 400 is shown, according to an exemplary embodiment. In some embodiments, Wannierization system 400 is implemented by¬ computer system 300. Wannierization system 400 may receive crystal structure 402 as an input and generate meta-optimized maximally-localized Wannier function(s) 404 as an output. Crystal structure 402 may be and / or include a DFT band structure for a crystal. In some embodiments, Wannierization system 400 generates crystal structure 402 based on receiving an identification of an input crystal. For example, Wannierization system 400 may receive an indication of an input crystal and may perform a DFT band structure calculation using a library such as Quantum Espresso.
[0046] At step 410, Wannierization system 400 may select hyperparameters for constructing U. For example, Wannierization system 400 may implement a differential evolution or Bayesian optimization algorithm to generate the hyperparameters. The hyperparameters maybe and / or include energies of the inner and / or outer disentanglement windows and / or the type of initial projections. For example, Wannierization system 400 may vary (i) an outer disentanglement window (e.g., specified by parameters dis__win_niin and dis_win_max), (ii) an inner disentanglement window (e.g., specified by parameters dis_froz_min andAtty. Dkt. No. 10046-653 WO 1dis froz max), and / or (iii) the types of initial projections (e.g., which may be categorical labels specified by an integer index corresponding to hydrogenic wavefunctions and associated hybrid orbitals, etc.),
[0047] in various embodiments, Wannierization system 400 maps U° to W([ / °) (shown as steps 420). At step 422, Wannierization system 400 may build U° using the hyperparameters and data from a DFT calculation. At step 424, Wannierization system 400 may locally optimize the Berry -phase spread functional. For example, Wannierization system 400 may implement the Wannier90 library to optimize the Berry -phase spread functional. At step 426, Wannierization system 400 may compute the loss function (e.g., using MLWFs from step 424 and band structures from DFT calculations for ground truth, etc.). The loss function may be represented as:+ ILA'In various embodiments, a band interpolation error £ may be determined as the root mean square deviation between DFT bands and Wannier-interpolated bands within a given energy W indow7[ fax] •where £nfcrepresents the Kohn-Sham eigenvalue for band n and wavevector k, DFT represents to DFT calculations, and W represents to eigenvalues generated by Wannier interpolation. In various embodiments, a rectangular filter is used. For example, Wannierization system 400 may implement a rectangular filter via the Fermi-Dirac functionsand fn ™'ax, which may be defined as = {exp + l}”1. In some embodiments, a broadening parameter a =1 meV is used (e.g., to avoid discontinuous jumps in the loss function, etc,). In various embodiments, the sums are evaluated over all bands and all k points included in the Wannierization process.
[0048] At step 430, Wannierization system 400 may test the loss function. If the test fails, Wannierization system 400 may repeat the procedure for a new DE generation or BO iteration (step 410). If the test passes, Wannierization system 400 may output meta-optimizedAtty. Dkt. No. 10046-653W01maximally-localized Wannier function(s) 404. In various embodiments, the loss function and / or the meta-optimizer may be selected to fine-tune Wannierization system 400.
[0049] In various embodiments, systems and methods of the present disclosure (e.g., Wannierization system 400, etc.) may offer benefits such as identifying a sufficiently small number of MLWFs without compromising predictive accuracy (e.g., in a large system in which ab initio calculations of the functional properties may be computationally prohibitive, etc.). For example, Wannierization system 400 may generate MLWFs within a target energy window for a stannene nanoribbon (e.g., that is a prototype of a nanostructure with S2topological order and topologically-protected edge states, etc.) that conventional systems / methods may be unable to analyze (e.g., because performing accurate transport calculations with 100 MLWFs and 54 normal modes is prohibitively computationally expensive, etc.). To continue the example, Wannierization system 400 may reduce the number of required MLWFs from 100 to 14 while maintaining high band interpolation accuracy. Systems and methods of the present disclosure (e.g., Wannierization system 400, etc. ) may be applied in various scenarios, such as to the high-throughput computation of transport properties of semiconductors, the construction of minimal tight-binding Hamiltonians for large-scale materials simulations, and / or the simulation of transport properties of a large nanostructure. Systems and methods of the present disclosure (e.g., Wannierization system 400, etc.) may improve computational efficiency and / or reduce computation times. For example, Wannierization system 400 may reduce an amount of time required to calculate the electron mobility of silicon from approximately 106minutes to 102minutes (e.g., normalized across systems to a single core, etc.). As another example, Wannierization system 400 may reduce an amoun of time required to calculate the carrier mobility of 2D materials from approximately IO6minutes to 103minutes (e.g., normalized to a single core, where a supercomputer may include 480 specialized computing cores, such that a computation time of the supercomputer may be reduced from -34 hours to ~2 minutes, etc.). In various embodiments, the ab initio Boltzmann transport equation (aiBTE) is used to perform mobility calculations.
[0050] As utilized herein with respect to numerical ranges, the terms “approximately,” “about,” “substantially,” and similar terms generally mean+ / -10% of the disclosed values, unless specified otherwise. As utilized herein with respect to structural features (e.g., to describe shape, size, orientation, direction, relative position, etc.), the terms “approximately,” “about,” “substantially,” and similar terms are meant to cover minor variations in structure that may result from, for example, the manufacturing or assembly process and are intended to have aAtty. Dkt. No. 10046-653W01broad meaning in harmony with the common and accepted usage by those of ordinary skill in the art to which the subject matter of this disclosure pertains. Accordingly, these terms should be interpreted as indicating that insubstantial or inconsequential modifications or alterations of the subject matter described and claimed are considered to be within the scope of the disclosure as recited in the appended claims.
[0051] It should be noted that the term “exemplary” and variations thereof, as used herein to describe various embodiments, are intended to indicate that such embodiments are possible examples, representations, or illustrations of possible embodiments (and such terms are not intended to connote that such embodiments are necessarily extraordinary or superlative examples).
[0052] The term “coupled” and variations thereof, as used herein, means the joining of two members directly or indirectly to one another. Such joining may be stationary (e.g., permanent or fixed) or moveable (e.g., removable or releasable). Such joining may be achieved with the two members coupled directly to each other, with the two members coupled to each other using a separate intervening member and any additional intermediate members coupled with one another, or with the two members coupled to each other using an intervening member that is integrally formed as a single unitary body with one of the two members. If “coupled” or variations thereof are modified by an additional term (e.g., directly coupled), the generic definition of “coupled” provided above is modified by the plain language meaning of the additional term (e.g., “directly coupled” means the joining of two members without any separate intervening member), resulting in a narrower definition than the generic definition of “coupled” provided above. Such coupling may be mechanical, electrical, or fluidic.
[0053] References herein to the positions of elements (e.g., “top,” “bottom,” “above,” “below”) are merely used to describe the orientation of various elements in the figures. It should be noted that the orientation of various elements may differ according to other exemplary embodiments, and that such variations are intended to be encompassed by the present disclosure.
[0054] The present disclosure contemplates methods, systems, and program products on any machine -readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-Atty. Dkt. No. 10046-653W01executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general-purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
[0055] Although the figures and description may illustrate a specific order of method steps, the order of such steps may differ from what is depicted and described, unless specified differently above. Also, two or more steps may be performed concurrently or with partial concurrence, unless specified differently above. Such variation may depend, for example, on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations of the described methods could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various connection steps, processing steps, comparison steps, and decision steps.
[0056] The term “client or “server” include all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus may include special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The apparatus may also include, in addition to hardware, code that creates an execution environment for the computer program in question (e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them). The apparatus and execution environment may realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.Atty. Dkt. No. 10046-653W01
[0057] The systems and methods of the present disclosure may be completed by any computer program. A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[0058] The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may also be implemented as, special purpose logic circuitry (e.g., an FPGA or an ASIC).
[0059] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random-access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks). However, a computer need not have such devices. Moreover, a computer may be embedded in another device (e.g., a vehicle, a Global Positioning System (GPS) receiver, etc.). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks). The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.Atty. Dkt. No. 10046-653W01
[0060] To provide for interaction with a user, implementations of the subject matter described in this specification may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube), LCD (liquid crystal display), OLED (organic light emitting diode), TFT (thin-film transistor), or other flexible configuration, or any other monitor for displaying information to the user. Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback).
[0061] Implementations of the subject matter described in this disclosure may be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer) having a graphical user interface or a web browser through which a user may interact with an implementation of the subject matter described in this disclosure, or any combination of one or more such back end, middleware, or front end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a LAN and a WAN, an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
Claims
Atty. Dkt. No. 10046-653W01WHAT IS CLAIMED IS:
1. A method for automating Wannierization, the method comprising:receiving a target accuracy and a loss function;receiving a representation of the wave functions corresponding to a material and a representation of the energy band structures corresponding to the material;receiving an energy range associated with the wave functions; andperforming a global optimization to produce a final set of Wannier Functions by: generating a candidate overlap matrix based on the wave functions, wherein the candidate overlap matrix describes overlap between the wave functions and localized orbitals; anditeratively:generating a set of candidate Wannier Functions using at least one of the candidate overlap matrix and a candidate disentanglement window;generating a loss value for energy bands within the energy range using a loss function that compares energy eigenvalues obtained from the set of candidate Wannier Functions to energy eigenvalues; andadjusting the candidate overlap matrix and the candidate disentanglement window based on the loss value; andwherein the set of candidate Wannier Functions are identified as the final set of Wannier Functions based on comparing the target accuracy to the loss function associated with the set of candidate Wannier Functions.
2. The method of claim 1, wherein generating the set of candidate Wannier Functions comprises performing gradient descent using a gradient of a spread of the set of candidate Wannier Functions.
3. The method of claim 1, further comprising receiving, from a user, a selection of a global optimization technique, and wherein performing the global optimization comprises performing at least one of (i) differential evolution, (ii) Bayesian optimization, ( iii) Dual Annealing, (iv) Basin Hopping, (v) Brute, (vi) SHGO, (vii) Direct, (viii) Ant colony algorithm, (ix) Simulated Annealing, (x) memetic algorithm, (xi) Genetic algorithm, (xii) Particle Swarm Optimization, (xiii) Covariance Matrix Adaptation Evolution Strategy, or (xiv) Nelder-Mead on a candidate hyperparameter.Atty. Dkt. No. 10046-653W014. The method of claim 1, wherein performing the global optimization comprises performing Bayesian optimization on the candidate disentanglement window.
5. The method of claim 1, wherein the loss function is defined by£(UQ} = V + V A7£{iV,where L7Uincludes one or more trial matrices, ti, is a feature to be optimized, cn is a weight corresponding to each feature to be optimized, A', is a bound on feature r, Zj is a penally, 0 is the Heaviside step function, and W(t / °) is a set of Wannier functions generated from local minimization of a spread function in a neighborhood of U°.
6. The method of claim 1, further comprising inputting the final set of Wannier Functions into material simulation or a device simulation.
7. The method of claim 1, wherein the set of candidate Wannier Functions are generated using a Wannier90 function library.
8. The method of claim 1, further comprising generating a visual representation of the final set of Wannier Functions.
9. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to:receive a target accuracy and a loss function;receive a representation of the wave functions corresponding to a material and a representation of the energy band structures corresponding to the material;receive an energy range associated with the wave functions; andperform a global optimization to produce a final set of Wannier Functions by:generating a candidate overlap matrix based on the wave functions, wherein the candidate overlap matrix describes overlap between the wave functions and localized orbitals; andperforming a meta-optimization comprising:generating a set of candidate Wannier Functions using at least one of the candidate overlap matrix and a candidate disentanglement window;generating a loss value for energy bands within the energy range using a loss function that compares energy eigenvalues obtained from the set of candidate Wannier Functions to energy eigenvalues; andAtty. Dkt. No. 10046-653W01adjusting the candidate overlap matrix and the candidate disentanglement window based on the loss value; andwherein the set of candidate Wannier Functions are identified as the final set of Wannier Functions based on comparing the target accuracy to the loss function associated with the set of candidate Wannier Functions.
10. The non-transitory computer-readable storage medium of claim 9, wherein generating the set of candidate Wannier Functions comprises performing gradient descent using a gradient of a spread of the set of candidate Wannier Functions.
11. The non-transitory computer-readable storage medium of claim 9, wherein performing the global optimization comprises performing at least one of (i) differential evolution, (ii) Bayesian optimization, (iii) Dual Annealing, (iv) Basin Hopping, (v) Brute, (vi) SHGO, (vii) Direct, (viii) Ant colony algorithm, (ix) Simulated Annealing, or (x) memetic algorithm on the candidate disentanglement window.
12. The non-transitory computer-readable storage medium of claim 9, wherein the loss function is defined bywhere U° includes one or more trial matrices, Ci, is a feature to be optimized, a; is a weight corresponding to each feature to be optimized, Arj is a bound on feature r, is a penalty, 0 is the Heaviside step function, and W([ / °) is a set of Wannier functions generated from local minimization of a spread function in a neighborhood of If-'.
13. The non-transitory computer-readable storage medium of claim 9, wherein the instructions further cause the processor to input the final set of Wannier Functions into at least one of (i) a material simulation or (ii) a device simulation.
14. The non-transitory computer-readable storage medium of claim 9, wherein the set of candidate Wannier Functions are generated using a wannier90 function library.
15. A system for determining material property descriptions, the system comprising: a processing circuit comprising a processor and memory, the memory having instructions stored thereon that, when executed by the processor, cause the processing circuit to:receive a target accuracy;Atty. Dkt. No. 10046-653W01receive a representation of wave functions corresponding to a material and a representation of energy band structures corresponding to the material; andexecute an iterative optimization comprising:generate, using one or more hyperparameters, a set of candidate Wannier Functions;evaluate the set of candidate Wannier Functions using a loss function to determine whether the set of candidate Wannier Functions satisfy the target accuracy;in response to determining that the set of candidate Wannier Functions do not satisfy the target accuracy, updating the one or more hyperparameters; andin response to determining that the set of candidate Wannier Functions satisfy the target accuracy, outputting the set of candidate Wannier Functions.
16. The system of claim 15, wherein generating the set of candidate Wannier Functions comprises performing gradient descent using a gradient of a spread of the set of candidate Wannier Functions.
17. The system of claim 15, wherein executing the iterative optimization comprises performing at least one of (i) differential evolution or (ii) Bayesian optimization, (iii) Dual Annealing, (iv) Basin Hopping, (v) Brute, (vi) SHGO, (vii) Direct, (viii) Ant colony algorithm, (ix) Simulated Annealing, (x) memetic algorithm, (xi) Genetic Algorithm, (xii) Particle Swarm Optimization, (xiii) Covariance Matrix Adaptation Evolution Strategy, or (xiv) Nelder-Mead on a hyperparameter of the one or more hyperparameters.
18. The system of claim 15, wherein the instructions further cause the processing circuit to perform at least one of (i) a material simulation or (ii) a device simulation using the output set of candidate Wannier Functions.
19. The system of claim 15, wherein the set of candidate Wannier Functions are generated using a wannier90 function library.
20. The system of claim 15, wherein the instructions further cause the processing circuit to in response to determining that the set of candidate Wannier Functions satisfy the target accuracy, outputting the one or more hyperparameters.