CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Solver Equations (

Carola August 8, 2003 11:54

Solver Equations
Hi Guys!, I would like to Know how CFX-5.5.1 solve their hydrodynamics equations. I've been reading something about "Cuopled Solver" but I donīt get it!!.

Take Care,


Robin August 9, 2003 11:43

Re: Solver Equations
Hi Carola,

The hydrodynamic equations are a coupled set of differential equations representing, in three dimensions, the 3 momentum equations, U, V, W, and a mass continuity equation which is written in terms of Pressure (hence P-mass).

They are a coupled set because the dependant variable in each equation appears as an independant variable in all of the others. The relative influence one variable has on the others will be dependant on the flow. In a one dimensional flow moving in the X direction, the influence of the V and W terms on the U equation may be very small. However, most flows of engineering interest are highly three dimensional and the coupling terms are significant. This is particularly true of rotating frames, where a source term representing the coriolis force may be dependant on all three variables.

Segregated solution method The simplest way to solve the coupled equation set is to solve them in a segregated manner. This is the approach adopted by CFX-4. Starting with the existing solution or an initial guess at the flowfield, you solve each equation sequentially. First the U equation, then V, then W and finally a mass flow correction with the P equation. After each "segregated" solution, the flowfield is updated for the next equation set. So after solving the U equation, the V equation gets a new value for U, which is usually a combination of the old value with the new value (relaxation). After performing a full sweep of the equation set, you have to return to the first equation again because it knows nothing about the solution to the other equations.

If the inter-equation coupling is very strong, which it usually is, segregated solution methods have difficulty converging on a final solution.

Coupled solution method A better approach is to solve for the entire set of hydrodynamic equations simultanously. This is the approach adopted for CFX-TASCflow and CFX-5. Instead of solving each equation in turn, a coupled solver assembles one big matrix for the entire set of hydrodynamic equations and solves them simultanously. This has the advantage that all the equations are advanced together in time, and because it is fully implicit, there are no restrictions on the size of the timestep. The only drawback to a coupled solver is that it is harder to write one (the developers problem, not yours :) and it requires more memory.

A coupled solver on its own, however, is not enough. What makes the CFX-5 and CFX-TASCflow solvers so powerful is the Coupled-Multigrid combination. Without going into too much detail, multigridding means that the solver does additional sweeps on coarser grids within each timestep. A first sweep is done on the finest grid, then control volumes are agglomorated (added together) in the direction of largest coefficients (usually the direction of the flow) to create larger control volumes. Since the equations are strongly conservative, adding contol volumes together results in the cancellation of coefficents at common faces (what goes in one side must come out the other) and what is left are the face coefficents around the larger control volume and the sum of the source terms. An error correction is solved on each of the coarser grids and passed back up to the finer grids to improve the solution. The solver will generally reduce any size problem to less than 100 control volumes at the finest level, where a direct solver can be used. By employing multigrid in this manner, the solution is propegated very quickly through the entire solution domain and conservation is acheived very quickly.

There is a very good paper on this by Dr. Michael Raw. I don't have the reference here right now, but I'll try and post it for you later. If you have a community site password, you could also download the CFX-TASCflow theory documentation, it reads like a textbook on CFD and describes the solver in more detail.

Lastly, the coupled solver is used for more than the hydrodynamic equations. Chemical reactions also have very strong inter-equation coupling and benefit from the coupled-multigrid method. Furthermore, when solving a multiphase problem (which involves momentum equations for each phase), all phases are solved simultanously.

Best regards, Robin

Glenn Horrocks August 10, 2003 18:42

Re: Solver Equations
Hi Robin,

Thanks for the excellent summary of the nuts and bolts. Can I ask a few additional questions?

1) Are multiple domains solved simultaneously, or is each domain solved individually with inter-domain links which get updated each iteration?

2) The U,V,W,P equations are coupled together. When the simulation includes temperature, turbulence, additional variables etc, are those equations solved together with the UVWP equations, or are they solved seperately (ie additional variables are uncoupled)?

