Processing method and device based on lattice Boltzmann model and immersion moving boundary

By using the lattice Boltzmann model and immersion moving boundary method in fluid mechanics calculation, the problem of inefficiency in fluid simulation calculation in the prior art is solved, and multi-core heterogeneous acceleration and calculation efficiency are improved in fluid-solid coupling scenarios.

CN119885799APending Publication Date: 2025-04-25SHANGHAI SMARTLOGIC TECHNOLOGY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411930438.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The prior art has problems with inefficiency in the calculation process of simulating incompressible flow fluids, especially when the calculation tasks are heavy, the data volume is huge and complex.

Method used

Using the processing method based on the lattice Boltzmann model and immersion moving boundary, the first distribution function of the lattice points in the grid is initialized, the macroscopic quantity parameters and node weights are determined, the equilibrium distribution function is determined based on these parameters, and the collision operation is performed under the immersion moving boundary condition to obtain the current distribution function.

Benefits of technology

Multi-core heterogeneous acceleration in stream-solid coupling scenarios is realized, data transmission efficiency is improved, intermediate transmission complexity is reduced, calculation process is accelerated, calculation rate and efficiency are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119885799A_ABST
    Figure CN119885799A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a processing method and device based on a lattice Boltzmann model and an immersion moving boundary, computer equipment and a storage medium, and relates to the technical field of data processing. The processing method comprises the following steps: initializing a first distribution function of grid points in a grid; determining macroscopic quantity parameters and node weights of nodes in the grid after the migration operation is executed; determining a balance distribution function of the nodes in the grid based on the macroscopic quantity parameters and the node weights; and based on the equilibrium distribution function, determining a current distribution function after the collision operation is executed under the submerged moving boundary condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular, to a processing method, apparatus, computer equipment and storage medium based on a lattice Boltzmann model and immersed moving boundaries. Background Art

[0002] Due to the heavy computational tasks, huge and complex data volumes, the simulation of incompressible fluid flow is a serious challenge in the current industry. The computational process of related technologies is inefficient. Summary of the invention

[0003] The present application provides a processing method, device, computer equipment and storage medium based on a lattice Boltzmann model and an immersed moving boundary.

[0004] A first aspect of an embodiment of the present application provides a processing method based on a lattice Boltzmann model and an immersed moving boundary, comprising:

[0005] Initialize the first distribution function of the grid points in the grid;

[0006] Determining macro parameters and node weights of nodes in the grid after performing the migration operation;

[0007] Determine a balanced distribution function of nodes in the grid based on the macroscopic quantity parameters and node weights;

[0008] A current distribution function after performing a collision operation under an immersed moving boundary condition is determined based on the equilibrium distribution function.

[0009] In an optional embodiment of the present application, the current distribution function after the collision operation is performed under the immersed moving boundary condition is as follows:

[0010]

[0011] Among them, f i * (x, t) represents the current distribution function of x along the discrete velocity direction i at time t; f i (x, t) represents the first distribution function along the discrete velocity direction i at time x; f i eq (ρ,u) represents the equilibrium distribution function under the condition of macroscopic velocity u; τ is the relaxation time between two particle collisions; B s represents the weight function; Ω s,i represents the additional collision term; ρ represents the macroscopic density.

[0012] In an optional embodiment of the present application, the processing method further includes:

[0013] Obtain the weight function according to the following formula;

[0014]

[0015] in, represents the solid volume fraction of a computational unit, wherein the computational unit is a cube having a preset side length surrounding a lattice node;

[0016] Solid volume fraction of the lattice nodes that are inside the solid

[0017] Solid volume fraction of the lattice nodes in the fluid

[0018] The solid volume fraction of the lattice nodes at the interface between the fluid and the solid satisfies one of the following: n represents the total number of small squares whose centers are located inside the solid sphere; D represents the diameter of the solid sphere.

[0019] In an optional embodiment of the present application, the additional collision term is obtained according to the following formula:

[0020]

[0021] Among them, f i eq (ρ,U s ) represents the moving speed U of the solid ball s The equilibrium distribution function under the condition.

[0022] In an optional embodiment of the present application, the equilibrium distribution function is as follows:

[0023]

[0024] represents the equilibrium function; ρ represents the macroscopic density; u represents the macroscopic velocity; c represents the lattice velocity; e i represents the discrete velocity along the discrete velocity direction i; w i Represents the weighting coefficient of discrete velocity direction i.

[0025] In an optional embodiment of the present application, the processing method further includes:

[0026] The grid speed is determined according to the following formula:

[0027]

