Fast calculation method and system of crystal structure projection potential based on kirkland scattering factor

CN122889188APending Publication Date: 2026-10-09SHUIMU BIOSCIENCES LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611157268.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-31
Publication Date
2026-10-09

AI Technical Summary

Technical Problem

[0005]本发明的目的在于提供一种基于Kirkland散射因子的多晶体结构投影势快速计算方法及系统,针对多晶体结构投影势计算过程中统一执行倒空间逐点计算造成重复运算、不同晶粒原子叠加过程中重复生成存储地址以及频域阵列整体插值引起偏移误差扩散的问题,通过依据原子散射幅值变化划分频域计算区段、采用晶格整数映射复用线性地址以及分解零频点偏移向量实施整数搬移和局部补偿,形成从多晶体结构数据输入、频域散射贡献计算、频域阵列写入和重定位至实空间投影势输出的计算链路

Benefits of technology

本发明中,通过相邻倒空间采样点的幅值差与幅值变化阈值划分高变化区段和平缓区段,对高变化区段逐点计算散射贡献,对平缓区段采用区段代表幅值,减少参数调用与重复运算,将原子空间坐标按晶格步长转换为三维整数索引和线性地址,相同晶格偏移复用线性地址并累加写入频域阵列,减少多晶粒叠加中的浮点寻址与地址生成,将零频点偏移向量分解为整数偏移和剩余偏移,通过索引搬移与局部距离加权补偿完成重定位,使补偿范围限定于零频点邻域,减少偏移误差扩散,配合逆变换和网格归一化生成数值连续的多晶体结构投影势数组。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122889188A_ABST
    Figure CN122889188A_ABST
Patent Text Reader

Abstract

The present application relates to electron microscope simulation and computational materials science technology field, specifically to a method and system for fast calculation of multi-crystal structure projection potential based on Kirkland scattering factor, comprising the following steps: reading atomic number and spatial coordinates of the multi-crystal structure, generating atomic scattering amplitude sequence, dividing high variation section and gentle section according to amplitude difference of adjacent inverse space sampling points and calculating scattering contribution, writing into frequency domain array after mapping spatial coordinates into integer index and linear address, decomposing zero frequency point offset and performing index shift and local weighted compensation, generating projection potential array through inverse transformation and normalization. The present application reduces parameter call of gentle section through partition calculation, reduces repeated addressing through linear address reuse of the same lattice offset, and limits compensation range through zero frequency point offset decomposition, retains Kirkland scattering amplitude characteristics, and reduces error diffusion caused by frequency domain relocation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of electron microscope simulation and computational materials science and technology, and in particular to a method and system for rapid calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor. Background Technology

[0002] The field of electron microscopy simulation and computational materials science encompasses imaging mechanisms of transmission electron microscopy and scanning transmission electron microscopy, multiple scattering theory, crystal structure modeling, expression of electron scattering factors, and methods for calculating projection potentials. This field focuses on the propagation and scattering behavior of electron waves in crystals, emphasizing the quantitative description of electron-matter interactions through atomic potential functions and the construction of computational processes from crystal structure to electron diffraction and imaging signals. Its technical system covers electron propagation models based on multi-slice methods, parameterized expressions of atomic scattering factors, spatial frequency domain transformation calculations based on fast Fourier transforms, and standardized input methods for crystal structure parameters. It also involves unified representation and processing rules for lattice parameters, atomic coordinates, occupancy rates, and thermal vibration factors, and provides consistent modeling for different grain orientations and structural differences in polycrystalline systems.

[0003] The method and system for rapid calculation of projection potential of polycrystalline structures based on Kirkland scattering factor refers to the process of constructing the projection potential by expressing the atomic potential of each element using Kirkland scattering factor parameters based on polycrystalline structure modeling, and combining frequency domain and real space calculation methods. The technical aspects involved include reading and standardizing lattice parameters, atomic coordinates, occupancy rates, and DebyeWaller factors in crystal structure data, calculating the atomic potential of different elements by calling the Kirkland scattering factor parameter table, superimposing the atomic potentials in the discrete space grid, and performing orientation transformation on the polycrystalline structure to unify it to the projection direction. During the calculation process, the correspondence between scattering vector and spatial frequency is established, the Miller index is mapped to the array index position, and the conversion between frequency domain and real space is achieved by using fast Fourier transform. At the same time, the normalization coefficients in the inverse transform are uniformly processed. Layer-by-layer integration is performed on the three-dimensional potential function along the electron beam incident direction to obtain the two-dimensional projection potential distribution. The input data required for electron probe formation, multi-slice propagation, detector signal acquisition, and scanning path calculation are connected under a unified data structure.

[0004] Current methods for calculating the projection potential of polycrystalline materials employ uniform reciprocal sampling and point-by-point scattering amplitude calculation. In regions where the scattering vector changes smoothly, scattering parameters are repeatedly called and accumulated. The processor's computational load increases with the number of atoms and the sampling scale. The superposition of atoms in polycrystalline materials relies on floating-point coordinate addressing. Addresses for the same lattice positions are repeatedly generated and written to the frequency domain array, increasing memory access overhead. Zero-frequency point rearrangement performs overall interpolation on the frequency domain array, and local offset errors propagate to surrounding sampling points. The projection potential value fluctuates after the inverse transformation, making it difficult to balance the accuracy of Kirkland scattering modeling with the computational speed of polycrystalline materials. Summary of the Invention

[0005] The purpose of this invention is to provide a fast calculation method and system for the projection potential of polycrystalline structures based on the Kirkland scattering factor. This addresses the problems of repetitive calculations caused by uniformly performing point-by-point reciprocal space calculations during the polycrystalline structure projection potential calculation process, repeated generation of storage addresses during the superposition of atoms in different grains, and the spread of offset errors caused by overall interpolation of the frequency domain array. The invention forms a computational chain from polycrystalline structure data input, frequency domain scattering contribution calculation, frequency domain array writing and repositioning to real-space projection potential output by dividing the frequency domain calculation area according to the changes in atomic scattering amplitude, using lattice integer mapping to reuse linear addresses, and decomposing the zero-frequency offset vector to perform integer shifting and local compensation.

[0006] To achieve the above objectives, this invention provides a fast method for calculating the projection potential of polycrystalline structures based on the Kirkland scattering factor, comprising the following steps: Read the atomic number and atomic spatial coordinates of the polycrystalline structure, call the Kirkland scattering parameter corresponding to the atomic number, and generate an atomic scattering amplitude sequence at the reciprocal space sampling point; Compare the amplitude difference between adjacent reciprocal space sampling points with the amplitude change threshold, mark the interval between adjacent reciprocal space sampling points according to the comparison result, and merge continuous intervals with the same mark into high change segments or smooth segments. For the highly variable region, the Kirkland scattering parameters are called point by point to calculate the scattering contribution; For the smooth section, calculate the arithmetic mean of the atomic scattering amplitudes within the smooth section, use the arithmetic mean as the representative amplitude of the section, and assign the representative amplitude of the section to all sampling indices within the smooth section; By splicing the point-by-point calculation results corresponding to the high-variability segment and the segment representative amplitude corresponding to the smooth segment according to the arrangement order of the reciprocal space sampling points, atomic frequency domain scattering contribution data is generated.

[0007] The atomic spatial coordinates are rounded to a three-dimensional index according to the lattice step size, and a linear address is generated based on the three-dimensional index; Establish a mapping relationship between lattice offset and linear address. When the lattice offset corresponding to the atom to be written is consistent with the lattice offset recorded in the mapping relationship, call the corresponding linear address in the mapping relationship and accumulate the frequency domain scattering contribution data of the atom into the frequency domain array. When the lattice offset corresponding to the atom to be written is inconsistent with the lattice offset already recorded in the mapping relationship, a new linear address is generated and the mapping relationship is updated.

