CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Iterative equation solvers in CFD (https://www.cfd-online.com/Forums/main/566-iterative-equation-solvers-cfd.html)

Vitaly Bulgakov February 19, 1999 16:54

Iterative equation solvers in CFD
 
I would like to post a question on efficient iterative methods for solving linear equations arising in CFD problems when FE, FD and FV methods are employed. Of course, there are so many different CFD and CFD related problems. However, there are not so many efficient iterative solvers for indefinite non-symmetric systems. Is it true? Trying to start this discussion I would like to advocate Krylov subspace methods with ILU preconditioning when unstructured grids are used. This combination is, however, well known. I wonder if anybody know any good alternative proved to be efficient for a large class of INDUSTRIAL CFD problems. Maybe someone will find this question to be totally incorrect. This would be also very interesting.


Gassan Abdoulaev February 22, 1999 05:39

Re: Iterative equation solvers in CFD
 
In very general case, i.e. a grid is completely unstructured, this combination (GMRES+ILU) is probably one of the best choices (relatively simple and very robust). If the grid is, for instance, multilevel, i.e. has been generated using several (local or global) refinement steps, starting from some coarse grid, then the multigrid method (with ILU as a smoother) could be a good alternative. Personally, I try to avoid nonsymmetric problems. If the problem is essentially time-dependent, than I would use the method of characteristics.

Shigunov February 23, 1999 05:45

Re: Iterative equation solvers in CFD
 
There are quite many related works in SIAMīs journals, I might recommend the SIAM J. Sci. Stat. Comput., and naturally J. Comput. Phys.

With best regards

Vitaly Bulgakov February 23, 1999 09:43

Re: Iterative equation solvers in CFD
 
Of course, I am aware of numeriuos papers in SIAM J. devoted to this question. But in my posted message I am more interested in experience of solving practical CFD problems. Nevertheless, if you could indicate in SIAM good papers devoted to practical rather than theoretical aspects of iterative methods for CFD problems I would appreciate it very much.

With my best regards

Vitaly Bulgakov


Sergei Chernyshenko February 23, 1999 13:39

Re: Iterative equation solvers in CFD
 
>Maybe someone will find this question to be totally incorrect. This would be also very interesting.

Hi, Vitaly.

Not that I think your question to be incorrect, but you sound practical, and here is a comment from a practical viewpoint.

There is a huge amount of public domain software for solving linear algebraic systems. This software was developed by large groups of highly qualified programmers and algebra gurus working for many years (yes, so!) to make the code more efficient, and they continue to improve it. Our problems are not very different from many others, as far as linear systems are concerned. Therefore, it is hard to compete with existing codes. It is more practical to concentrate on building that linear system, on schemes etc., and use existing software for solving them. Surely, if you will spend a year on improving the scheme while using a standard subroutine your code will be faster than if you spend the same time on creating your own linear equation solver.

If you, nevertheless, wish to compare various solvers in the case of your particular problem (not a bad idea, too), download several and enjoy. A good starting point is

http://www.utexas.edu/cc/math/softwa...ic_domain.html

It is also useful to go to a search engine and type something like

sparse matrix iterative public domain +download

the latter to cut off pages which are talking about the software but do not provide it.

It is widely acknowledged that one of the most important abilities of a professional programmer is the ability to use library subroutines. Saves years of hard work, really, and not a joke.

Sorry, if you are not after a practical solution then the above is irrelevant, and I feel that discussion of various solvers can be interesting for me, too.

Hope you find this worth reading.

Yours Sergei

Vitaly Bulgakov February 23, 1999 14:52

Re: Iterative equation solvers in CFD
 
Sure. If you need to develope a solver from scratch and this is just a part of a big project, the only way is probably to take it from some public domain library. Needless to say how many people, especially those tailoring their Ph.D's or some research projects took advantage of this nice internet possibilities. God bless those people who kindly wish to share their developments. I would myself advocate this way in many situations as I got a lot of good working programs from the public domain. It's however different if you are doing something long-term and have a certain background in this field.

I am still interested to proceed this discussion about efficient iterative solvers for CFD problems. Is there something more efficient than the combination of ILU + Krylov subspace methods for nasty CFD problems on unstructured grids.

Did anybody here about combinatorial based preconditioners? How it is related to ILU?

With my best regards.


Sergei Chernyshenko February 23, 1999 15:36

Re: Iterative equation solvers in CFD
 
OK, good. In fact, I could now risk to implement something more efficient for my specific program myself (but what I told earlier was true), if somebody would tell me what is the best. While waiting for someone more qualified than me:

A shot in the air: do you know what is the Fedorenko method? I do not know myself, just several days ago a fellow programmer mentioned it as extremely efficient (well, he was talking about it being ten or even a handred times faster than all the rest?!) in CFD problems but difficult to implement, and another one was telling something like this a month ago, but I had no chance to learn the details. Some doubling was mentioned, but I did not understand. It is iterative. I had an impression that Fedorenko method was for matrices corresponding to structured grids, but I am not sure. If you do not know, too, it might be worth investigating.

Sergei


Vitaly Bulgakov February 23, 1999 16:21

Re: Iterative equation solvers in CFD
 
Yes, I know. Fedorenko method (now called multigrid) is in short the method which takes advantage of the coarse grid solution. After so called smoothing (standard iterations) the residual contains only slowly oscilating terms and therefore can be reduced to the coarse grid and provide a coarse grid (correction) solution which is inexpencive. This correction is added to the vector of smoothing iterations and smoothing is continued. This process is looped. The most important issue here is to construct a coarse-fine prolongation which is usually possible only on structured meshes. There are different multigrid schemes: V, W, etc. There are multi-level preconditioners based on the multigrid. There are algebraic multigrid or algebraic-like multigrid methods with and without contruction of the coarse model, etc., etc.... Actually I worked in this field for a long time, but more for structural problems. The multi-level aggregation method is one example of this work.

The use of multigrid or related methods in CFD with unstructured grids (and not hierarhical grids caused by the refinement processes) is very interesting. It is also interesting if the convection dominated equations are still good for the multigrid treatment.

No doubts these questions have been many times discussed in literature and conferences. Nevertheless, why not to refresh it, especially in the context of applications to "nasty" CFD problems on unstructured grids.

With my best regards.


John C. Chien February 23, 1999 17:11

Re: Iterative equation solvers in CFD
 
It is a good idea to describe the situation in a somewhat easier to understand terms, (1). what is Krylov subspace method? ,(2). what is ILU preconditioning? (3). what is the characteristics of the linear matrix when using unstructured gird? (4). what is your definition of "efficient method"? I may not be able to give you the answer, but I am sure that we all can learn something from the discussions if the background of the question is more visible to us. Could you give us a reference where the methods mentioned were used in the CFD application?

Sergei Chernyshenko February 23, 1999 17:16

Re: Iterative equation solvers in CFD
 
Thanks a lot. Multigrid I know. Funny thing is these changes of names. I had a lot of trouble trying to understand why people in the West used Thomas method instead of what I knew as 'progonka' in Russian, and what was a difference! But knowing multigrid and not knowing Fedorenko beats it!

And again thanks for this remarkable remark:

>It is also interesting if the convection dominated equations are still good for the multigrid treatment.

Indeed, in high-Re separated flow, for example, we can expect large gradients across the dividing streamline. Coarse grid cannot resolve them. However, large scale corrections can result in shifting the dividing streamline, which, hence, has to be accounted for in smooth-scale iterations. But since this shift is a large-scale effect, the convergence will be slow. I see the problem and like it. Never thought about it. Very interesting. May be, the knowledge accumulated in high-Re asymptotics studies can help to resolve this. If we could know where to shift the small-scale solution when the large scale correction is found, that would be all right. I should think about this. Thank you.

>The use of multigrid or related methods in CFD with unstructured grids (and not hierarhical grids caused by the refinement processes) is very interesting.

So, it is a hierarchy, not structure, which is important. That would be understandable. What if the grid is built as a fractal? It would be what I would call unstructured (anyway, certainly much more flexible than usual structured grids) and still it has an intrinsic self-similarity.

Kghm. I am solving steady compressible subsonic NSE (with turbulence models) by Newton method, with linear system solved by a direct method, as a band-matrix. Simple, fast, but memory-consuming, and a super-computer is not always at hand, you know. So I am thinking about switching to iterative method, but am afraid that minimizing residuals or what-do-you-call-it will be too slow. Do you think multigrid can help? No, my flows are separated. So, what would be your choice? And is your choice available as public-domain subroutine?

Yours Sergei

Vitaly Bulgakov February 23, 1999 17:54

Re: Iterative equation solvers in CFD
 
Usually multigrid positive effects are explained by the fact that slow portion related to first eigenvectors of the elliptic problem (like Laplas, Elasticity, etc.) can be suppressed by the coarse grid. I guess this property is not preserved in such problems like those with high-Re separated flow and many others in CFD. However the coarse model can be constructed in such a way that on the subspace based on the prolongation from this coarse model the original matrix and the multi-level preconditioner coinside. This is the case in the aggregation technique where aggregates do not exactly serve as a coarse grid but provide an excelent convergence. What I am saying is that maybe it's possible to construct a sort of flow aggregation model?, say for separated flow.

Regarding my choice for your problems. I do not have it, but would be interested to know about experience of using ILU-based iterative methods for this purpose. Did you try or hear about such an experience?


Vitaly Bulgakov February 23, 1999 18:12

Re: Iterative equation solvers in CFD
 
1) and 2) can be found in papers and textbooks related to iterative solution of sparse systems. A good choise may be a book of Yousef Saad (iterative methods for sparse linear systems, 1996).