[0028] Where Δx represents the grid constant and Δt represents the time step;

[0029] The weighting coefficient is determined according to the following formula:

[0030]

[0031] In an optional embodiment of the present application, the determining of the macroscopic parameters of the nodes in the grid after the migration operation is performed includes:

[0032] The macroscopic velocity of the nodes in the grid is determined according to the following formula:

[0033]

[0034] Where u represents the macroscopic velocity; ρ represents the macroscopic density; f i (x, t) represents the first distribution function along the discrete velocity direction i at time x; e i represents the discrete velocity along the discrete velocity direction i;

[0035] The macroscopic density of the nodes in the grid is determined according to the following formula:

[0036]

[0037] Here, ρ(x,t) represents the macroscopic density, abbreviated as ρ.

[0038] A second aspect of an embodiment of the present application provides a processing device based on a lattice Boltzmann model and an immersed moving boundary, comprising:

[0039] A first processing module, used for initializing a first distribution function of a grid point in a grid;

[0040] A second processing module, used to determine the macro parameters and node weights of the nodes in the grid after the migration operation is performed;

[0041] A third processing module, for determining the first processing module of the nodes in the grid based on the macro quantity parameter and the node weight, for balancing the distribution function;

[0042] The fourth processing module is used to determine the current distribution function after performing the collision operation under the immersed moving boundary condition based on the equilibrium distribution function.

[0043] According to a third aspect of an embodiment of the present application, a computer device is provided, comprising: a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of any of the above methods when executing the computer program.

[0044] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the steps of any of the above methods when executed by a processor.

[0045] The processing method provided in this embodiment initializes the first distribution function of the grid points in the grid; determines the macroscopic parameters and node weights of the nodes in the grid after performing the migration operation; determines the equilibrium distribution function of the nodes in the grid based on the macroscopic parameters and the node weights; determines the current distribution function after performing the collision operation under the immersed moving boundary condition based on the equilibrium distribution function, thereby realizing multi-core heterogeneous acceleration in the fluid-solid coupling scenario by using the immersed moving boundary method; when performing data processing in a chip applied to a multi-core architecture, data transmission and interaction in three dimensions can be realized, thereby making the transmission efficiency within the region higher, reducing the complexity of the intermediate transmission, accelerating the calculation process, and improving the calculation rate and efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0047] Figure 1 A flowchart of a processing method based on a lattice Boltzmann model and immersed moving boundaries provided for one embodiment of the present application;

[0048] Figure 2 A schematic diagram of a D3Q9 model provided for one embodiment of the present application;

[0049] Figure 3 A schematic diagram of the values ​​of solid volume fractions of different lattice nodes for the immersed moving boundary condition provided in one embodiment of the present application;

[0050] Figure 4 A schematic diagram of solid volume fraction for calculating fluid-solid boundary provided by one embodiment of the present application;

[0051] Figure 5 A schematic diagram of a spherical flow calculation model provided for one embodiment of the present application;

[0052] Figure 6 A schematic diagram of the drag coefficient of a spherical flow at different Reynolds numbers provided in one embodiment of the present application;

[0053] Figure 7 A schematic diagram of a single-chip multi-APC implementation solution provided by an embodiment of the present application;

[0054] Figure 8 Schematic diagram of a multi-chip computing implementation scheme provided for an embodiment of the present application

[0055] Fig. 9 A schematic diagram of the structure of a processing device based on a lattice Boltzmann model and an immersed moving boundary provided in one embodiment of the present application;

[0056] Fig.10 A schematic diagram of the computer device structure provided for one embodiment of the present application. DETAILED DESCRIPTION

[0057] The present disclosure will be further described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.

[0058] In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the main purpose of the present disclosure.

[0059] The solutions in the embodiments of the present application can be implemented using various computer languages, for example, the object-oriented programming language Java and the interpreted scripting language JavaScript.

[0060] In order to make the technical solutions and advantages in the embodiments of the present application more clearly understood, the exemplary embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than an exhaustive list of all the embodiments. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.

[0061] See also Figure 1 The processing method based on the lattice Boltzmann model and the immersed moving boundary provided in the embodiment of the present application includes the following steps S110 to S140:

[0062] S110, initializing the first distribution function of the grid points in the grid;

[0063] S120, determining macro parameters and node weights of nodes in the grid after the migration operation is performed;

[0064] S130, determining a balanced distribution function of nodes in the grid based on macroscopic parameters and node weights;

[0065] S140: Determine a current distribution function after performing a collision operation under an immersed moving boundary condition based on the equilibrium distribution function.