[0008] Using the peak amplitude position of the frequency domain array as the zero frequency position, calculate the zero frequency offset vector from the zero frequency position to the center position, decompose the zero frequency offset vector into integer offset and residual offset, and perform cyclic shifting of the frequency domain array by integer steps according to the integer offset. When the remaining offset is non-zero, a distance weight is generated based on the distance between the target sampling point and the adjacent sampling point. The distance weight is normalized, and the normalized distance weight is used to perform fractional step weighted interpolation compensation on the adjacent frequency domain data to generate the repositioned frequency domain array.

[0009] Perform an inverse transform on the repositioned frequency domain array to obtain real space potential field data; The number of grid points along each storage dimension of the frequency domain array is counted, a normalization coefficient is determined based on the number of grid points, and the values ​​of each grid point in the real space potential field data are proportionally adjusted according to the normalization coefficient to generate a polycrystalline structure projection potential array.

[0010] Furthermore, the process of generating the atomic scattering amplitude sequence includes: The atoms in the polycrystalline structure are grouped according to their atomic numbers, and the same set of Kirkland scattering parameters is applied to atoms with the same atomic number. The reciprocal space sampling points are arranged in ascending order of scattering vector magnitude, and the scattering amplitude corresponding to each reciprocal space sampling point is calculated by sequentially calling the Kirkland scattering parameter set. The calculated scattering amplitudes are written into a continuous storage area according to the order of the reciprocal space sampling points, and a correspondence is established between the atomic number, the Kirkland scattering parameter set, and the atomic scattering amplitude sequence.

[0011] Furthermore, the process of comparing adjacent amplitude differences and dividing the segments includes: The absolute difference between adjacent scattering amplitudes is calculated according to the order of the atomic scattering amplitude sequence, and each absolute difference is compared with the amplitude change threshold in turn. When the absolute difference is greater than the amplitude change threshold, the interval between the corresponding adjacent reciprocal sampling points is marked as a high change interval; When the absolute difference is not greater than the amplitude change threshold, the interval between the corresponding adjacent reciprocal space sampling points is marked as a smooth interval; Merge identical and continuous intervals along the order of the reciprocal space sampling points to generate the high-variability segment and the smooth segment respectively, and record the starting sampling index, ending sampling index, segment type and corresponding atomic number of each segment.

[0012] Furthermore, the process of calculating the scattering contribution includes: Based on the starting sampling index and the ending sampling index of the high-variability segment, the atomic scattering amplitude of the corresponding sampling index in the atomic scattering amplitude sequence is read one by one, and the Kirkland scattering parameter set matching the corresponding atomic number is called to calculate the scattering contribution of each sampling index; Based on the starting sampling index and the ending sampling index of the smooth section, the arithmetic mean of the atomic scattering amplitudes falling into the smooth section in the atomic scattering amplitude sequence is calculated to generate the representative amplitude of the section. By splicing the scattering contribution calculated point by point in the high-variability section with the representative amplitude of the section in the smooth section according to the arrangement order of the reciprocal space sampling points, the atomic frequency domain scattering contribution data with the same length as the atomic scattering amplitude sequence is generated.

[0013] Furthermore, the process of generating the three-dimensional index and the linear address includes: Divide each component of the atomic space coordinates by the corresponding lattice step size, and round the resulting ratio to obtain the three-dimensional index. The linear address is generated by multiplying each index component of the three-dimensional index by its corresponding storage dimension weight and summing the results. When the lattice offset corresponding to the atom to be written is consistent with the lattice offset already recorded in the mapping relationship, the corresponding linear address in the mapping relationship is reused; when the lattice offset corresponding to the atom to be written is inconsistent with the lattice offset already recorded in the mapping relationship, a new linear address is generated and the mapping relationship is updated.

[0014] Furthermore, the process of determining the zero-frequency point location and decomposing the zero-frequency point offset vector includes: The frequency domain array is scanned in ascending order of the indexes of each storage dimension. The magnitude of the frequency domain data corresponding to each reciprocal sampling point is calculated, and the array index corresponding to the largest magnitude is determined as the zero frequency point position. Calculate the difference between the index of the zero-frequency point location in each of the three storage dimensions and the index corresponding to the center location, and form the zero-frequency point offset vector according to the arrangement order of the three storage dimensions; The nearest integer rounding is performed on each component of the zero-frequency offset vector, the rounding results are used to form the integer offset, and the corresponding rounding result is subtracted from each component before rounding to form the remaining offset.

[0015] Furthermore, the process of performing index shifting and local distance-weighted compensation on the frequency domain array includes: The array indices of each of the reciprocal sampling points in the frequency domain array are cyclically mapped according to the integer offset, and the array indices that exceed the storage boundary are wrapped back to the relative storage boundary to generate an integer relocation array; When all components of the remaining offset are zero, the integer relocation array is determined as the relocated frequency domain array. When at least one dimension of the remaining offset is not zero, the distance weight is generated based on the distance between each target sampling point and its adjacent sampling points, the distance weight is normalized, and the adjacent frequency domain data in the integer relocation array are weighted and superimposed according to the normalized distance weight to generate the relocated frequency domain array.

[0016] Furthermore, the process of performing the inverse transformation and the mesh normalization includes: Read the number of grid points along each of the storage dimensions of the frequency domain array, and multiply the number of grid points in each of the storage dimensions to obtain the total number of grid points; Perform an inverse fast Fourier transform on the frequency domain array after the index shift and the local distance weighting compensation to obtain the real space potential field data; The normalization coefficient is determined based on the total number of grid points, and the values ​​of each grid point in the real space potential field data are proportionally adjusted according to the normalization coefficient to generate the polycrystalline structure projection potential array.

[0017] Furthermore, numerical detection is performed on the polycrystalline structure projection potential array, the values ​​of each grid point in the polycrystalline structure projection potential array are statistically analyzed, the average value and the maximum value of the grid points are determined, and the potential difference between the maximum value and the average value of the grid points is calculated. When the potential difference does not exceed the stability threshold, the grid point values ​​in the polycrystalline structure projection potential array are maintained. When the potential difference exceeds the stability threshold, the grid point corresponding to the maximum value of the grid point is determined as an abnormal grid point. The average value of the grid points adjacent to the abnormal grid point but not containing the abnormal grid point is calculated, and the value of the abnormal grid point is replaced with the calculated average value.

[0018] The present invention also provides a fast calculation system for the projection potential of polycrystalline structures based on the Kirkland scattering factor, for executing the above-mentioned fast calculation method for the projection potential of polycrystalline structures based on the Kirkland scattering factor, the system comprising: a memory array, a processor, and an output interface; The memory array is used to store polycrystalline structure information and Kirkland scattering parameters, and the processor is connected to the memory array and the output interface respectively.

[0019] The processor includes an amplitude construction unit, a block calculation unit, an integer addressing unit, an offset relocation unit, and a potential field reconstruction unit; The amplitude construction unit generates an atomic scattering amplitude sequence based on the atomic number and the reciprocal space sampling point; The block calculation unit calculates the scattering contribution point by point in the high-variance section based on the comparison result between the adjacent amplitude difference and the amplitude change threshold, and calculates the scattering contribution of the smooth section using the segment representative amplitude, generating atomic frequency domain scattering contribution data. The integer addressing unit maps atomic spatial coordinates to integer indices and linear addresses, and accumulates the atomic frequency domain scattering contribution data into the frequency domain array according to the same offset multiplexed address. The offset relocation unit performs zero-frequency offset decomposition, array relocation, and local weighted compensation on the frequency domain array. The potential field reconstruction unit performs inverse transformation and normalization on the relocation result, and outputs the polycrystalline structure projection potential array through the output interface.

[0020] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following: In this invention, high-variance and flat-variance segments are divided by the amplitude difference and amplitude variation threshold of adjacent reciprocal sampling points. The scattering contribution is calculated point by point for high-variance segments, and the amplitude is represented by segments for flat-variance segments, reducing parameter calls and repetitive calculations. Atomic space coordinates are converted into three-dimensional integer indices and linear addresses according to the lattice step size. Linear addresses are reused for the same lattice offset and accumulated and written into the frequency domain array, reducing floating-point addressing and address generation in multi-crystal superposition. The zero-frequency offset vector is decomposed into integer offset and residual offset. Relocation is completed by index shifting and local distance weighted compensation, so that the compensation range is limited to the zero-frequency neighborhood, reducing the spread of offset error. Combined with inverse transformation and grid normalization, a numerically continuous polycrystalline structure projection potential array is generated. Attached Figure Description

