The present invention relates to a computerized method for three-dimensional fluid simulation to analyze fluid flows around an object.
Heretofore, various fluid simulations in which the state of fluid (velocity, pressure, etc.) flowing around an object are analyzed by the use of a computer were proposed and utilized to develop the geometry of an object, for example, an arrangement of dimples of a golf ball in order to decrease the air resistance (drag) and improve the flight performance.
As well known, in a computerized fluid simulation, a flow domain or a three-dimensional space in which the fluid flows is split into subdomains (often called elements or cells) to generate a grid or mesh. In a domain near the object, the fluid flow is expected to become complex. But in a domain relatively away from the object, the fluid flow is expected to be simple. Therefore, in a grid generation, it is desirable that the domain far from the object is split into a coarse grid or mesh (namely, the grating density is lower) from the aspect of the computational efficiency although the domain near the object has to be split into a fine grid or mesh (namely, the grating density is higher) in order to increase the spacial resolution and thereby to enable detailed analyses of the fluid flow.
In order to achieve such variable spacial resolution, if the flow domain or the above-mentioned 3-D space is non-uniformly split with respect to each of three degrees of freedom (triaxial) of three dimensions, then direct methods such as FFT plus block cyclic reduction method can not be used in the computation, and it becomes necessary to use iteration methods such as Algebraic Multigrid Method (AMG method)and Full Multigrid Method (FMG method). As a result, there is a problem such that the computational time is significantly increased.
On the other hand, if the flow domain is uniformly split with respect to each of three degrees of freedom of three dimensions, into a uniform structured grid, then it is necessitated that the number of the subdomains (cells) becomes enormous in order to achieve sufficient analytical accuracy. In this case too, there is a problem such that the computational time is unfavorably increased.
Therefore, with the view to the above-mentioned problems, the present invention was studied out and its objective is to provide a three-dimensional fluid simulation method by which an increase in the computational time and cost can be inhibited even though the three-dimensional flow domain is non-uniformly split into a mesh such that a domain in which detailed analyses are necessary is finely split and a domain in which detailed analyses are not necessary is coarsely split.
According to the present invention, a three-dimensional fluid simulation method for analyzing a flow of fluid around an object by the use of a computer comprises:
a process (a) in which a first mesh of a three-dimensional space where the fluid flows is defined in the computer, wherein the first mesh is defined by non-uniformly splitting the space with respect to each of three degrees of freedom of the space,
a process (b) in which a second mesh of the space is defined in the computer, wherein the second mesh is defined by non-uniformly splitting the space with respect to two of the three degrees of freedom and uniformly splitting the space with respect to the remaining one of the three degrees of freedom,
a process (c) in which an object model of the object is defined in the computer, wherein the object model is defined by splitting the object into a finite number of cells, and the object model is disposed in the first mesh,
a process (d) in which boundary conditions are given and a motion equation relating to the fluid around the object model is defined, and the velocity of the fluid is computed from the motion equation,
a process (e) in which a flow imbalance is computed for each cell based on the velocity of the fluid obtained in the process (d),
a process (f) in which a pressure correction equation relating to the fluid is defined based on the flow imbalance, this corrects the pressure such that after this correction there exist no flow imbalance in calculation domain,
a process (g) in which the obtained flow imbalance is mapped onto the second mesh, and the pressure correction of the fluid is computed, and
a process (h) in which the pressure correction obtained in the process (g) is mapped onto the first mesh, and
the processes (d)-(h) are repeated until the flow imbalance obtained in the process (d) is converged such that velocity is a solution to motion equations.
The repetition of processes (d)-(h) becomes necessary from the fact that once the pressure is corrected, even though the flow imbalance is completely removed, new corrected velocity does not confirm to motion equation in (d). By repetition of (d)-(h), a solution set of pressure and velocity is obtained such that both motion equation and mass balance equation (called continuity equation) are satisfied.
In a fluid simulation in which a Navier-Stokes equation of an incompressible fluid is to be solved by a pressure-based splitting method, it is necessary that motion equations and pressure correction equations are calculated.
In the calculation of the motion equations, the computational time is substantially not affected by the fact whether the grid splitting is uniform or non-uniform.
However, in the case of the pressure correction equation, as the grid splitting is non-uniform, the pressure equation have to be solved by AMG method or FMG method. Therefore, the computational time is increased. Thus, in order to calculate the pressure correction equation, it is necessary to reduce the number of the dimensions by the use of fast Fourier transformation (FFT), and then to solve the equations by the use of a block cyclic reduction method or the like.
According to the present invention, by the use of a first mesh which is non-uniformly split with respect to each of three degrees of freedom, motion equations on the fluid are defined, and then velocity of the fluid is computed therefrom.
The velocity of the fluid obtained through the calculation of the motion equations is used to calculate mass imbalance on first mesh.
To remove this mass imbalance pressure correction is sought. The mass imbalance is mapped onto a second mesh, which acts as source terms for pressure correction equation on second mesh.
Here, the second mesh is split uniformly with respect to one of the three degrees of freedom of the first mesh, but non-uniformly with respect to other two of the three degrees of freedom.
On the second mesh, pressure correction equations are solved by use of direct method that uses FFT (Fast Fourier Transform) and Block Cyclic Reduction Method. The pressure correction obtained here is mapped to first mesh.
As explained above, the motion equations are calculated on the first mesh non-uniformly split with respect to each of the three degrees of freedom, and the pressure correction equations are calculated on the second mesh uniformly split with respect to one of the three degrees of freedom. And these calculations are repeated until a flow imbalance and motion equations converge.
Such algorithm is employed in the fluid simulation method according to the present invention. As a result, the total computational time and cost for fluid simulations can be reduced.
The patent or application file contains at least one color drawing. Copies of this patent or patent application publication with color drawing will be provided by the USPTO upon request and payment of the necessary fee.
a) is a graph showing values of a source term in z-axis direction of the first mesh.
b) is a diagram for explaining a mapping.
c) is a graph showing values of the source term mapped onto the second mesh.
a) is a graph showing another set of values of the source term in z-axis direction of the first mesh.
b) is a diagram for explaining a mapping.
c) is a graph showing values of the source term mapped onto the second mesh.
Embodiments of the present invention will now be described in detail in conjunction with accompanying drawings.
The present invention is a three-dimensional fluid simulation method to give an analysis of fluid flow around an object by the use of a computer.
As to the fluid, an incompressible fluid, namely, a fluid whose density variation due to changes in the pressure and/or temperature is negligible is used.
In most of phenomena concerning fluid flows such as air flows in the environment, the fluid can be assumed as being incompressible. Therefore, equations representing the flow domain can be simplified on the premise of the incompressibility. In general, when a simulation is made under conditions of Mach numbers smaller than 0.3, the air can be regarded as incompressible.
As to the object, it is possible to deal with various objects as far as the outer surface shape is definite.
In this embodiment, the fluid is air, and the object is a golf ball, and a simulation to analyze the air flow around the golf ball flying in the air is made.
The simulation in this embodiment is carried out by the use of a computer system 1 as shown in
The computer system 1 comprises a compute server S in which large-scale computations are possible, and a client computer la connected to the compute server S and making the compute server S to carry out peculiar calculations.
The client computer 1a comprises CPU, ROM, work memory and mass-storage device such as magnetic disk. A keyboard 1b, a mouse 1c and a display 1d are connected thereto. Further, the client computer 1a is provided with disk drive devices 1a1 and 1a2 for an optical disk such as CD-ROM and a flexible disk.
In the above-mentioned mass-storage device, the after-mentioned software program for carrying out the simulation method according to the present invention is stored.
In a process (a), a first mesh is generated in the computer system 1.
The first mesh M1 is schematically shown in
The first mesh M1 determines the size of the flow domain namely the 3-D space where the fluid flows, and positions at which the physical quantity is computed. Consequently, the first mesh M1 is defined as a finite space which is split into a large number of subdomains (cells).
For example, the physical quantity of the fluid is that at each grid point of the mesh. Therefore, entered in the computer system 1 are parameters which can specify the flow domain and the grid splitting (in this embodiment, the x-, y- and Z-dimensions of the first mesh M1 and the coordinate values of the respective grid points). Incidentally, the dimensions of the first mesh M1 can be set arbitrarily depending on the object to be analyzed, the purpose of the analysis and the like.
The first mesh M1 in this embodiment is defined as a rectangular parallelepiped in a Cartesian coordinate system.
It is however, not to be limited to such coordinate system.
It is possible to adopt a cylindrical coordinate system, a polar coordinate system or the like as far as the three-dimensional space can be defined.
The first mesh M1 is non-uniformly split with respect to each of the three degrees of freedom of the three-dimensional space (namely, in this example, x-axis, y-axis and z-axis).
In the x-axis direction, the first mesh M1 in this embodiment is split such that a central domain xb is finely split so that the grating density becomes high, and a domain xa on each side thereof is coarsely split so that the grating density becomes lower than that in the central domain xb.
Similarly, in the y-axis direction, the first mesh M1 has a finely-split central domain yb and a coarsely-split domain ya on each side thereof And in the z-axis direction, the first mesh M1 has a finely-split central domain zb and a coarsely-split domain za on each side thereof.
Thus, in the first mesh M1 in this embodiment, the grating density is increased in the central portion thereof
Therefore, by disposing the after-mentioned object model in the central portion of the first mesh M1, it becomes possible to more accurately analyze the flow of the fluid around the object.
In a process (b), a second mesh is defined in the computer system 1.
The second mesh M2 is schematically shown in
The second mesh M2 determines the flow domain namely the 3-D space where the fluid flows, and the flow domain is split into a large number of subdomains (cells).
Therefore, entered in the computer system 1 are parameters which can specify the flow domain and the grid splitting (in this embodiment, the x-, y- and Z-dimensions of the second mesh M2 and the coordinate values of the respective grid points).
The second mesh M2 defines the same 3-D space (outline shape) as that of the first mesh M1.
In the second mesh M2, with respect to two of the three degrees of freedom of the first mesh M1, the 3-D space is non-uniformly split in the same manner as the first mesh. But, with respect to the remaining one of the three degrees of freedom, the space is uniformly split.
More specifically, in this embodiment, with respect to the x-axis direction and y-axis direction, the second mesh M2 is non-uniformly split in the same manner as the first mesh.
But, with respect to the z-axis direction, the second mesh M2 is uniformly split at equal intervals same as those in the finely-split domain zb.
Accordingly, the number of cells of the second mesh M2 becomes larger than the number of cells of the first mesh M1.
In a process (c), an object model of the object is defined in the computer system 1.
The object model M3 is schematically shown in
The object model M3 in this embodiment has a spherical form proximate to the golf ball.
If the influence of dimples on the airflow is to be examined, the surface of the object model M3 is provided with irregularity (not shown) corresponding to dimples.
In a process (d), as visualized in
Namely, when carrying out the simulation, the relative positional relationship is defined so that the object model M3 is positioned within the first mesh M1. In this embodiment, the center of the first mesh M1 is positioned at the same position as the center of the object model M3.
Next (S5 in
The computational conditions include a time step At to make the simulation calculation, the density of the fluid, and boundary conditions at boundary surfaces of the cells.
As to the boundary conditions in this embodiment, the surface of the object model 3 is set as a nonslip wall.
In the first mesh M1, the velocity v of the fluid is defined at the entrance I for the fluid, and the pressure 0 of the fluid is defined at the exit O for the fluid.
And external surfaces W of cells existing between the entrance I and the exit O are provided with conditions of Full Slip Wall.
Further, it is possible to give convergence conditions, number of iterations and the like as the computational conditions when iterative calculation (sub-iterations) is carried out in order to correct the velocity field by the use of a pressure-correction equation.
These conditions are entered in the computer system 1 beforehand, and retrieved during the simulation calculation.
As shown in
Then, by the use of the object model M3 and the first mesh M1 for which their relative positional relationship is defined, a motion equation (see the following equation (I)) concerning the fluid is formed, and the velocity of the fluid is computed by calculating the motion equation (S62). Thereby, each velocity of the fluid when the fluid flows within the first mesh M1 under the above-mentioned conditions is computed.
wherein
v: velocity vector,
p: fluid density,
p: fluid pressure,
t: time,
g: gravitational acceleration.
[Process (e) (S63 in
In a process (e), based on the velocity of the fluid obtained in the above-mentioned process (d), the flow imbalance in each cell is computed by the computer system 1.
More specially, for each cell, the mass flux is computed, and the difference between the incoming mass flux and the outgoing mass flux per unit time is computed as the flow imbalance Δm′.
In a process (f), based on the flow imbalance Δm′, the computer system 1 forms a pressure correction equation relating to the fluid.
More specifically, for each cell, the flow imbalance Δm′ is divided by the volume of the cell to convert into a form discretized by a finite difference method, and the following pressure equation (2) is formed.
wherein,
k: invariable based on structured grid,
p′: amount of correction for p in equation (1) (Pressure Correction),
Δm′: flow imbalance
In a process (g), With the computer system 1, the flow imbalance Δm′ obtained per each cell is mapped onto a corresponding cell of the second mesh M2, and a matrix to be solved is formed to compute the pressure correction of the fluid.
As explained, the first mesh M1 is non-uniformly split with respect to each of the three axes. On the other hand, the second mesh M2 is non-uniformly split with respect to each of two axes (x-axis and y-axis) in the same manner as the first mesh M1. But, with respect to the remaining one axis (z-axis), the second mesh M2 is uniformly split.
Therefore, in order to use the flow imbalance Δm′ obtained at each grid point of the first mesh M1 in the second mesh M2, with respect to the axis in which the second mesh M2 is uniformly split, mapping (interpolating) is needed.
There are various methods for mapping. But, it is preferred to use numerical interpolation methods. In particular, a linear interpolation method (linear interpolation) or a distance weighting method (weighted inverse distance) is preferred.
The mapping made by the use of a linear interpolation method is effective when the second mesh M2 as the mapping-target is more finely split than the first mesh M1 as the mapping-source as shown in
As shown in
c) shows the source term (interpolated values of flow imbalance Δm′) of the second mesh M2 (white circles) which are overlapped with the source term of the first mesh M1 (gray circles).
The mapping made by the use of a distance weighting method is effective when the second mesh M2 as the mapping-target is more roughly split than the first mesh M1 as the mapping-source as shown in
In the inverse distance weighting method, the interpolation is made by the use of all relevant information weighted by an inverse distance from the point in the first mesh M1 to a point on the second mesh M2. Here, the weight decreases as the distance increase from the point on the second mesh M2.
The interpolated value can be obtained by the following equation for example.
φz′=Σ(ωi·φz) (i=1˜N)
ωi=[(1/di)/Σ(1/di)]
wherein
di is a distance between z and z′
Thus, the distance weighting method has a characteristic such that when di=0, then the value as it is mapped, and other values are almost disregard.
c) shows the source term (interpolated values of flow imbalance Δm′) of the second mesh M2 (white circles) which are overlapped with the source term of the first mesh M1 (gray circles).
With the computer system 1, when the flow imbalance Δm′ (interpolated value) is mapped onto each cell of the second mesh M2, a matrix to be solved on the second mesh M2 is formed.
For example, the matrix is formed as the following equation (3).
wherein,
Ti (i=1 to n): matrix of each slice,
ai and bi (i=1 to n): coupling terms,
Φi (i=1 to n): p′ as solution to be obtained
ri (i=1 to n): −Δm′
n: grid split number in
The above-mentioned slice means one of domains obtained by dividing a computational domain by the number of parallel computations. (The equation (3) is to be solved on the entire computational domain. On the other hand, the after-mentioned equation (5) is to be solved on each of the divided domains.)
In the computation of the pressure of the fluid on the second mesh M2, with the computer system 1, the above-mentioned matrix is Fourier transformed into a collection of a plurality of diagonal matrixes. See equation (4)
As apparent from the comparison between the equation (4) and equation (3), in the equation (4), the coupling terms ai and bi existing in the equation (3) are removed by the Fourier transformation. As a result, in the equation (4), it becomes possible to compute each slice without reference to other slices. Thus, using a direct method such as a block cyclic reduction method, the computer system 1 can calculate each split-off determinant of matrix. See equation (5)
Then, with the computer system 1, the obtained solution Φ is inverse Fourier transformed into the former unknown quantity, pressure p′.
wherein
{tilde over (T)}1(i=1˜n): matrix of each slice,
{tilde over (Φ)}i(i=1˜n): Fourier Transform of the p′ as solution to be obtained
{tilde over (r)}1(i=1˜n): Fourier Transform of the −Δm′
n: grid split number in
[Process (h) (S67, S68 in
In the process (h), with the computer system 1, the pressure correction p′ obtained on the second mesh M2 by the process (g) is mapped onto the first mesh M1. For the mapping, the above-explained method is preferably employed in this process too. By the mapping, the fluid pressure on the first mesh M1 is updated by the pressure correction p′(revised value of p) computed by the use of the pressure correction equation of the second mesh M2.
The above-mentioned processes d-h are repeated by the computer system 1 until the flow imbalance Δm′ obtained in the process (d) is converged so that the velocity obtained also satisfy the motion equations.
More specifically, if the computer system 1 makes such a judgment that the flow imbalance Δm′ satisfies the predetermined convergence condition (for example, its difference from the previous calculation value is below a threshold) (Y in S70), then this loop process ends and returns to the main process. (S7 in
If the computer system 1 makes such a judgment that the flow imbalance Δm′ does not satisfy the predetermined convergence condition (for example, its difference from the previous calculation value is over a threshold) (N in S70), then the computer system 1 executes the processes S62 to S68 once again.
Thus, the loop process is repeated until the convergence condition is satisfied.
The convergence condition in this loop process can be set arbitrarily. Aside from the threshold, for example, it is possible to set the upper limit of the repeat count of the loop.
The computer system 1 judges if the process exceeds a predetermined time period or a predetermined number of computational processes.
If false or not exceeds (N in S7), then the processes shown in
If true or exceeds (Y in S7), then this process ends and goes to the next process. (S8 in
In the process (i), the computer system 1 outputs the obtained simulation results by the use of the display 1d and/or a printer, for example as shown in
Using the first mesh and second mesh shown in
The width of the first mesh in the Z-direction was 0.2 m.
The diameter of the object model M3 was 42.7 mm.
The object model M3 was set in the center portion of the first mesh in the z-axis direction.
As shown, the grid size was minimum in the vicinity of the object model M3, and the grid size was gradually increased therefrom toward both sides in the z-axis direction.
The number of the grid points provided in the flow domain between +0.1 m and −0.1m in the z-axis direction was 1024.
Using the mesh M1 and object model M3, the following Poisson equation (6) was calculated.
∇2φ=r Equation (6)
Here, the source term (r) had values shown in
These values were randomly generated around the golf ball (object model M3).
Next, the second mesh was set up. In the domain of the second mesh between +0.1 m and −0.1 m in the z-axis direction, 700 grid points were provided at even intervals. Accordingly, the grid spacing was about 0.000286 m (=(0.1m-(−0.1m))/700).
In this example, using a inverse distance weighting method, the mapping was made from the first mesh to the second mesh. The result is shown in
On the second mesh which was uniformly split in the z-axis direction, the pressure correction equation (Poisson equation) was calculated, and the solution obtained was mapped onto and put back to the first mesh.
In the calculation of the pressure correction equation, after the number of dimensions was reduced by using FFT as explained above, the calculation was made by the use of a block cyclic reduction method.
In order to put the solution back to the first mesh, the mapping was made by the use of a distance weighting method.
As shown, the result computed according to the present invention substantially coincides with the result computed according to the conventional direct method.
Next, the influence of the grating density of the second mesh on the simulation accuracy is explained.
In this example, the grid size (grid spacing) (unit: m) is given by the following equation
grid size=0.2/N
wherein
N is the number of the cells.
By changing the number N (N=150, 300, 500, 1000, 2000), it was checked how the accuracy was changed. The results are shown in
As shown, as the grating density of the background mesh becomes higher (grid spacing becomes smaller), the result becomes closer to that of the direct method and the accuracy of the solution becomes increased.
In
As explained above, the method according to the present invention can be expected to improve the computational efficiency. For example, in the event that cells have to be arranged in the z-axis direction at equal intervals, when a golf ball having a diameter of 0.0427 m is disposed at the center in the z-axis direction, in order to maintain the analytical accuracy, the grid spacing has to be about 7.50E-5(m) according to the experimental rules.
If the analytic domain extends from −0.25 m to +0.25 m, the split number in the Z-direction reaches to 6670.
In the x- and y-axis directions, however, it is usually enough for the accuracy that the split number is about 1000 because cells can be arranged with unequal splitting. For example, the total number of the cells in such mesh reaches to about seven thousand million. (6670×1024×1023=6987171840)
Thus, according to the conventional method in which a motion equation has to be solved with respect to each of the seven thousand million cells, a huge amount of memory is required for the computer system, and the computational time becomes very long.
In the present invention, however, since the cells in the first mesh can be arranged at unequal intervals in the Z-direction in addition to x- and y-directions such that unnecessary analysis domains are roughly split, the split number in the Z-direction can be reduced to about 1000.
The total number of the cells of such mesh is about one thousand million. (1000×1024×1023=1047552000)
Thus, the computational scale can be reduced to about 1/7.
It is further understood by those skilled in the art that the foregoing description is a preferred embodiment of the disclosed simulation method and that various changes and modifications may be made in the invention without departing from the spirit and scope thereof. For example, it is not necessary to execute the processes S1-S5 in
Number | Date | Country | Kind |
---|---|---|---|
2011-109673 | May 2011 | JP | national |
2012-65942 | Mar 2012 | JP | national |