[0066] It should be noted that the execution subject of this embodiment is a computer device with data processing capabilities, and the computer device can be an independent device or integrated with other devices.

[0067] In step S110, the basic idea of ​​LBM (Lattice Boltzmann Method) is that the fluid can be imagined as consisting of a large number of small particles in random motion. As a numerical method, LBM has the following advantages: (1) The convection term in the control equation of LBM is linear and does not require special processing. The algorithm is also relatively simple and programming is relatively easy; (2) The pressure can be obtained through the particle distribution function without solving the pressure equation; (3) LBM is suitable for dealing with problems with complex geometric boundaries and is easy to introduce microscopic effects; in addition, LBM also has natural parallelism and is easy to implement parallelization in large-scale three-dimensional calculations.

[0068] In the LBM model, the exchange of momentum and energy is achieved through particle migration and particle collisions similar to billiard balls. This process can be simulated by the Boltzmann transport equation. The Boltzmann transport equation is shown in equation (1.1):

[0069]

[0070] In formula (1.1), f i f i The abbreviation of (x, t), f i (x, t) represents the first distribution function of the particle in the grid point x along the discrete velocity direction i at time t; u is the macroscopic velocity; Ω is the collision operator, which is an integral term.

[0071] Based on the BGK model, the calculation formula of the collision operator can be determined as shown in (1.2):

[0072]

[0073] In formula (1.2), τ is the relaxation time between two particle collisions; f i f i The abbreviation of (x, t), f i (x, t) represents the first distribution function of the particle in the grid point at time x along the discrete velocity direction i; f i eq f i eq (x, t), which represents the equilibrium distribution function. Figure 2 As shown, for the three-dimensional D3Q19 model, the particles are restricted to flow in 19 possible directions, including a stationary direction; the speed in the corresponding direction is called the discrete speed (microscopic speed), and is expressed by e i Indicates that i=1,2,…19.

[0074] In step S120, for each particle in the grid, a discrete probability distribution function f is associated i (x, t), is used to describe the probability of migration to a specific direction. The macroscopic density (or macroscopic fluid density) can be defined as the sum of the microscopic particle distribution functions, as shown in formula (1.3):

[0075]

[0076] Among them, ρ(x, t) represents the macroscopic density; for the convenience of description, ρ(x, t) will be referred to as ρ below.

[0077] The macroscopic velocity is given by the distribution function f i (x,t) weighted microscopic velocity e i The average value is shown in formula (1.4):

[0078]

[0079] Where u represents the macroscopic velocity, and u can also be called u(x,t); f i f i abbreviation of (x,t); e i Represents the discrete velocity (also known as microscopic velocity) along the discrete velocity direction i.

[0080] For example,

[0081] In step S130, the equilibrium distribution function f i eq The expression of is shown in formula (1.5)

[0082]

[0083] In formula (1.5), f i eq represents the equilibrium function; ρ represents the macroscopic density; u represents the macroscopic velocity; c represents the lattice velocity; e i represents the discrete velocity along the discrete velocity direction i; w i Represents the weighting coefficient of discrete velocity direction i.

[0084] In the LBM model, the lattice velocity is For example, in the grid unit, the grid constant Δx=1 and the time step Δt=1 are defined, then the grid velocity is In the LBM model, the lattice sound speed is When c = 1, The relationship between pressure p and macroscopic density ρ is shown in formula (1.6):

[0085]

[0086] The expression of the fluid's kinematic viscosity v is shown in formula (1.9):

[0087]

[0088] In some examples, the weighting coefficient is determined according to the following formula (1.8):

[0089]

[0090] In some examples, the macroscopic density of nodes in the mesh is determined according to the following formula (1.9):

[0091]

[0092] Here, ρ(x,t) represents the macroscopic density, abbreviated as ρ.

[0093] In step S140, the expression of the collision process is shown in formula (1.10a):

[0094]

[0095] Among them, f i * (x, t) represents the distribution function after the collision operation; f i eq (ρ,u) is referred to as f i eq .

[0096] The expression of the migration process is shown in formula (1.10b):

[0097]

[0098] When the immersed moving boundary condition is introduced, an additional collision term Ω is introduced into the expression of the collision process. s,i and weight function B s , then the current distribution function after the collision operation under the immersed moving boundary condition can be obtained as shown in formula (1.12):

[0099]

[0100] In formula (1.11), f i * (x, t) represents the current distribution function of x along the discrete velocity direction i at time t; f i (x, t) represents the first distribution function along the discrete velocity direction i at time x; f i eq(ρ,u) represents the equilibrium distribution function under the condition of macroscopic velocity u; τ is the relaxation time between two particle collisions; B s represents the weight function; Ω s,i represents the additional collision term; ρ represents the macroscopic density.