[0021] Figure 1 This is a flowchart of the rapid calculation process for the projection potential of polycrystalline structures according to the present invention; Figure 2 This is a schematic diagram illustrating the generation of atomic scattering amplitude partitioning kernels and complex frequency domain scattering contributions in this invention. Figure 3 This is a schematic diagram of lattice offset and phase data and frequency domain sampling address multiplexing in this invention; Figure 4 This is a schematic diagram of continuous zero-frequency relocation and potential field reconstruction according to the present invention; Figure 5 This is a collaborative diagram of the modules of the projection potential fast calculation system of the present invention. Detailed Implementation

[0022] The following detailed explanation illustrates the specific implementation methods: The following implementation describes the process of fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor.

[0023] In subsequent embodiments, the atomic number is used to determine the element type and obtain the corresponding Kirkland scattering parameter set; Atomic spatial coordinates are data used to describe the spatial positions of atoms in a polycrystalline structure; reciprocal space sampling points are discrete sampling positions arranged in ascending order of scattering vector magnitude. Atomic scattering amplitude sequence is a continuous arrangement of Kirkland scattering parameters corresponding to the same atomic number at each reciprocal space sampling point.

[0024] The input polycrystalline structure includes one or more grains. Before entering the processing flow of this embodiment, the atomic space coordinates of each grain are transformed to the same projected coordinate system according to the corresponding grain orientation, so that the atomic positions in different grains can be processed according to a unified lattice step size, a unified reciprocal sampling grid, and a unified electron beam direction. If the original input has already adopted a unified projected coordinate system, the coordinate transformation will not be performed again.

[0025] Both high-variance and level-range sections are determined based on the difference in atomic scattering amplitudes between adjacent reciprocal space sampling points. The amplitude variation threshold is a non-negative number with the same unit as the atomic scattering amplitude, used to limit the degree of amplitude variation allowed to be represented by the section.

[0026] High-variance sections indicate the continuous sampling range where the point-by-point Kirkland scattering amplitude needs to be retained; flat sections indicate the continuous sampling range where the representative amplitude of the section can be replaced with the point-by-point Kirkland radial amplitude after section deviation verification.

[0027] The atomic frequency domain scattering contribution data is a complex data sequence formed according to the order of the reciprocal space sampling points. The radial amplitude in this complex data sequence is determined by the Kirkland scattering amplitude or the segment representative amplitude, the thermal vibrational attenuation is determined by the Debye-Waller factor of the corresponding atom, and the complex phase is determined by the positional relationship between the atomic spatial coordinates and the reciprocal space sampling points.

[0028] Lattice offset is a three-dimensional integer index combination formed by discretizing atomic spatial coordinates according to the corresponding lattice step size. Lattice offset is used to retrieve phase data blocks and frequency domain sampling address records related to atomic positions. The cache linear address is the starting address of the data block corresponding to the lattice offset. The frequency domain sampling address is the storage location of the reciprocal space sampling point in the frequency domain array. The cache linear address and the frequency domain sampling address are responsible for phase data multiplexing and frequency domain data writing functions, respectively, and they do not replace each other.

[0029] The initial index of the zero frequency point is the array index of the frequency domain data with the largest complex modulus in the frequency domain array. The continuous zero frequency point positions are formed by taking the initial index of the zero frequency point as the center and the distribution of complex modulus in its local neighborhood. The zero frequency point offset vector represents the position difference between the continuous zero frequency point positions and the predetermined center index. The integer offset is used to perform cyclic shifting with integer steps, and the remaining offset is used to determine whether to implement local distance weighted compensation for the center neighborhood.

[0030] In one specific configuration, the Kirkland scattering parameter database covers a subset of commonly used elements in the atomic number range of 1 to 98, and supports reciprocal scattering vector magnitudes ranging from 0 to 6.0. The resolution cutoff parameter is set to 3.0. The two-dimensional projection grid uses 256×256.

[0031] The parameters described above are used to illustrate an implementable configuration that does not change the input-output relationships between the processing steps.

[0032] Please see Figures 1 to 4 This embodiment provides a fast calculation method for the projection potential of polycrystalline structures based on the Kirkland scattering factor. This method takes the atomic number and atomic spatial coordinates in a unified projection coordinate system as input, and forms a polycrystalline structure projection potential array through atomic scattering amplitude partitioning, lattice integer mapping, phase data and address record multiplexing, zero-frequency point offset decomposition, and inverse transformation reconstruction.

[0033] S1. Read the atomic number and atomic spatial coordinates of the polycrystalline structure, obtain the corresponding Kirkland scattering parameter set based on the atomic number, and generate an atomic scattering amplitude sequence at the reciprocal space sampling point.

[0034] The inputs for this step include the atomic number of each atom in the polycrystalline structure, the atomic spatial coordinates of each atom, the Debye-Waller factor of each atom, and the reciprocal space sampling points arranged in ascending order of scattering vector magnitude.

[0035] Atomic numbers are used to distinguish different elements and obtain the corresponding Kirkland scattering parameter set; atomic spatial coordinates are used to generate lattice shifts and atomic position phases; the Debye-Waller factor is used to form the thermal vibrational attenuation of each reciprocal space sampling point; the reciprocal space sampling point is used to determine the Kirkland scattering amplitude and the sampling position in the frequency domain array.

[0036] In practical applications, polycrystalline structures can be composed of multiple crystal structures. For example, the lattice constant of the Si-diamond structure can be 5.431. Each unit cell contains 8 atoms; the lattice constant of the Au face-centered cubic structure can be 4.078. Each unit cell contains 4 atoms; the lattice constant of the Cu face-centered cubic structure can be 3.615. Each unit cell contains 4 atoms; the lattice constant of the GaAs zincblende structure can be 5.653. Each unit cell contains 8 atoms; the lattice constant of the SrTiO3 perovskite structure can be 3.905. Each unit cell contains 5 atoms.

[0037] S101. Group the atoms in the polycrystalline structure according to their atomic numbers.

[0038] The atomic number of each read atom is obtained, and atoms with the same atomic number are grouped into the same atomic group. Each atomic group corresponds to a specific atomic number and is associated with the Kirkland scattering parameter set corresponding to that atomic number.

[0039] For multiple atoms with the same atomic number, instead of repeatedly reading different Kirkland scattering parameter sets, the corresponding parameter sets are called by the same group of atoms. The resulting grouping results provide S102 with the correspondence between atomic number and Kirkland scattering parameter set.

[0040] For example, the atomic numbers of Si, Fe, Cu, Ga, and Au are 14, 26, 29, 31, and 79, respectively. When multiple atoms of the same element exist in a polycrystalline structure, the parameter set is retrieved once according to the corresponding atomic number, and an atomic scattering amplitude sequence is generated for each atom.

[0041] S102. Arrange the reciprocal space sampling points in ascending order of scattering vector magnitude, and generate the atomic scattering amplitude corresponding to each reciprocal space sampling point in sequence.

[0042] For a group of atoms, read its corresponding Kirkland scattering parameter set, starting from the reciprocal sampling point with the smaller scattering vector magnitude, and process it point by point along the direction of increasing scattering vector magnitude.

[0043] In this embodiment, the atomic scattering amplitude of the Zth element at the m-th reciprocal space sampling point is determined according to the following formula: (1) in, Let Z be the electron scattering amplitude at the m-th reciprocal sampling point of the element with atomic number Z, in units of ; The scattering vector magnitude corresponding to the m-th reciprocal sampling point, in units of m is the reciprocal sampling index; i is the mixed item number, ranging from 1 to 3; This is the magnitude parameter of the i-th Gaussian term of the corresponding element; Let be the attenuation parameter of the i-th group of Gaussian terms; Let be the magnitude parameter of the i-th Lorentz term; Let the denominator change parameter of the i-th Lorentz term be one of the three... Three Three and three Together they constitute the Kirkland set of twelve parameters of this element.