Matrices resulted from unstructured grids are just sparse matrices without any special structure so that it is difficult to use iterative methods related to differential equations, like those taking advantage of the finite-difference approximation, like alternate direction methods, for example. So some "black box" approaches should be used for iterative solutions.

Efficient iterative method is the method with fast convergence and operations for a wide range of problems.

Regards

Sergei Chernyshenko February 24, 1999 05:21

Re: Iterative equation solvers in CFD
 
>What I am saying is that maybe it's possible to construct a sort of flow aggregation model?, say for separated flow.

Sorry, this is above my head. What is the aggregation model?

>to know about experience of using ILU-based iterative methods for this purpose. Did you try or hear about such an experience?

Sorry again, my idea about ILU is very uncertain. Is it some kind of approximate decomposition? May be again the terminology problem.

I do read papers on numerical calculations of separated flows. I never met anything which I would call unconventional. In the turbulent case the main problem is the turbulence model, this is where the efforts are concentrated. In high-Re steady laminar the calculations are explicitly of research character: the code is written to perform a small number of calculations and then be thrown away. So, what I wrote in my first message applies.

One exception may be the attempts to use marching schemes in steady problems with second derivatives in the marching direction and some other terms taken as a source term from the previous iteration. They were not entirely successful, although there was an interesting connection between some tricks needed to stabilize the calculations and the theory of viscous-inviscid interaction. Well, this is irrelevant to iterative linear solvers, I am afraid.