[0101] The processing method provided in this embodiment initializes the first distribution function of the grid points in the grid; determines the macro-parameters and node weights of the nodes in the grid after the migration operation is performed; determines the equilibrium distribution function of the nodes in the grid based on the macro-parameters and node weights; determines the current distribution function after the collision operation is performed under the immersed moving boundary condition based on the equilibrium distribution function, thereby realizing multi-core heterogeneous acceleration in the fluid-solid coupling scenario using the immersed moving boundary method. When the method provided in this embodiment is applied to data processing in a chip with a multi-core architecture, data transmission and interaction in three dimensions can be realized, thereby making the transmission efficiency within the region higher, reducing the complexity of the intermediate transmission, accelerating the calculation process, and improving the calculation rate and efficiency.

[0102] In some embodiments, the weight function B in formula (1.11) is obtained according to the following formula (1.12): s :

[0103]

[0104] in, Represents the solid volume fraction of the computational unit, which is a cube with a preset side length surrounding the lattice node; the solid volume fraction of the lattice node inside the solid Solid volume fraction of the lattice nodes in the fluid The solid volume fraction of the lattice nodes at the interface between the fluid and the solid satisfies one of the following: n represents the total number of small squares whose centers are located inside the solid sphere; D represents the diameter of the solid sphere.

[0105] Please refer to Figure 3 As shown, is the solid volume fraction of a computational unit (a cube with a side length of Δx surrounding a grid node). The value of Figure 3 As shown in the figure, the square □ represents the lattice node that is completely in the solid, and its solid volume fraction The triangle △ represents the grid node that is completely in the fluid, and its solid volume fraction The circle ○ represents the lattice node at the interface between fluid and solid, and its solid volume fraction Where n represents Figure 4 The total number of small squares whose centers are located inside the solid ball, and the solid volume fraction of the grid nodes corresponding to the circles ○ on one side of the solid ball The solid volume fraction of the lattice node corresponding to the circle ○ on the other side of the solid ball

[0106] In some embodiments, the additional collision term in equation (1.11) is obtained according to the following equation (1.13):

[0107]

[0108] Among them, f i eq (ρ,U s ) represents the moving speed U of the solid ball s The equilibrium distribution function under the condition; U s =(0,0,0).

[0109] Substituting formula (1.12) and formula (1.13) into formula (1.11) respectively, we can get the final collision formula under the immersed moving boundary condition:

[0110]

[0111] In some examples, the collision is performed by adding collision operators Ω to all grid directions of each grid node and to all fluid-solid boundary nodes and internal solid nodes. s,i By summing the momentum changes caused by s Determined according to the following formula (1.15):

[0112]

[0113] In formula (1.15), ∑ n represents the sum of all fluid-solid boundary nodes and internal solid nodes; n represents the total number of small squares whose centers are located inside the solid sphere; in the following equation (1.15) of the D3Q19 model, b = 19; e i Represents discrete velocities in different directions.

[0114] Drag coefficient C D The calculation formula is determined according to the following formula (1.16):

[0115]

[0116] Where U is s is the abbreviation of , which represents the moving speed of the solid ball; r represents the radius of the solid ball.

[0117] The viscous flow around a sphere is a classic problem in fluid mechanics. The flow around a sphere and the lift-drag coefficient are often used in engineering and scientific calculations. The drag problem of a sphere is often encountered in multiphase flow and sediment sedimentation problems. The three-dimensional flow around a sphere has complex kinematic principles and vortex interactions. This embodiment uses a three-dimensional flow around a sphere example to verify the algorithm.

[0118] Figure 5 The sphere flow model shown has a fixed velocity at the x-direction inlet, and the other five area surfaces are set to open boundary conditions. The real physical scenes in the x, y, and z directions are all infinitely extended areas. In actual calculations, due to computer resource limitations, the area needs to be artificially truncated into a finite area. Therefore, open boundary conditions are applied to the surfaces of the other five areas except the x-direction inlet.

[0119] The computational domain is a 8D×8D×8D cube. The sphere is located at (4D,4D,4D). The diameter D of the sphere represents 20 grids. The number of grids in the entire computational domain is 4.096×10 6 The non-equilibrium extrapolation format is used at the inlet to represent the fixed velocity boundary, and the Newman boundary conditions are used at the five outlets to represent the open boundaries.