[0044] Each parameter set is uniquely associated with an atomic number when written to the memory array. The processor reads the parameter set based on the atomic number and cannot mix parameter sets corresponding to different atomic numbers.

[0045] In a set of sampled data used for Si atomic data verification, when the scattering vector magnitude values ​​are successively 0.5... 1.0 2.0 and 3.0 At that time, the atomic scattering amplitude can be approximately 0.851. 0.395 0.138 and 0.067 This set of data is used to check whether the parameter set readings, scattering vector units, and sampling order are consistent.

[0046] S103. Write the atomic scattering amplitudes into a continuous storage area according to the order of the reciprocal space sampling points to form an atomic scattering amplitude sequence.

[0047] Each storage location in a contiguous storage region corresponds to a reciprocal sampling index. For each atomic number, a correspondence is established between the atomic number, the Kirkland scattering parameter set, and the atomic scattering amplitude sequence.

[0048] When subsequent steps read data corresponding to a certain atomic number, the corresponding atomic scattering amplitude sequence is obtained based on the correspondence. There is no need to re-identify the element type. The atomic scattering amplitude sequence output by S103 maintains continuous sampling index and is used as input for S2 to calculate the absolute difference between adjacent scattering amplitudes.

[0049] When the resolution cutoff parameter is 3.0 In this case, only sampling points whose scattering vector magnitude is not greater than the cutoff parameter are included in the subsequent projection potential reconstruction. When using a 256×256 two-dimensional projection grid, the corresponding minimum resolution is approximately 0.333 Å.

[0050] S2. Compare the amplitude difference between adjacent inverted space sampling points with the amplitude change threshold, merge continuous and identically labeled sampling positions into high-change segments or smooth candidate segments, and perform segment deviation verification on smooth candidate segments.

[0051] This step takes the atomic scattering amplitude sequence formed by S1 as the processing object, and the amplitude change threshold is denoted as the amplitude threshold. Its unit is the same as that of the atomic scattering amplitude. The amplitude threshold is used as the calculation configuration input and is determined by the allowable smooth segment representing the amplitude error. The same amplitude threshold is used for the same atomic scattering amplitude sequence in one processing process.

[0052] The smaller the amplitude threshold, the more sampling locations are included in the high-variability segment, increasing the point-by-point calculation. The larger the amplitude threshold, the more sampling locations are included in the smooth candidate segment. To prevent the cumulative amplitude error from occurring in long smooth segments, the maximum deviation of the smooth candidate segment should also be checked.

[0053] S201. Determine the absolute difference between adjacent scattering amplitudes according to the order of atomic scattering amplitude sequence.

[0054] Starting from the initial sampling index of the atomic scattering amplitude sequence, read the atomic scattering amplitude corresponding to the current sampling index and the next sampling index in sequence, and determine the absolute difference between the two.

[0055] Each absolute difference corresponds to a sampling interval between two adjacent reciprocal space sampling points. During processing, the sampling index is kept incremented so that all adjacent sampling intervals obtain the corresponding amplitude difference.

[0056] S202. Compare the absolute difference between adjacent scattering amplitudes with the amplitude threshold one by one, and mark the corresponding sampling positions.

[0057] When the absolute difference between adjacent scattering amplitudes is greater than the amplitude threshold, the corresponding sampling interval is marked as a high-variability interval; when the absolute difference between adjacent scattering amplitudes is not greater than the amplitude threshold, the corresponding sampling interval is marked as a smooth interval.

[0058] To ensure that each sampling index has only one segment label, the label of the m-th sampling interval is assigned to its left-hand sampling index m, and the last sampling index of the atomic scattering amplitude sequence inherits the label of the last sampling interval. Thus, all sampling indices obtain a unique high-variance label or a smooth-smooth label, avoiding the problem of duplicate assignment of segment boundary sampling indices.

[0059] The above comparison only generates segment type labels and does not change the original values ​​in the atomic scattering amplitude sequence. Each segment type label corresponds to the corresponding sampling index and atomic number and is passed to S203.

[0060] S203. Merge sampling indices with the same and continuous markings along the order of sampling points in the inverted space, and perform deviation verification on the smooth candidate segments.

[0061] For consecutively occurring high-change markers, their corresponding sampling indices are merged into a high-change segment; for consecutively occurring flat markers, their corresponding sampling indices are merged into a flat candidate segment.

[0062] Each segment records the start sampling index, end sampling index, segment type, and corresponding atom number. The start and end sampling indices are used to limit the range of atomic scattering amplitudes read by S3.

[0063] For each smooth candidate segment, the arithmetic mean is first determined based on the scattering amplitudes of all atoms in the segment. Then, the absolute deviation between the scattering amplitude of each atom and the arithmetic mean is determined one by one. When the maximum absolute deviation in the segment is not greater than the amplitude threshold, the smooth candidate segment is confirmed as a smooth segment. When the maximum absolute deviation is greater than the amplitude threshold, the smooth candidate segment is converted into a high-variability segment.

[0064] By combining adjacent difference comparison and segment maximum deviation verification, we can avoid the accumulation of multiple small adjacent changes to form smooth segments with large overall changes.

[0065] S3. Atomic frequency domain scattering contribution data are generated based on the high-varying and flat-range sections respectively.

[0066] This step maintains the segment order formed by S2. For highly variable segments, the accurate Kirkland scattering amplitude corresponding to each sampling index is retained. For smooth segments, the Kirkland radial amplitude in the segment is replaced with the segment representative amplitude, but the Debye-Waller thermal decay and atomic position phase are still retained point by point.

[0067] S301. Accurate atomic scattering amplitudes are obtained point-by-point in the high-variation section, and scattering contributions are formed.

[0068] Based on the starting and ending sampling indices recorded in the high-variability section, the precise atomic scattering amplitudes of the corresponding sampling indices in S1 are read one by one. During implementation, the precise atomic scattering amplitudes stored in S1 can be directly reused; when using streaming storage and not storing intermediate amplitudes, the corresponding amplitudes can be regenerated based on the same Kirkland scattering parameter set.

[0069] For the j-th atom and the m-th reciprocal sampling point, the frequency domain scattering contribution is formed according to the following formula: (2) in, The contribution of the j-th atom to the complex frequency domain scattering formed at the m-th reciprocal space sampling point. Let j be the atomic number of the j-th atom. The Kirkland radial amplitude used in the current calculation is equal to the exact atomic scattering amplitude in the high-variability region and equal to the region-representative amplitude in the flat region. The Debye-Waller factor of the j-th atom, in units of , Let m be the reciprocal lattice vector corresponding to the m-th reciprocal space sampling point. Let J be the spatial coordinates of the j-th atom in the unified projective coordinate system. The imaginary unit is used to determine the complex phase corresponding to the atomic position.

[0070] In the calculation of two-dimensional projective potential Taking the reciprocal lattice vector components within the projection plane, the atomic positions along the electron beam direction are incorporated into the structural contribution through a projection accumulation relationship. In three-dimensional potential field calculations, and All three directional components are retained.

[0071] The Debye-Waller factor can be 0.25 in a specific configuration. Up to 2.00 Within the range, the thermal decay term decreases as the Debye-Waller factor or the magnitude of the scattering vector increases.

[0072] S302. Generate representative amplitudes for smooth sections and form scattering contributions point by point.

[0073] Based on the starting and ending sampling indices of the smooth section, the scattering amplitudes of all atoms in the section are read, their arithmetic mean is determined, and this arithmetic mean is used as the representative amplitude of the section.

[0074] For each reciprocal sampling index within the smooth section, the Kirkland radial amplitude in formula (2) is replaced with the segment representative amplitude, and the Debye-Waller thermal attenuation term, reciprocal lattice vector, and atomic position phase of the corresponding sampling point are still determined according to the sampling point.

[0075] Therefore, the smooth section only reduces the repeated evaluation of the Kirkland parameter expression, without merging the phase, thermal attenuation, and frequency domain write positions of different sampling indices into the same value.