Rashid Faizullin February 24, 1999 07:08

Re: Iterative equation solvers in CFD
 
Hello Vitaly, I can solve VERY nonsymmetric large systems for hydraulic problems (plus nonlinear) and there are proof and method.

There are realy INDUSTRIAL application.

Please see cmm.univer.omsk.su/kbks

Regards

John C. Chien February 24, 1999 09:35

Re: Iterative equation solvers in CFD
 
I think you are looking at the CFD problems from the mathematical point of view, that is looking at the final algebraic equations. Since CFD problems are fluid dynamics problems, it is related to the physics of fluid dynamics, such as continuity, diffusion processes due to viscosity, mixing, convection processes, and production etc. The diffusion part is confined by the boundary of the problem. So the distance away from the wall or boundary is an important parameter. This can be seen in the low Reynolds number flows or heat conduction problems. In these situations, if the mesh is aligned with the iso-thermal lines, you are likely to get fast convergent and accurate solutions. On the other hand, with unstructured mesh, it is really hard for each cell to properly communicate with the boundary. The unstructured mesh really is just a geometry problem which has nothing to do with the physics at all!!! Therefore, one really need to look at the CFD solution first, then construct the mesh next, so that the mesh can have some physics included. I think, this is very important. The sparse, irregular matrix created is simply because the person is only trying to solve the geometry problem at that point without any knowledge of physics. And the multi-grid method is physics, it is not mathematics. It is ideal for the elliptic problems.For the convection processes, the direction of the velocity vector ( or the equivalent one) is the controlling parameter in the processes. That is why there are methods such as the up-wind methods, which are derived from the physics not the mathematics. With the convection processes, the streamlines becomes important parameters to guide the mesh generation. If the mesh is aligned with streamlines, the error will be minimized, and the convergence improved. The unstructured mesh tends to destroy this important directional parameter. When the source term is important, the flow is coupled, and it must be solved implicitly. All these factors simply tell us that the solution to the fluid dynamics problem is physics dominated, not geometry or mathematics dominated. The need to use the unstructured mesh is mainly due to convenience, that is, it is easier for the users to create a mesh for the solver without regarding to the ultimate physics of the fluid dynamics. So, after having disturbed the well organized physical system in an unstructured way and then trying to get the underlined physics back from the sparse,irregular matrix, is itself a self-created hardship. For me, over the years, I have used point iterative methods and at most the line iterative methods for simplicity and ease of programming, for all 2-D and 3-D low speed problems. And think, the same principle applies to the compressible flow formulation as well. One really need to look at the physics first before he can come up with an accurate and efficient method for CFD. In 2-D, it may be possible to look at the appearance of the matrix and try to re-arrange it. For 3-D, once the connectivity of the physical system is disturbed, it is hard to get help from the physics of the problem to improve the accuracy and the efficiency. With exception that,a great mathematician may be able to decode the physics by looking at the resulting sparse, irregular matrix. So the solution along this route is still wide open. ( the use of the boundary layer coordinates to solve the boundary layer problem is a very good example of creating a mesh which includes physics. Many unstructured codes are re-discovering this feature through the use of quad mesh or a hybrid mesh near a wall. Such feature should also be applied in the flow field where a boundary layer or a shear layer exist away from the wall for accuracy and efficiency.)