[0120] The drag coefficients at different Reynolds numbers obtained by using the lattice Boltzmann model and the submerged moving boundary fluid-solid coupling algorithm of this embodiment are compared with the empirical formula and the test results. Figure 6 It can be seen that the drag coefficients at different Reynolds numbers obtained by using the lattice Boltzmann model and the immersed moving boundary fluid-solid coupling algorithm of this embodiment are consistent with the empirical formula and the test results.

[0121] In some embodiments, before step S110, the following steps may also be included:

[0122] Obtaining a computing task, wherein the computing task includes a lattice Boltzmann model to be simulated and a computing scenario;

[0123] Determine the computing nodes corresponding to each grid in the lattice Boltzmann model, wherein the computing nodes are connected via an interconnection interface, the interconnection interface is used for data transmission between adjacent nodes, and the computing nodes store grid parameters of the corresponding grid;

[0124] In response to the above-mentioned calculation task, the above-mentioned steps S110 to S140 are executed cyclically until a preset iteration condition is met, and a calculation result corresponding to the calculation task is obtained.

[0125] In some embodiments, Figure 7 As shown, in a single SOC, the physical computing cores are divided into logical cores and numbered according to the logic of D3Q9, and divided into a three-dimensional structure. Figure 1-2The data in the three-dimensional model shown is divided equally in NxNxN manner, which can achieve relatively balanced calculation and transmission.

[0126] The single chip processing flow may include the following steps:

[0127] Step a11: Chip initialization;

[0128] Step a12: configure parameters and initialize parameters;

[0129] Step a13: input data and initialize data;

[0130] Step a14: data block division;

[0131] Step a15: loop iteration;

[0132] Step a16: Transmit Ping zone data;

[0133] Step a17: Calculate Ping zone data;

[0134] Step a18: Ping the data channel between the data cores in the area, and then continue to execute step a15 until the result data is output;

[0135] Step a19: Transmit Pang area data;

[0136] Step a20: Calculate Pang area data;

[0137] Step a21: Pang area data core data channel, and then continue to execute step a15 until the result data is output.

[0138] In the computing process of a single chip, you first need to initialize the chip according to the input parameters, divide the tasks of each computing core, divide the memory space, divide the Ping / Pang area, realize the parallel transmission and computing, and then iterate according to the computing conditions until the conditions are met.

[0139] In step a11, specifically, the clock and timing are initialized, the peripherals are initialized, the interrupts and exceptions are initialized, the memory pipeline, task scheduling, resource allocation, etc. are initialized, etc. Among them, the pre-input computing task is obtained, and the lattice Boltzmann model to be simulated and the corresponding computing scenario are set, and the computing scenario can be a fluid simulation scenario, etc.; the grid in the lattice Boltzmann model is separated to obtain multiple nodes to be configured, and each point in the overall computing domain of the lattice Boltzmann model represents a grid in the lattice Boltzmann model (commonly used lattice models in three-dimensional cases include D3Q15, D3Q19, D3Q27, etc.), and the entire computing domain is composed of A×B×C grids, and the A×B×C grids are evenly divided into M×N×K parts in the three dimensions of X, Y, and Z, and each part can be used as a node to be configured.

[0140] In step a12 and step a13, relevant parameters and data are obtained based on the set lattice Boltzmann model and calculation scenario and written into the corresponding hardware components. For example, the calculation parameters and input data corresponding to the calculation scenario, as well as the basic parameters and input data of the grid are obtained. Each grid is configured with basic parameters for transmission and calculation, and the basic parameters include but are not limited to the following parameters: three-dimensional global ID, three-dimensional local ID in this calculation node, distribution function; input data include but are not limited to: grid density, whether the grid grid has special processing, velocity components in each direction, and related information received and transmitted to other grids and calculation nodes. The calculation parameters corresponding to the calculation scenario include but are not limited to: the number of grids used for the current calculation, the node weight of each grid, the transmission migration table of the grid during the propagation process, and the parameters unique to the calculation scenario; wherein the transmission offset table is used to indicate the destination position of the transmission of parameters in different directions.

[0141] In step a15, in response to the computing task, iterative calculation is performed by computing the grid parameters stored in the nodes until a preset iteration condition is reached to obtain a calculation result corresponding to the computing task, which can be specifically implemented by steps S110 to S140 in the above embodiment.

[0142] The implementation of the remaining steps is known to those skilled in the art and will not be described in detail here to reduce redundancy.