[0076] S303. Assemble the processing results of each section according to the order of the inverted space sampling points.

[0077] Read the records of each segment in sequence. For high-variable segments, write the point-by-point complex scattering contribution formed by S301 to the corresponding position according to the sampling index. For flat segments, write the point-by-point complex scattering contribution formed by S302 to the corresponding position according to the sampling index.

[0078] After splicing, atomic frequency domain scattering contribution data is formed. This data has the same sampling length as the atomic scattering amplitude sequence, and each sampling index still corresponds to the original reciprocal space sampling point.

[0079] The complex frequency-domain scattering contributions of each atom at the same reciprocal space sampling point are accumulated to form the structural contribution of that sampling point. When it is necessary to convert it into the frequency domain component of the potential, the structural contribution is multiplied by 47.8776 V·m⁻¹. Divide by the corresponding cell volume, which is determined by the lattice parameters of the current structure and uses the Å unit system consistent with the frequency domain array.

[0080] S4. Map the atomic spatial coordinates to a three-dimensional index and cache linear address, reuse the phase data block and address record according to the same lattice offset, and accumulate the atomic frequency domain scattering contribution data and write it into the frequency domain array.

[0081] This step takes the atomic spatial coordinates read by S1 and the atomic frequency domain scattering contribution data generated by S3 as input.

[0082] Atomic space coordinates are first converted into three-dimensional integer indices according to the lattice step size. These three-dimensional integer indices are used to generate the cache linear address corresponding to the lattice offset. The reciprocal space sampling index or Miller exponent is used to determine the frequency domain sampling address. The two types of addresses are used separately to avoid directly using the real space index as the reciprocal space write location.

[0083] S401. Convert atomic space coordinates into three-dimensional integer indices according to the lattice step size.

[0084] For a given atom to be processed, three spatial coordinate components and the corresponding lattice step size are read. Each coordinate component and the lattice step size use the same length unit.

[0085] The input periodic crystal coordinates are first normalized to the half-open interval of the corresponding computational region. The periodic equivalent coordinates located at the upper boundary of the computational region are transformed to the lower boundary. Each coordinate component is divided by the corresponding lattice step size, and three integer index components are obtained according to the pre-fixed nearest integer rounding rule.

[0086] The three integer index components are arranged in the order of storage dimensions to form a three-dimensional index, which serves as the lattice offset. For atoms that have the same combination of three-dimensional indices after discretization, their lattice offsets are identified as consistent.

[0087] S402. Generate the starting address of the cache data block based on the three-dimensional index, storage dimension and the number of inverted space sampling points, and determine the frequency domain sampling address.

[0088] Let the number of grid points in the three lattice storage dimensions be respectively , and The number of reciprocal space sampling points is The three-dimensional index of the j-th atom is , and Then the starting address of its phase data block is determined according to the following formula: (3) in, Let be the starting address of the data block corresponding to the lattice offset of the j-th atom. , and These are integer indices on three storage dimensions. and Used to determine the dimensional span in contiguous storage. The number of reciprocal space sampling points corresponding to each lattice shift is given by... The beginning of the continuous Each storage location stores the lattice offset in The phase data or address record corresponding to each inverted space sampling point.

[0089] The frequency domain sampling address is determined based on the reciprocal space sampling point itself. In a two-dimensional projection configuration, the Miller exponent... and First, shift by half the corresponding grid size, then take the modulus according to the corresponding grid size, thus mapping to the two storage dimensions of the frequency domain array. The negative Miller exponent wraps back to the high index end of the corresponding dimension through modulus.

[0090] S403. Establish the mapping relationship between lattice offset and the starting address of cache data block.

[0091] For the first occurrence of a lattice offset, its three-dimensional integer index combination is used as the mapping retrieval key, and the starting address of the cache data block generated by S402 is written into the mapping relationship as the mapping result.

[0092] Based on the atomic spatial positions corresponding to the lattice offset, generate the atomic position phases corresponding to all reciprocal space sampling points, and write them into the data block according to the sampling index. Alternatively, the frequency domain sampling addresses corresponding to each sampling index can be written into the address record area within the same data block.

[0093] For subsequent atoms to be processed, first generate their lattice offsets, then check if a completely identical lattice offset has already been recorded. If the same lattice offset already exists, directly obtain the starting address of the existing data block and reuse the phase data and frequency domain sampling address records therein. If the same lattice offset does not exist, generate a new starting address of the data block and update the mapping relationship.

[0094] S404. Accumulate and write the atomic frequency domain scattering contribution data into the frequency domain array according to the frequency domain sampling address.

[0095] After obtaining the starting address of the cached data block of the atom to be processed, the phase data and frequency domain sampling address record are read sequentially according to the inverted space sampling index.

[0096] For each inverted space sampling index, the corresponding Kirkland radial amplitude, Debye-Waller thermal attenuation, and complex phase are combined into an atomic frequency domain scattering contribution, and this complex contribution is accumulated to the corresponding frequency domain sampling address.

[0097] When the frequency domain sampling address already has complex frequency domain scattering contributions from other atoms, the real and imaginary parts of the complex data are accumulated separately, and the frequency domain sampling address is updated with the accumulation result.

[0098] For multiple atoms with the same lattice offset, the processing reuses the same phase data block and frequency domain sampling address record; different elements still call different Kirkland radial amplitudes according to their respective atomic numbers. Thus, phase sequences and address records are not repeatedly generated for the same positional relationship, while the differences in scattering amplitudes of each element are still preserved.

[0099] After all atoms have been accumulated, each effective frequency domain sampling address in the frequency domain array stores the complex potential component of the corresponding reciprocal space sampling point and uses it as the input of S5.

[0100] S5. Determine the location of continuous zero-frequency points, decompose the zero-frequency point offset vector into integer offset and residual offset, and implement cyclic relocation and local distance weighted compensation.

[0101] After the frequency domain array completes the accumulation of atomic frequency domain scattering contributions, the initial index of the zero frequency point is first determined by scanning the complex modulus value, and the positions of continuous zero frequency points are determined according to the modulus value distribution in the neighborhood of the initial index.

[0102] The offset between consecutive zero-frequency points and a predetermined center index is divided into integer offsets and residual offsets. Integer offsets are mapped cyclically using array indices, while residual offsets trigger local compensation within the center neighborhood only when they are non-zero.

[0103] S501, Scan the frequency domain array and determine the initial index of the zero frequency point.

[0104] Following the ascending index order of each storage dimension of the frequency domain array, the complex data of each frequency domain sampling point are read sequentially, and the complex modulus is determined based on its real and imaginary parts.

[0105] Compare the current modulus with the recorded maximum modulus. If the current modulus is larger, update the maximum modulus with the current modulus and record the current array index.

[0106] When the moduli of multiple array positions are the same within the numerical precision range, the position with the smaller distance from the predetermined center index is selected first. If the distances are still the same, the position that appears first is selected according to the increasing order of the storage dimension indices. This ensures that the same input yields a unique initial index for the zero frequency point.

[0107] S502. Determine the location of consecutive zero-frequency points based on the local neighborhood of the initial zero-frequency index.

[0108] Centered on the zero-frequency initial index, the sampling points adjacent to it in each storage dimension are read. In the two-dimensional configuration, a 3×3 local neighborhood around the initial index is used, and in the three-dimensional configuration, a 3×3×3 local neighborhood is used. When the neighborhood crosses the storage boundary, it loops around according to the number of grid points in the corresponding dimension.

[0109] For the q-th storage dimension, the positions of continuous zero-frequency points are determined based on the array coordinates and complex modulus of each sampling point in the local neighborhood, and the offset is further decomposed: (4) in, For storage dimension index, The local neighborhood corresponding to the initial index of the zero-frequency point. For sampling points in the local neighborhood, Sampling points In the Expanded coordinates on each storage dimension Sampling points Complex frequency domain data; Its complex modulus, For the first Continuous zero-frequency point locations in each storage dimension Reserve a central index for this dimension. This is the zero-frequency offset component; For integer offset components formed according to fixed rounding rules; This represents the remaining offset component.