Vitaly Bulgakov February 24, 1999 10:09

Re: Iterative equation solvers in CFD
 
Thank you very much for your letter. I completely agree with every word in it. The same situation is in the structural analysis. All this automatization stuff shades physical meaning. But fluid problems even more sensitive to this.

Nevertheless, FE shape functions can also have upwind modifications and it's enough to have unstructured mesh only in some parts of the problem domain to make line iterative methods not applicable. Besides, I am not sure that even if the mesh has logically rectangular structure which nicely serves for the physics, the line methods will work for all problems. What is your opinion?


Vitaly Bulgakov February 24, 1999 10:46

Re: Iterative equation solvers in CFD
 
>What I am saying is that maybe it's possible to construct a sort of flow aggregation model?, say for separated flow.

Sorry, this is above my head. What is the aggregation model?

Look at the coarse grid in multigrid as some coarse model. You may use some simplified formulation, say, for the stream in a part of your problem domain which will have less degrees of freedom etc. The aggregation model is a substitution to the coarse grid when this grid is difficult to construct.

>to know about experience of using ILU-based iterative methods for this purpose. Did you try or hear about such an experience?

Sorry again, my idea about ILU is very uncertain. Is it some kind of approximate decomposition? May be again the terminology problem.

Yes, this is approximate decomposition. However there

so many ways, and some of them are now standard, to

perform this decomposition. So saying ILU iust indicates a type of the preconditioning and will need

more details in further considiration.

I do read papers on numerical calculations of separated flows. I never met anything which I would call unconventional. In the turbulent case the main problem is the turbulence model, this is where the efforts are concentrated. In high-Re steady laminar the calculations are explicitly of research character: the code is written to perform a small number of calculations and then be thrown away. So, what I wrote in my first message applies.