[0143] like Figure 8 As shown, in multiple SOCs, it is necessary to divide multiple physical computing SOCs into a logical three-dimensional structure, divide the corresponding logical processing and tasks for each SOC, and divide multiple calculations and tasks into a three-dimensional structure again in each SOC to meet balanced computing and transmission, achieve a balance between computing and transmission, make full use of processor resources, and achieve the purpose of acceleration.

[0144] The multi-chip processing flow may include the following steps:

[0145] Step b11: Chip initialization;

[0146] Step b12: configure parameters and initialize parameters;

[0147] Step b13: input data and initialize data;

[0148] Step b14: data block division;

[0149] Step b15: multi-chip synchronization;

[0150] Step b16: loop iteration;

[0151] Step b17: Transmit Ping zone data;

[0152] Step b18: Calculate Ping zone data;

[0153] Step b19: Ping the data channel between the data cores in the area;

[0154] Step b20: Ping zone data inter-chip communication, and then continue to execute step a16 until the result data is output;

[0155] Step b21: Transmit Pang area data;

[0156] Step b22: Calculate Pang area data;

[0157] Step b23: Pang area data core data channel;

[0158] Step b24: Pang area data chip communication, then continue to execute step a16 until the result data is output.

[0159] Among them, the implementation process of steps b11, b12, b13 and b16 can be similar to the aforementioned steps a11, a12, a13 and a15, and will not be repeated here.

[0160] The implementation of the remaining steps is known to those skilled in the art and will not be described in detail here to reduce redundancy.

[0161] In an optional embodiment of the present application, after determining the current distribution function after performing the collision operation under the immersed moving boundary condition based on the equilibrium distribution function, the boundary of the fluid is defined based on the current distribution function, and the fluid inside the boundary is simulated:

[0162] Arranging a multi-core structure of a target chip architecture into a preset two-dimensional structure to obtain a plurality of computing cores of the target chip architecture;

[0163] According to the number of computing cores of the target chip architecture, the preset fluid data is divided into a plurality of data blocks, and the divided data blocks are input into each computing core, wherein the preset fluid data includes a lattice Boltzmann model;

[0164] In each operation core, the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n+1 in the data numbered k are determined according to the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n in the data numbered k, where n is the iteration time step, and the value ranges from 0 to a preset value;

[0165] The simulation calculation results of the target chip architecture for the preset compressible flow are determined based on the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n+1 when n is the preset value in all computing cores.

[0166] In an optional embodiment of the present application, the multi-core structure of the target chip architecture is arranged into a preset two-dimensional structure to obtain multiple computing cores of the target chip architecture, including:

[0167] When the target chip architecture is a single-chip architecture, the single chip is divided into a plurality of computing cores, and the computing cores are arranged into a preset two-dimensional structure;

[0168] When the target chip architecture is a multiple chip architecture, the multiple chips are arranged into a preset two-dimensional structure, and the computing cores of each chip in the multiple chips are arranged into a preset two-dimensional structure, wherein the preset two-dimensional structure is a two-dimensional structure corresponding to the velocity direction in the two-dimensional space of the lattice Boltzmann model.

[0169] In an optional embodiment of the present application, according to the number of computing cores of the target chip architecture, the preset fluid data is divided into a plurality of data blocks, and the divided data blocks are input into each computing core, including:

[0170] Evenly distribute the preset fluid data to each chip in the target chip architecture;

[0171] For the preset fluid data in each chip, the preset fluid data in the current chip is evenly distributed to each computing core of the current chip, wherein the preset fluid data distributed in each computing core is regarded as a data block.

[0172] In an optional embodiment of the present application, each computing core includes a first area and a second area, and the method further includes:

[0173] For the data blocks in each operation core, the number of operations required to process the data blocks of the current operation core is determined according to the amount of operations of the current operation core each time;

[0174] Dividing the data block of the current operation core according to the number of operations, and numbering the divided data, wherein the numbers are 0 to m, and m is a value less than the number of operations by 1;

[0175] For the numbered data in the current operation core, when the data numbered k is calculated in the first area, the data numbered k+1 is read into the second area; when the calculation result of the data numbered k is transmitted in the first area, the data numbered k+1 is calculated in the second area; when the calculation result of the data numbered k+1 is transmitted in the second area, the data numbered k+2 is read into the first area, where k takes a value from 0 to m-2.

[0176] In an optional embodiment of the present application, the data numbered k is calculated, including:

[0177] Based on the first preset algorithm, the fluid density and fluid velocity vector at time n+1 in the data numbered k are determined according to the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n in the data numbered k; based on the second preset algorithm, the dimensionless temperature, entropy value and pressure at time n+1 in the data numbered k are determined according to the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n in the data numbered k, wherein n is the iteration time step, ranging from 0 to a preset value, and the first preset algorithm is different from the second preset algorithm.