[0110] When processing the centroid of the neighborhood near the loop boundary, first expand the wrap index to the local coordinates that are continuous with the initial index, and then execute formula (4) to avoid the index values ​​at both ends of the boundary causing erroneous averaging.

[0111] After determining the location of continuous zero-frequency points by using the local modulus centroid, the zero-frequency point offset is no longer limited to integers, so the remaining offset can actually reflect the subgrid position difference.

[0112] S503, forming an integer offset vector and a remaining offset vector.

[0113] According to the order of each storage dimension, the integer offset components formed by formula (4) are combined into an integer offset vector, and the remaining offset components are combined into a remaining offset vector.

[0114] Integer offsets are used to define the integer step size shift of the frequency domain array across each storage dimension. Residual offsets are used to determine the direction and target location of local distance-weighted compensation.

[0115] Local compensation is not triggered when all components of the remaining offset are zero within a predetermined numerical precision range; local compensation is initiated when at least one remaining offset component is not zero.

[0116] S504. Perform integer step-size cyclic shifting on the frequency domain array based on integer offset.

[0117] Read the array index of each inverted space sampling point in the frequency domain array one by one, add the array index and the integer offset in the corresponding storage dimension, and take the modulo according to the number of grid points in the storage dimension to form the target array index.

[0118] When the sum exceeds the upper boundary of the corresponding dimension, it wraps back to the lower boundary of that dimension; when the sum is less than zero, it wraps back to the upper boundary of that dimension.

[0119] According to the above cyclic mapping relationship, each complex frequency domain data in the original frequency domain array is written into the corresponding target array index to generate an integer relocation array. This process only changes the array index position of the frequency domain data and does not perform numerical interpolation.

[0120] S505. Determine the repositioned frequency domain array based on the remaining offset state.

[0121] When all components of the remaining offset are within the zero offset numerical accuracy range, the integer relocation array is directly determined as the relocated frequency domain array.

[0122] When at least one dimension of the remaining offset is not zero, the continuous target locations are determined using the predetermined center index and the remaining offset, and the smallest grid cell surrounding the continuous target locations is determined.

[0123] In a two-dimensional configuration, the smallest grid cell contains 4 adjacent sampling points. In a three-dimensional configuration, the smallest grid cell contains 8 adjacent sampling points. If adjacent sampling points cross the storage boundary, they are looped around according to the number of grid points in the corresponding dimension.

[0124] Weights are generated for each adjacent sampling point based on its distance from the continuous target locations: ; in, and The sequence number of the adjacent sampling points participating in the current local compensation. This represents the total number of adjacent sampling points, which is 4 in a 2D configuration and 8 in a 3D configuration. For the first The Euclidean distance between each adjacent sampling point and the continuous target location. For unnormalized distance weights, To normalize the distance weights, For the first Complex frequency domain data of adjacent sampling points, This represents the compensation results corresponding to continuous target positions.

[0125] When the location of a continuous target coincides with an adjacent sampling point, making the distance zero, the normalized weight of that adjacent sampling point is set to 1, and the normalized weight of the remaining adjacent sampling points is set to 0. The reciprocal distance calculation is not performed.

[0126] The same normalization weights are applied to both the real and imaginary parts of the complex frequency domain data. After local compensation is completed, only the sampling positions in the central neighborhood that participate in zero-frequency relocation are updated, while other frequency domain data in the integer relocation array remain unchanged, thus limiting the scope of fractional offset compensation.

[0127] S6. Perform inverse transformation and grid normalization on the repositioned frequency domain array to generate a polycrystalline structure projection potential array, and perform numerical stability testing on the output array.

[0128] S601. Determine the total number of grid points participating in the inverse transformation.

[0129] Read the number of grid points along each inverse transform dimension of the frequency domain array, and multiply them to obtain the total number of grid points.

[0130] When the output is a two-dimensional projection potential array, the dimensions of the two projection planes participating in the inverse transformation are respectively... and The total number of grid points is When a three-dimensional potential field is generated using a three-dimensional frequency domain array, the total number of grid points is: .

[0131] In a 256×256 two-dimensional projection configuration, the total number of grid points is 65536. The third-dimensional lattice index is not included in the total number of grid points for the two-dimensional inverse transform when it is used for phase buffering and atomic layer position management.

[0132] S602. Perform inverse fast Fourier transform on the repositioned frequency domain array.

[0133] The repositioned frequency domain array is used as the input to the inverse fast Fourier transform, and the frequency domain to real space conversion is performed according to the grid dimension corresponding to the frequency domain sampling address.

[0134] Before performing the inverse transform, it is confirmed that the array position used for the zero-frequency component is consistent with the zero-frequency position required by the inverse transform implementation. The inverse transform implementation requires that when the zero-frequency component is located at the beginning of the array, the corresponding frequency position shift is performed before the inverse transform; after the inverse transform, the origin of real space is restored to the predetermined position according to the output coordinate convention.

[0135] The real-space potential field data obtained by the inverse transform is a numerical representation of the real projected potential. Since the input frequency domain array maintains a conjugate relationship at positive and negative frequency positions, the imaginary part of the inverse transform result should be within the numerical error range; the real part of the output projected potential array is used.

[0136] S603. Perform a mesh normalization based on the normalization convention implemented by the inverse transform.

[0137] First, confirm whether the inverse fast Fourier transform implementation used has already been internally divided by the total number of grid points.

[0138] When the inverse transform implementation has already been divided by the total number of grid points, the inverse transform output is multiplied by the total number of grid points for compensation; when the inverse transform implementation has not performed this division, it is no longer multiplied by the total number of grid points.

[0139] The above normalization process is performed only once in the same projection potential calculation. It is not allowed to use both the software library's internal normalization and external repeated normalization at the same time.

[0140] After normalization, the value of 47.8776 V was used when converting the structural contribution to the potential frequency domain components. The relationship between the unit volume and the unit volume of the unit cell forms a polycrystalline structure projection potential array with units of volts.

[0141] S604. Statistically calculate the grid point average value, grid point maximum value, and local neighborhood state of the projected potential array of the polycrystalline structure.

[0142] Read the values ​​of each grid point in the polycrystalline structure projection potential array sequentially, and determine the average value, maximum value, and the position corresponding to the maximum value of the grid point.

[0143] The average value of the grid points is used to characterize the average internal potential in the current projection direction, while the maximum value of the grid points is used to characterize the local potential peak.

[0144] The stability threshold is not an arbitrary fixed value, but is determined based on the full point-by-point reference calculation results under the same polycrystalline structure, the same reciprocal space cutoff parameter, the same grid size, and the same normalization convention. The full point-by-point reference calculation does not use the segment representative amplitude for smooth sections. The difference between its maximum value and average value is used to determine the reference upper limit of the normal physical potential peak. The stability threshold must not be lower than this reference upper limit.

[0145] In addition to comparing the potential difference between the maximum value and the average value of the grid points, the values ​​of adjacent grid points around the maximum value are also read to determine whether the maximum value is an atomic column potential peak that is continuously connected to the surrounding potential field, or whether it is a single isolated numerical peak.

[0146] S605. Determine the final polycrystalline structure projection potential array based on the potential difference, stability threshold, and local continuity.

[0147] When the potential difference between the maximum value and the average value of the grid points does not exceed the stability threshold, all grid point values ​​in the polycrystalline structure projected potential array are maintained.

[0148] When the potential difference exceeds the stability threshold, but the maximum value of a grid point forms a continuous potential peak with the adjacent grid points, the maximum value is regarded as a physical potential peak and no replacement is performed.

[0149] When the potential difference exceeds the stability threshold, and the maximum value of the grid point is only a single isolated spike and no corresponding continuous potential peak is formed by adjacent grid points, the grid point is identified as an abnormal grid point. The values ​​of the grid points adjacent to the abnormal grid point but not including the abnormal grid point itself are read, the average value of the adjacent grid points is determined, and the value of the abnormal grid point is replaced by the average value.