One exception may be the attempts to use marching schemes in steady problems with second derivatives in the marching direction and some other terms taken as a source term from the previous iteration. They were not entirely successful, although there was an interesting connection between some tricks needed to stabilize the calculations and the theory of viscous-inviscid interaction. Well, this is irrelevant to iterative linear solvers, I am afraid.

Anyway you will solve the linear equation system in

each time step or non-linear iteration step. Right?

So, when you have a large scale problem you will

need to solve this system more efficiently.


John C. Chien February 24, 1999 15:36

Re: Iterative equation solvers in CFD
 
There are two approaches:(1). connected multi-block mesh. In this way one can move into small areas with fine structured mesh at the same time, one can cover the whole domain. This approach requires additional control of new block boundaries. This approach is currently widely used. (2). overlapped multi-block mesh. In this way, one is actually solving several coupled problems, and each one is well structured and can be solved efficiently. The information transfer is through the overlapped region. This approach makes the movement of the geometry boundary easier to handle. In most cases, there is really no need to make the mesh highly unstructured or even random. As a matter of fact, a boundary aligned mesh ( just for the boundary region) overlapped on a simple Cartesian mesh may be more efficient than a single unstructured boundary aligned mesh for the whole domain. The idea is to simplify the formulation before getting to the point of solving a large ,sparse, irregular matrix. But, on the other hand, if an efficient solver can be found for highly unstructured mesh, then it really doesn't matter how you mesh the problem at all. Sometimes, the hardware speed-up is easier to achieve.

Vitaly Bulgakov February 24, 1999 16:00

Re: Iterative equation solvers in CFD
 
If I develope in-house CFD code I would follow these concepts. Actually, some years ago I started with topologically regular grids on rectangular domains using fictitious finite elements. We managed to model very serious 3D industrial structural analysis and heat conduction problems of complex shape. Besides, the multigrid method nicely took advantage of this and helped us to solve huge problems on slow computers.

When you say the connected muli-block mesh is currently used, do you mean commercial software which works in hands of customers and therefore should supply them with a friendly preprocessing tools?

What kind of iterative methods are used for solving linear systems in multi-block and overlapped multi-block mesh applications?


John C. Chien February 24, 1999 17:25

Re: Iterative equation solvers in CFD
 
A very good example is the MegaCads Multiblock-Elliptic-Grid-Generation...system posted here recently by Olaf Brodersen, developed for complete transport aircraft. I think they use both the connected and overlapped types. The web site is http://beasgi2.ea.bs.dlr.de/megacads/ . The message was posted recently here, you should be able to find it by using "search" command. As for the methods to solve the final algebraic equations, I think, it depends on the governing equations in the solver, and each commercial code probably uses different approaches. The multi-block structured mesh in MegaCads is really the right approach to a complex problem. It is also good for accuracy. As I said, in this approach, you need to do some extra work. but that is exactly the difference between an expert and an average engineer. The unstructured mesh approach will save time in the mesh generation stage and is good for average engineers. So, the definition of an efficient method must also take into consideration of the experience of the user and his working environment.

Shigunov February 25, 1999 11:35

Re: Iterative equation solvers in CFD
 
<The unstructured mesh approach will save time in the mesh generation stage and is good for average engineers>

This opinion is too categorical. For problems with moving adaptive grids (ALE-approach) the unstructured grid is almost only way, and scietifical enough, too.

With best regards

John C. Chien February 25, 1999 12:26

Re: Iterative equation solvers in CFD
 
I think, since the moving boundary was not the focus of the original issue, I am not going to side track to a new question and answer. It is probably easier to state it in this way:" The overlapped multi-block mesh approach can ease the task of mesh generation and improve the efficiency of the solver operation in each block. The added befinit is that the problem with moving objects boundary can also be handled within the same framework."

Shigunov February 25, 1999 15:07

Re: Iterative equation solvers in CFD
 
Sure, thank You. Oversetting grids are the powerful and suitable tool for engineering problems. But what can You say about deformable boundaries (interfaces, shok waves etc.)?

Gassan Abdoulaev February 26, 1999 08:49