[0178] In an optional embodiment of the present application, the first preset algorithm is a lattice Boltzmann method, which determines the fluid density and fluid velocity vector at time n+1 in the data numbered k according to the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n in the data numbered k, including:

[0179] Determine the equilibrium distribution function and correction term of the data numbered k and the mixed recursive regularized non-equilibrium moment according to the fluid density, fluid velocity vector, pressure and dimensionless temperature at time n in the data numbered k;

[0180] Determine the distribution function of the data numbered k at time n+1 according to the equilibrium distribution function and correction term of the data numbered k and the mixed recursive regularized non-equilibrium moment;

[0181] The density and fluid velocity vector at the time n+1 in the data numbered k are determined according to the distribution function at the time n+1 in the data numbered k.

[0182] In an optional embodiment of the present application, the second preset algorithm is a finite volume method, which determines the dimensionless temperature, entropy value and pressure at time n+1 in the data numbered k according to the fluid density, fluid velocity vector, pressure, dimensionless temperature and entropy value at time n in the data numbered k, including:

[0183] Determine the entropy value of the data numbered k at time n according to the fluid density and fluid velocity vector at time n in the data numbered k;

[0184] Determine the dimensionless temperature and entropy value at time n+1 according to the fluid density at time n+1 in the data numbered k;

[0185] The pressure at time n+1 is determined based on the fluid density and dimensionless temperature at time n+1 in the data numbered k.

[0186] It should be understood that, although the various steps in the flow chart are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the figure may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these sub-steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.

[0187] See also Fig. 9 An embodiment of the present application provides a processing device based on a lattice Boltzmann model and an immersed moving boundary, comprising:

[0188] A first processing module 901 is used to initialize a first distribution function of a grid point in a grid;

[0189] The second processing module 902 is used to determine the macro parameters and node weights of the nodes in the grid after the migration operation is performed;

[0190] A third processing module 903, for determining the first processing module of the nodes in the grid based on the macro quantity parameters and the node weights, for balancing the distribution function;

[0191] The fourth processing module 904 is used to determine the current distribution function after performing the collision operation under the immersed moving boundary condition based on the equilibrium distribution function.

[0192] In some embodiments, the current distribution function after performing a collision operation under the immersed moving boundary condition is as follows:

[0193]

[0194] Among them, f i * (x, t) represents the current distribution function of x along the discrete velocity direction i at time t; f i(x, t) represents the first distribution function along the discrete velocity direction i at time x; f i eq (ρ,u) represents the equilibrium distribution function under the condition of macroscopic velocity u; τ is the relaxation time between two particle collisions; B s represents the weight function; Ω s,i represents the additional collision term; ρ represents the macroscopic density.

[0195] In some embodiments, the fourth processing module is further configured to:

[0196] Obtain the weight function according to the following formula;

[0197]

[0198] in, represents the solid volume fraction of the computational unit, which is a cube with a preset side length surrounding the lattice node;

[0199] Solid volume fraction of the lattice nodes that are inside the solid

[0200] Solid volume fraction of the lattice nodes in the fluid

[0201] The solid volume fraction of the lattice nodes at the interface between the fluid and the solid satisfies one of the following: n represents the total number of small squares whose centers are located inside the solid sphere; D represents the diameter of the solid sphere.

[0202] In some embodiments, the fourth processing module is further configured to:

[0203] The additional collision term is obtained according to the following formula:

[0204]

[0205] Among them, f i eq (ρ,U s ) represents the moving speed U of the solid ball s The equilibrium distribution function under the condition.

[0206] In some embodiments, the equilibrium distribution function is as follows:

[0207]

[0208] f i eq represents the equilibrium function; ρ represents the macroscopic density; u represents the macroscopic velocity; c represents the lattice velocity; e i represents the discrete velocity along the discrete velocity direction i; wi Represents the weighting coefficient of discrete velocity direction i.

[0209] In some embodiments, the third processing module is further configured to:

[0210] The grid speed is determined according to the following formula:

[0211]

[0212] Where Δx represents the grid constant and Δt represents the time step;

[0213] The weighting coefficient is determined according to the following formula:

[0214]

[0215] In some embodiments, the second processing module is further configured to:

[0216] The macroscopic velocity of the nodes in the grid is determined according to the following formula:

[0217]

[0218] Where u represents the macroscopic velocity; ρ represents the macroscopic density; f i (x, t) represents the first distribution function along the discrete velocity direction i at time x; e i represents the discrete velocity along the discrete velocity direction i;