[0150] When multiple grid points reach the same maximum value, local continuity checks are performed separately, and other grid points are not modified because one grid point is identified as abnormal.

[0151] In a group using

[001] projection direction, 3.0 In the resolution cutoff parameters and full point-by-point reference data of 256×256 grid, the average internal potential of Si diamond structure is about 12.5V and the maximum projected potential is about 133V; the average internal potential of GaAs zincblende structure is about 15.2V and the maximum projected potential is about 168V; the average internal potential of Au face-centered cubic structure is about 22.1V and the maximum projected potential is about 285V; the average internal potential of Cu face-centered cubic structure is about 18.6V and the maximum projected potential is about 210V; and the average internal potential of SrTiO3 perovskite structure is about 16.8V and the maximum projected potential is about 195V.

[0152] The above values ​​serve as a verification reference for full point-by-point calculations with the same configuration. They are not directly used as stability thresholds, nor are they intended to prove that any amplitude threshold configuration will produce the exact same output. After enabling the smooth segment to represent the amplitude, its output should be compared with the corresponding full point-by-point reference result to check whether the amplitude threshold meets the predetermined error requirements.

[0153] In the complete processing chain of this embodiment, S1 forms an atomic scattering amplitude sequence corresponding to the atomic number; S2 divides the high-variance segment and the smooth segment according to the adjacent amplitude change state and the maximum deviation of the segment; S3 forms a complex frequency domain scattering contribution while retaining thermal attenuation and atomic position phase; S4 records the phase data block and frequency domain sampling address through lattice offset multiplexing; S5 decomposes the offset corresponding to the continuous zero frequency point position into integer offset and residual offset; and S6 outputs the polycrystalline structure projection potential array through inverse transformation, first normalization and local continuity detection.

[0154] Please see Figure 1 and Figure 5 This embodiment provides a fast calculation system for the projection potential of polycrystalline structures based on the Kirkland scattering factor. The system is used to carry out and execute the processing of the aforementioned method embodiment, and includes a memory array, a processor and an output interface.

[0155] The memory array stores polycrystalline structure information, Kirkland scattering parameter sets, Debye-Waller factors, reciprocal space sampling points, amplitude thresholds, stability thresholds, lattice offset mapping relationships, phase data blocks, and frequency domain arrays. The processor is connected to both the memory array and the output interface.

[0156] The processor includes an amplitude construction unit, a block calculation unit, an integer addressing unit, an offset relocation unit, and a potential field reconstruction unit. Each unit works collaboratively according to the data generation order of the aforementioned method embodiment.

[0157] The amplitude construction unit reads the atomic number and the corresponding Kirkland scattering parameter set from the memory array, generates the atomic scattering amplitude sequence according to formula (1), and passes the corresponding data between the atomic number, the reciprocal sampling index and the atomic scattering amplitude to the block calculation unit.

[0158] The block computing unit receives the atomic scattering amplitude sequence and amplitude threshold, determines the absolute difference between adjacent scattering amplitudes, generates high-variance segments and smooth candidate segments, and performs maximum deviation verification on the smooth candidate segments. The block computing unit processes the smooth segments that pass the verification with segment representative amplitude, and processes other segments with precise atomic scattering amplitude.

[0159] The block computing unit further receives atomic spatial coordinates, Debye-Waller factor and reciprocal space sampling points, forms atomic frequency domain scattering contribution data according to formula (2), and transmits the complex data to the integer addressing unit.

[0160] The integer addressing unit obtains the atomic space coordinates and lattice step size in the unified projection coordinate system from the memory array, converts the atomic space coordinates into three-dimensional integer indices and lattice offsets, and determines the starting address of the phase data block according to formula (3).

[0161] The integer addressing unit establishes a mapping relationship between the lattice offset and the starting address of the phase data block. When the lattice offset has been recorded, the phase data and frequency domain sampling address are reused. When the lattice offset has not been recorded, a new phase data block and address record are generated and the mapping relationship is updated. The integer addressing unit accumulates the atomic frequency domain scattering contribution data to the complex frequency domain array according to the frequency domain sampling address.

[0162] The offset relocation unit scans the complex modulus of the frequency domain array, determines the initial index of the zero frequency point, reads its local neighborhood, and forms the continuous zero frequency point position, integer offset, and remaining offset according to formula (4).

[0163] The offset relocation unit performs cyclic shifting of the frequency domain array based on the integer offset. When the remaining offset is non-zero, it determines the local adjacent sampling points corresponding to the center position and performs local distance weighting compensation on the complex frequency domain data according to formula (5). The offset relocation unit then transfers the relocated frequency domain array to the potential field reconstruction unit.

[0164] The potential field reconstruction unit reads the number of grid points in each storage dimension participating in the inverse transform, determines the total number of grid points, and performs a normalization compensation according to the normalization convention implemented by the inverse fast Fourier transform.

[0165] The potential field reconstruction unit determines the grid point average value, grid point maximum value, and local continuity state of the polycrystalline structure projected potential array. When an isolated spike exceeding the stability threshold and not continuously connected to the surrounding potential field is detected, the abnormal grid point is replaced by the average value of the adjacent grid points, while the normal atomic column potential peak remains unchanged.

[0166] The potential field reconstruction unit transmits the final polycrystalline structure projection potential array and the corresponding grid size, resolution cutoff parameter, average internal potential and maximum projection potential to the output interface. The output interface outputs the above data with explicit unit labels.

[0167] In this system-related embodiment, the amplitude construction unit corresponds to S1 in the method embodiment, the block calculation unit corresponds to S2 and S3, the integer addressing unit corresponds to S4, the offset relocation unit corresponds to S5, and the potential field reconstruction unit corresponds to S6. The inputs, processing results, and downstream receivers of each unit are consistent with those in the method embodiment.

[0168] The above embodiments describe the feasible process of the present invention, focusing on the generation of atomic scattering amplitude sequences, partitioning of adjacent amplitude differences, segment error verification, formation of complex frequency domain scattering contributions, lattice integer mapping, multiplexing of phase data and address records, accumulation of frequency domain arrays, continuous zero-frequency point positioning, integer cyclic shifting, local distance weighted compensation, inverse fast Fourier transform, first-order grid normalization, and local continuity detection of the projected potential array.

[0169] The specific data arrangement, step connection, segment status, mapping relationship, judgment condition, parameter source, module responsibility and output relationship described in the embodiments are used to explain the technical solution recorded in this invention, and should not limit this invention to the specific embodiments listed.

[0170] Without departing from the technical solutions described in this invention and the scope of the original disclosure, any equivalent substitutions, equivalent modifications, equivalent combinations, module-to-module substitutions, equivalent changes in field names, equivalent acceptance of the executing entity, or equivalent changes in the carrier form that can be conceived by those skilled in the art should fall within the scope of protection of this patent, but may not be extended to unclaimed subjects, nor may the substantive correspondence of the technical objects be changed through changes in name or reference numerals.

[0171] The aforementioned equivalent changes must not replace, delete, or weaken the atomic position phase relationships, segment deviation verification relationships, real space index and reciprocal space address distinction relationships, continuous zero frequency point positioning relationships, local compensation ranges, inverse transformation normalization relationships, and physical potential peak retention conditions necessary to achieve the technical effect.

Claims