Re: Iterative equation solvers in CFD
 
A very interesting discussion, I should say. And different points of view. I agree with John C. Chien, that physics of the problems should be taken into account. But is it always possible in a way he advocates. Let's consider an example of cartesian grids. Yes, they are simple to generate they produce algebraical systems which are easy to solve, they can fit stream-lines in order to minimize error, etc. But still there is a number of questions. Did you ask yourself, why unstructured (for instance, tetrahedral) meshes are used so widely? Only to make life easier for "average" engineers? Cartesian grids work fine, if your domain is a union of quadrilaterals (2d) or hexahedrons (3d), and if you have a laminar and steady flow. What about more complex cases: (1) complex geometry - you know examples yourselves; (2) complex pattern flow: the simplest example - an incompressible flow around a rectangular cylinder with high Re. The geometry here is perfectly rectangular, but do you know how to fit streamlines of this highly unsteady flow? (3) local mesh refinement. I hope you would agree there are problem, where refinement IS necessary. If you refine a cartesian grid, a excessive number of nodes is generated, whereas with unstructured mesh you can reach the same accuracy with much (3-4-5 times) less number of nodes. From my point of view, the most efficient would be a combination of both approaches: (1) domain decomposition, whatever you call it - multiblock, mortar method, etc. Within each subdomain the mesh can be whatever you want - tetr, hex, structured, unstructured, etc. On the interfaces the meshes can be matching or not very much. Well, it's easy to write, but not very easy to code. Believe me. (2) ficticious domain method: the original computational domain is embedded to something very simple, parallelepiped, for instance, which is used to contruct an effective preconditioner. The grid here is locally fitted, i.e. structured almost everywhere, but the nodes in the vicinity of the boundary are shifted to the boundary.

Going back to the very first question about nonsymmetric problems. I hate to solve iteratively nonsymmetric problems! Let me explain. What are the basic requirement to an iterative method? It should be efficient, ideally - algebraically optimal, i.e. the cost to solve a problem with a prescribed accuracy should be proportional to the number of nodes. And you should be able to implement it to a wide range of problems. There are many such methods for PDS problems, coming from elliptic equations; there are such methods for saddle point problems (Stokes problem, mixed FE). There are (are there?) very few methods for nonsymmetric (convection-dominated) problems in general case. Upwind has nothing to do with an iterative solution of an algebraic problem. Whatever you take, the system is always bad. Again I insist, that the best choice (if you can't avoid it) is GMRES+ILU or MG+ILU (there is a number of moditications). Take care!

P.S. By the way, why there are so many guys from fSU, replying this posting? Good mathematical school or lack of fast computers?

Vitaly Bulgakov February 26, 1999 10:01

Re: Iterative equation solvers in CFD
 
Really good discussion. We can see that development of efficient general purpose iterative methods is not waste of time in the context of CFD problems.

Gassan, can you clarify what you mean in your P.S. Best Regards


John C. Chien February 26, 1999 11:13

Re: Iterative equation solvers in CFD
 
(1). First of all, I don't pay attention to the name and source of the authors. The important thing is to be able to stimulate some discussions. And may be somewhere along the line, a new door to the future will open to the readers. Naturally, it is very difficult to change one's point of view and the programs already written in one's mind ( brain), so, the open minded approach is essential in the discussion. And we hope that some hints from the discussion will find itself into the un-used areas of the mind ( we don't know where and how ). (2). About the complex geometry,I agree that, at the current state of development, it is easier to fill the empty computational domain with beans of different sizes and shapes. It is a intuitive and common sense approach. That's why it is practical and widely used. It is good. If we look at the source of the complex geometry, I think, in many cases, it is because the design itself does not take into consideration of the fluid dynamic aspect of the problem. I will continue the same discussion into the next paragraph. (3). For example, the complex flow pattern around a simple rectangular comes from the ignorance of the fluid dynamics of the designer. Sure, one can study this from purely academic point of view, and publish papers on the complex nature of the unsteady shear layer and wake. But, in reality, a good engineer with fluid dynamics training will definitely change the design to eliminate the sharp corners ( unless he is using it as a flame holder). Design of bicycle frame is a very good example. Golf head design and the high speed train design are two other examples. So, as we gain more insight into the fluid dynamics using the current unstructured mesh, the design will be changed and the blocked, structured, efficient methods will be used later on the rvised design. (4). As for the unsteady flows, in the test environment, we are still using fixed probes to obtain the data. So, the fixed Cartesian mesh is appropriate also. The only difficulty is the mesh resolution , computer memory and speed. Suppose that some day in the future, you have almost unlimited computer memory and speed available ( sooner of later, it will come.) ,it would be much easier to use the simple Cartesian mesh to cover the whole domain, including the wall layer. In 60's, a 40x40 mesh size for a 2-D problem was considered very large, but today, a workstation with 128 meg RAM is everywhere. For example, a 1000x1000 2-D mesh requires 4 meg RAM per variable. Let's say one write a 2-D program and stores 20 variable per nodal point or cell, the total memory required is 80 meg RAM. The question is: do you really need to use unstructured, adaptive mesh to cover the flow over a 2-D rectangle? As for the computing time, my rough estimate is 10x(1000 + 1000) minimum iterations for a point iteration method. So, you are talking about the time to solve a 1meg point 2-D problem for 20 thousand times. If uniform mesh is used, essentially, there is no need to compute any geometry related parameters, and the execution will be very fast. (5). Once we understand the physics of the problem, we should be able to know the location of the shear layer, the development of the shear layer, the location and movement of the vortices in the wake, and thus we should be able to develop a simple analytical, algebraic, dynamic mesh for such type of problems. ( build a dynamic mesh model and use motion capture technique from the previous computed results to create a transient, analytical , dynamic mesh.) (6). I think , in certain ways, CFD world is lagging far behind the animated motion picture world. If one can animate a 3-D object ( mesh) to simulate the real world motion, one can also animate a CFD mesh to capture the real world flow over a rectangular object (and also far more complex objects). (7). As for the GMRES+ILU or MG+ILU , I will have to do some research to understand the methods first. As I said, point iteration method is easy to code and is good enough for my application so far. But I will look into that area. (8).Thank you for your time.