Regards, Glenn

Robin August 11, 2003 10:38

Re: Solver Equations
Hi Glenn,

1) Multiple domains are solved simultanously. General Grid Interfaces (GGI) are fully coupled and active. At a GGI, conservative fluxes are mapped across overlapping sub-faces, as opposed to simply interpolating nodal values. A GGI interface is therefore fully conservative (conservation is not an option, or afterthought).

2) The mass and momentum equations are strongly coupled, therefor U-mom, V-mom, W-mom, and P-Mass are always solved fully coupled. The energy equation (T for Thermal Energy or H for Total Energy) is not as strongly coupled and is therefore solved segregated from the others. Turbulence is dominated by source terms, and also would not benefit from coupling, and additional variables are also solved segregated. In theory, you could couple everything, but performance gains are only to be had where the inter-equation coupling is stong, such as it is with U, V, W, P and reactions.

Regards, Robin

Carola August 11, 2003 14:06

Re: Solver Equations
Hi Robin, Thank you so much!!!!!!. I donīt want to be annoying but I have another question to you: Could you please explain me how cfx-5.5.1 solve the equations of "Eddy dissipation Model" (combustion)?. Iīve been searching about combustion models but I just found two or three basic equations which are not enough to my boss. Besides, I'm designing a combustion chamber so I want to know what is the best combustion model in CFX-5.5.1 (advantages, disadvantages).

Thanks in advance!


Robin August 11, 2003 16:58

Re: Solver Equations
Hi Carola,

Unfortunately I am not very knowledgable in this area. Although I am sure there are other on the forum who are, a detailed discussion of the EDM model is probably more than most are prepared to commit to on a forum.

If you interested in the details of it's implementation in CFX-5 and the existing documentation is insufficient, I suggest contacting Technical Support. As for the model itself, best to look it up in the literature.

Regards, Robin

Paul August 11, 2003 17:38

One more question to Robin
Hi, Robin I am still not 100 percent sure what is going on in multiple domains. if they are solved simultanously, how the inlet conditions pass through these domains and how flow variables are passed on the domain interfaces? is it possible that the the current domain is solved one iteration or time step lagged behind the previous domain?

Robin August 11, 2003 22:29

Re: One more question to Robin
Hi Paul,

I see what you are getting at. You have a set of linear equations, so how can you solve them all at once? When we say "solved simultaneously" we mean that there is one set of linearized equations solved simultaneously at 1 timestep.

Since the coefficients are non-linear, the equations must be updated after each timestep. Consider the flux of U momentum through a face. The flux is equal to the mass flow times the U velocity component. Since mass flow is equal to the U velocity times density you get:

flux = U * rho * U

You can only solve for one of those U's at a time, so the existing solution is used to get the mass flow (mass flow would be the coefficient in this case) and we solve for U. Now that you have the new value of U, you can update the mass flow and solve again. This update is done from one timestep to the next.

At an interface, the coefficients are calculated based on the existing solution on either side of the interface, rather than interpolating values onto nodes and assebling the equations from those.

Does this clarify it a bit? If not, I suggest taking a course on CFD or reading a decent textbook before I end up typing one up on CFD-Online :)

Best regards, Robin

Paul August 11, 2003 22:37

Re: One more question to Robin
I got it. Thanks. Robin

Carola August 12, 2003 08:27

Help me Robin
One more time Robin!, I got a couple of questions to you: 1)What do you mean when you say:"... An error correction is solved on each of the coarser grids and passed back up to the finer grids to improve the solution..", I understood like with every iteration the error is reduced until it reach the tolerance value..., Iīm wrong?.Where this error correction come from?.

2)What is the diference between time step and iteration?.

Sorry if I made a lot of stupid questions but I finally found someone who can explain to me this kind of things in a very simple way !

Take Care,


All times are GMT -4. The time now is 07:58.