1. A fast method for calculating the projection potential of polycrystalline structures based on the Kirkland scattering factor, characterized in that, Includes the following steps: Read the atomic number and atomic spatial coordinates of the polycrystalline structure, call the Kirkland scattering parameter corresponding to the atomic number, and generate an atomic scattering amplitude sequence at the reciprocal space sampling point; Compare the amplitude difference between adjacent reciprocal space sampling points with the amplitude change threshold, and merge continuous intervals with the same label into high-change segments or smooth segments; For the high-variation segment, the Kirkland scattering parameter is called point by point to calculate the scattering contribution. For the smooth segment, the arithmetic mean of the atomic scattering amplitudes in the segment is calculated as the representative amplitude of the segment. All sampling indices in the segment are assigned, and the calculation results are spliced ​​together in the order of the reciprocal space sampling points to generate atomic frequency domain scattering contribution data. The atomic spatial coordinates are rounded to a three-dimensional index by the lattice step size and a linear address is generated. A mapping relationship between lattice offset and linear address is established. When the lattice offset corresponding to the atom to be written is consistent with the lattice offset recorded in the mapping relationship, the corresponding linear address in the mapping relationship is called and the atomic frequency domain scattering contribution data is accumulated and written into the frequency domain array. When they are inconsistent, a new linear address is generated and the mapping relationship is updated. Taking the peak amplitude position of the frequency domain array as the zero frequency position, calculate the zero frequency offset vector from the zero frequency position to the center position, decompose the zero frequency offset vector into integer offset and residual offset, perform cyclic shift of integer step size on the frequency domain array, and when the residual offset is non-zero, use the normalized distance weight to perform fractional step weighted interpolation compensation on the adjacent frequency domain data. The repositioned frequency domain array is subjected to inverse transformation and grid normalization to generate a polycrystalline structure projection potential array.

2. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 1, characterized in that: The process of generating the atomic scattering amplitude sequence includes: The atoms in the polycrystalline structure are grouped according to their atomic numbers, and the same set of Kirkland scattering parameters is applied to atoms with the same atomic number. The reciprocal space sampling points are arranged in ascending order of scattering vector magnitude, and the scattering amplitude corresponding to each reciprocal space sampling point is calculated by sequentially calling the Kirkland scattering parameter set. The calculated scattering amplitudes are written into a continuous storage area according to the order of the reciprocal space sampling points, and a correspondence is established between the atomic number, the Kirkland scattering parameter set and the atomic scattering amplitude sequence.

3. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 1, characterized in that: The process of comparing adjacent amplitude differences and dividing the segments includes: The absolute difference between adjacent scattering amplitudes is calculated according to the order of the atomic scattering amplitude sequence, and each absolute difference is compared with the amplitude change threshold in turn. When the absolute difference is greater than the amplitude change threshold, the interval between the corresponding adjacent reciprocal space sampling points is marked as a high change interval; when the absolute difference is not greater than the amplitude change threshold, the interval between the corresponding adjacent reciprocal space sampling points is marked as a smooth interval. Merge identical and continuous intervals along the order of the reciprocal space sampling points to generate high-variance and flat segments respectively, and record the starting sampling index, ending sampling index, segment type and corresponding atomic number of each segment.

4. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 3, characterized in that: The process of calculating the scattering contribution includes: Based on the starting sampling index and the ending sampling index of the high-variability segment, the atomic scattering amplitude of the corresponding sampling index in the atomic scattering amplitude sequence is read one by one, and the Kirkland scattering parameter set matching the corresponding atomic number is called to calculate the scattering contribution of each sampling index; Based on the starting sampling index and the ending sampling index of the smooth section, the arithmetic mean of the atomic scattering amplitudes falling into the smooth section in the atomic scattering amplitude sequence is calculated to generate a representative amplitude of the section, and the representative amplitude of the section is assigned to each sampling index within the smooth section; By splicing the scattering contribution calculated point by point in the high-variability section with the representative amplitude of the section in the smooth section according to the arrangement order of the reciprocal space sampling points, atomic frequency domain scattering contribution data with the same length as the atomic scattering amplitude sequence is generated.

5. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 1, characterized in that: The process of generating the three-dimensional index and the linear address includes: Divide each component of the atomic space coordinates by the corresponding lattice step size, and round the resulting ratio to obtain the three-dimensional index. The linear address is generated by multiplying each index component of the three-dimensional index by its corresponding storage dimension weight and summing the results. A mapping relationship is established between the lattice offset and the linear address. When the lattice offset corresponding to the atom to be written is consistent with the lattice offset recorded in the mapping relationship, the corresponding linear address in the mapping relationship is called, and the frequency domain scattering contribution data of the atom is accumulated and written into the frequency domain array. When the lattice offset corresponding to the atom to be written is inconsistent with the lattice offset recorded in the mapping relationship, a new linear address is generated and the mapping relationship is updated.

6. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 1, characterized in that: The process of determining the zero-frequency point location and decomposing the zero-frequency point offset vector includes: Scan the frequency domain array in ascending order of the indexes of each storage dimension, calculate the magnitude of the frequency domain data corresponding to each reciprocal sampling point, and determine the array index corresponding to the largest magnitude as the zero frequency point position; Calculate the difference between the index of the zero-frequency point location in each of the three storage dimensions and the index corresponding to the center location, and form the zero-frequency point offset vector according to the arrangement order of the three storage dimensions; The nearest integer rounding is performed on each component of the zero-frequency offset vector, the rounding results are used to form the integer offset, and the corresponding rounding result is subtracted from each component before rounding to form the remaining offset.

7. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 6, characterized in that: The process of performing index shifting and local distance-weighted compensation on the frequency domain array includes: The array indices of each reciprocal sampling point in the frequency domain array are cyclically mapped according to the integer offset, and the array indices that exceed the storage boundary are wrapped back to the relative storage boundary to generate an integer relocation array; When all components of the remaining offset are zero, the integer relocation array is determined as the relocated frequency domain array. When at least one dimension of the remaining offset is not zero, a distance weight is generated based on the distance between each target sampling point and its adjacent sampling points. The distance weight is normalized, and the adjacent frequency domain data in the integer relocation array are weighted and superimposed according to the normalized distance weight to generate the relocated frequency domain array.

8. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 1, characterized in that: The process of performing inverse transformation and mesh normalization includes: Read the number of grid points along each storage dimension of the frequency domain array, and multiply the number of grid points in each storage dimension to obtain the total number of grid points; Perform an inverse fast Fourier transform on the frequency domain array after index shifting and local distance weighting compensation to obtain real space potential field data; The normalization coefficient is determined based on the total number of grid points, and the values ​​of each grid point in the real space potential field data are proportionally adjusted according to the normalization coefficient to generate a polycrystalline structure projection potential array.

9. The method for fast calculation of the projection potential of polycrystalline structures based on the Kirkland scattering factor according to claim 8, characterized in that: The process of generating the polycrystalline structure projection potential array includes: The values ​​of each grid point in the polycrystalline structure projected potential array are statistically analyzed to determine the average value and the maximum value of the grid points, and the potential difference between the maximum value and the average value of the grid points is calculated. When the potential difference does not exceed the stability threshold, the grid point values ​​in the polycrystalline structure projection potential array are maintained. When the potential difference exceeds the stability threshold, the grid point corresponding to the maximum value of the grid point is determined as an abnormal grid point. The average value of the grid points adjacent to the abnormal grid point but not containing the abnormal grid point is calculated, and the value of the abnormal grid point is replaced with the calculated average value.

10. A fast calculation system for the projection potential of polycrystalline structures based on the Kirkland scattering factor, characterized in that, The system is used in the fast calculation method for the projection potential of polycrystalline structures based on the Kirkland scattering factor as described in any one of claims 1-9, and the system includes: a memory array, a processor, and an output interface; The memory array stores polycrystalline structure information and Kirkland scattering parameters, and the processor is connected to the memory array and the output interface respectively. The processor includes an amplitude construction unit, a block calculation unit, an integer addressing unit, an offset relocation unit, and a potential field reconstruction unit; The amplitude construction unit generates an atomic scattering amplitude sequence based on the atomic number and the reciprocal space sampling point; The block calculation unit calculates the scattering contribution point by point in the high-change segment based on the comparison result between the adjacent amplitude difference and the amplitude change threshold, and calculates the scattering contribution of the smooth segment using the segment representative amplitude, generating atomic frequency domain scattering contribution data. The integer addressing unit maps atomic spatial coordinates to integer indices and linear addresses, and accumulates the atomic frequency domain scattering contribution data into the frequency domain array by multiplexing the address with the same offset. The offset relocation unit performs zero-frequency offset decomposition, array relocation, and local weighted compensation on the frequency domain array. The potential field reconstruction unit performs inverse transformation and normalization on the relocation result, and outputs the polycrystalline structure projection potential array through the output interface.