Shigunov February 26, 1999 14:22

Re: Iterative equation solvers in CFD
 
Hi, can anyone please reply to yet one question about the method of approximate LU factorisation (as in, for instance, in: Pan&Lomax/AIAA J. 26,163(1988)). Thank You very much for any reference on the articles concerning practical implementation of this scheme.

With best regards

Sergei Chernyshenko February 26, 1999 15:43

Re: Iterative equation solvers in CFD
 
Hi again.

ILU was used by Jitesh Gajjar, of the Math. Dept. of Manchester U., UK, for calculating some viscous-inviscid interaction problems. He says it is all right, but nothing exceptional. You could risk contacting him directly for more precise references, allthough he is really busy.

Some other here around prefer matrix Thomas technique.

Sergei

Vitaly Bulgakov February 26, 1999 15:58

Re: Iterative equation solvers in CFD
 
You can contact me regarding ILU if you want. I dare say I have some experience in this field. I'v been working in this area for a long time, espessially in the context of developing equation solvers for practical large-scale problems in structural analysis, geomechanics and CFD.

Best regards


Sergei Chernyshenko March 1, 1999 06:54

Re: Iterative equation solvers in CFD
 
>You can contact me regarding ILU if you want.

Thank you. At the moment I am busy with coding. May be later.

W b/w, Sergei

Gassan Abdoulaev March 1, 1999 07:30

Re: Iterative equation solvers in CFD
 
(1) Agree! Opennes to innovations is very important.

(2) There are many cases when a geometry is given and one has nothing to do with a design: e.g. simulation of blood flow in a heart and arteries. So a CFD engineer is forsed to use something more complex then a cartesian grid.

(3) The aim of CFD simulation is not always reducing the drag. And aero/fluid dynamics is not always the most important consideration. An architect would be interested to know an air flow around a building to be constructed, but I'm not sure he would change the design significantly to reduce the drag.