[0219] The macroscopic density of nodes in the grid is determined according to the following formula:

[0220]

[0221] Here, ρ(x,t) represents the macroscopic density, abbreviated as ρ.

[0222] For the specific definition of the above-mentioned processing device based on the lattice Boltzmann model and the immersed moving boundary, please refer to the definition of the processing method based on the lattice Boltzmann model and the immersed moving boundary in the above text, which will not be repeated here. Each module in the above-mentioned processing device based on the lattice Boltzmann model and the immersed moving boundary can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0223] Please refer to Fig.10In one embodiment, a computer device is provided, including: a memory and a processor, the memory stores a computer program, and the processor implements any step in the above-mentioned processing method based on the lattice Boltzmann model and the immersed moving boundary when executing the computer program. The internal structure diagram of the computer device can be as follows Fig.10 As shown. The computer device includes a processor, a memory, a network interface and a database connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a processing method based on a lattice Boltzmann model and an immersed moving boundary as described above is implemented.

[0224] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, any step in the above processing method based on the lattice Boltzmann model and the immersed moving boundary can be implemented.

[0225] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0226] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0227] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0228] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0229] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0230] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A processing method based on a lattice Boltzmann model and an immersed moving boundary, characterized in that: include: Initialize the first distribution function of the grid points in the grid; Determining macro parameters and node weights of nodes in the grid after performing the migration operation; Determine a balanced distribution function of nodes in the grid based on the macroscopic quantity parameters and node weights; A current distribution function after performing a collision operation under an immersed moving boundary condition is determined based on the equilibrium distribution function.

2. The processing method according to claim 1, characterized in that: The current distribution function after performing the collision operation under the immersed moving boundary condition is as follows: Among them, f i * (x, t) represents the current distribution function of x along the discrete velocity direction i at time t; f i (x, t) represents the first distribution function along the discrete velocity direction i at time x; f i eq (ρ,u) represents the equilibrium distribution function under the condition of macroscopic velocity u; τ is the relaxation time between two particle collisions; B s represents the weight function; Ω s,i represents the additional collision term; ρ represents the macroscopic density.

3. The processing method according to claim 2, characterized in that: Also includes: Obtain the weight function according to the following formula; in, represents the solid volume fraction of a computational unit, wherein the computational unit is a cube having a preset side length surrounding a lattice node; Solid volume fraction of the lattice nodes that are inside the solid Solid volume fraction of the lattice nodes in the fluid The solid volume fraction of the lattice nodes at the interface between the fluid and the solid satisfies one of the following: n represents the total number of small squares whose centers are located inside the solid sphere; D represents the diameter of the solid sphere.

4. The processing method according to claim 2, characterized in that: The additional collision term is obtained according to the following formula: Among them, f i eq (ρ,U s ) represents the moving speed U of the solid ball s The equilibrium distribution function under the condition.

5. The processing method according to claim 1, characterized in that: The equilibrium distribution function is as follows: f i eq represents the equilibrium function; ρ represents the macroscopic density; u represents the macroscopic velocity; c represents the lattice velocity; e i represents the discrete velocity along the discrete velocity direction i; w i Represents the weighting coefficient of discrete velocity direction i.

6. The processing method according to claim 5, characterized in that: Also includes: The grid speed is determined according to the following formula: Where Δx represents the grid constant and Δt represents the time step; The weighting coefficient is determined according to the following formula:

7. The processing method according to claim 1, characterized in that: The determining of the macro parameters of the nodes in the grid after the migration operation is performed includes: The macroscopic velocity of the nodes in the grid is determined according to the following formula: Where u represents the macroscopic velocity; ρ represents the macroscopic density; f i (x, t) represents the first distribution function along the discrete velocity direction i at time x; e i represents the discrete velocity along the discrete velocity direction i; The macroscopic density of the nodes in the grid is determined according to the following formula: Here, ρ(x, t) represents the macroscopic density, abbreviated as ρ.

8. A processing device based on a lattice Boltzmann model and an immersed moving boundary, characterized in that: include: A first processing module, used for initializing a first distribution function of a grid point in a grid; A second processing module, used to determine the macro parameters and node weights of the nodes in the grid after the migration operation is performed; A third processing module, for determining the first processing module of the nodes in the grid based on the macro quantity parameter and the node weight, for balancing the distribution function; The fourth processing module is used to determine the current distribution function after performing the collision operation under the immersed moving boundary condition based on the equilibrium distribution function.

9. A computer device comprising: The method comprises a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the steps of the method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.