(4) Fixed Cartesian grids are not appropriate for moving boundaries (heart and heart valves). And CFD simulation is implemented when it's impossible to make an adequate test. With unlimited memory and CPU speed there is no point to discuss - take any mesh, make it as fine as you want (ten billion nodes is okey?) and use Gauss elimination procedure from LINPACK. We would be unemployed then. The point is, that we ARE limited, though the limits are increasing constantly. 2D problems will not be a constrain. What is of interest - it's 3D. How about 1000x1000x1000 grid? 4 giga RAM per variable.... For incompressible NSE you need 16 giga at least.

(5) The well known effect for the incompressible NSE is that using a mesh not fine enough, you can loose some details of a flow pattern (recirculation zones), which can be important. You don't know in advance the location of those details. If your grid is not fine, where is required, you will not see those details. The flow computed on the coarse mesh would behave itself as if there is nothing. The only ways are to use a fine mesh everywhere, or local mesh refinement based on aposteriori error estimates.

(6) First, flow pattern can be very complex, so the mesh would not be able to capture every detail, so there will always be a mismatch between the mesh orientation and the flow. Second, a moving mesh means recomputing of all the matrices at every time step, which can be quite a burden. It's reasonable for moving boundaries, but not for fixed geometry.

(7) And finally, I don't want to say, that Cartesian meshes are not good. They are, but for a certain class of problems, which , unfortunately, is not wide enough to cover all applications. I think that complex problems require sofisticated solution methods.

Best regards!

John C. Chien March 1, 1999 09:58

Re: Iterative equation solvers in CFD
 
I think, everything you are saying is true, but there are exceptions. (1). Civil engineers ignoring the drag of the bridge design will run into the same problem as the "Tacoma narrow bridge" which took the master like Von Karman to show the fluid dynamics aspect of the design. The drag reduction design also has been incorporate into some tall chiminy. (2). When you look at the computer monitor, the coordinates is Cartesian and the unit is in piexl. At about 1000x1000 resolution, the curve, the objects are relatively smooth. As for the computer memory, 6 giga hard disk is very common nowadays, some programs automatically use the hard disk as memory device. In the mini-computer days, the same idea was used and it is limited by the hard disk memory available, there is no need for the programmer to do anything except to specify the dimension in his Fortran program. The system automatically takes care of the memory needed. I think, commercial structure codes have been doing this for a long time. So, memory is really almost unlimited. (3). The high density Cartesian mesh approach is really the simplest and the most accurate way to handle CFD problems, fixed or moving boundary. When one starts using other systems with coarse meshes in some part of the domain, there is always uncertainty of missing the details of the flow motion. (4). As for the unemployment issue, 2-D and 3-D grid generation was ideal PhD idssertation topics back in 70's and 80's. Unfortunately, with todays unstructured commercial codes everywhere, CFD codes can now be used by an average engineer, without any knowledge about the CFD, fluid dynamics, aerodynamics or heat transfer, as long as he is familiar with the use of a mesh generation code. The use of the solver is really nothing but making some selections from the menu. (5). When you realize that a CFD problem can be solved by using a commercial code and an average engineer, the market of a real CFD engineer is already gone. I don't think that there are companies still investing in CFD research at all. Based on what I have seen recently, they are cutting the cost and just running the codes. (6). This is why I predicted that in the year 2000, there will be wars in CFD. Computers will be powerful enough so that real CFD engineers will be able to come up powerful codes to defeat large companies, nations as well.

Vitaly Bulgakov March 1, 1999 11:11

Re: Iterative equation solvers in CFD
 
>The system automatically takes care of the memory needed. I think, commercial structure codes have been doing this for a long time. So, memory is really almost unlimited.

Yes, but time is very limited. Disk memory is still very slow and swapping, you are talking about, is very slow. Now, if we imagine that we have unlimited RAM, then it is also slow. The most of computer architectures are cash-based. Only cash is fast, but cash memory is expensive and limited. Let us say, everything is in cash (cash is large). Still the speed is limited against this devil 3D asymptotic.

Regards


All times are GMT -4. The time now is 12:39.