|
[Sponsors] |
Weiss & Smith Preconditioned Density Based Solver, Algebraic Multigrid, etc. |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 3, 2016, 06:32 |
|
#21 | |
New Member
Karpenko Anton
Join Date: Aug 2009
Location: Saint-Petersburg
Posts: 4
Rep Power: 17 |
Quote:
I do not have experience in the calculation of the implicit scheme. In the explicit schemes without preconditioning I do not get convergence for low speed flows, when with preconditioning i get it. I did not compare improvements the convergence in explicit schemes whit different . Quote:
I also noticed that the Fluent strange working on some simple tasks (for example hypersonic). |
||
December 25, 2017, 22:20 |
implicit density-based in foam-extend 4.0
|
#22 |
New Member
WangYi
Join Date: Dec 2015
Location: Xi'an China
Posts: 7
Rep Power: 11 |
Dear Paolo.
I am trying to develop a implicit density-based solver with time derivative preconditioning method in framework of foam-extend 4.0. But when I use a CFL number beyond 4.0, it diverged. I am not sure the system matrix I used is correct. Could you in convinent to explain how to discrete it in a cell with one or more face is boundary part? Thank you very much |
|
December 27, 2017, 08:05 |
|
#23 | |
Senior Member
|
Quote:
first of all I want to stress that I am a practitioner more than an expert with a specific study in the field. So, take everything with a grain of salt. In my code I have two kinds of boundaries, body fitted solid ones (walls and symmetry) and non solid ones (body fitted open boundaries and immersed solid boundaries). The way I treat non solid boundaries is via ghost cells or sort of, in the sense that I apply there the convective scheme as if they were internal boundaries. This means that the implicit part comes from the convective scheme, but I simply add its matrix to the internal cell row-column, as the ghost cell is just fictitious for me (just some space in the variables array where I conveniently store what I need to apply bcs straightforwardly). On body fitted solid boundaries I directly build the fluxes and apply them. However, for the convective part, I add (still, only to the adjacent fluid cell row-column) the jacobian of the flux to the implicit part, as I am solving in primitive variables. For the diffusive fluxes I simply use the TSL approximation for the implicit part. What changes on the boundary, thus, is just the length at the denominator (and, again, the fact that I only add the implicit part to the row-column relative to the adjacent fluid cell). In addition to this, note that on the boundary I don't even care about the exact scaling of these terms (even if, in the future, I will certainly do it). Thus, for example, the jacobian I add for the convective part on body fitted solid boundaries is the same I use for internal faces (so it has a wrong 2 factor in it). In practice, except for the dissipation of the convective scheme (which is only added congruently), my implicit part on the boundary is identical to that in the interior, using for the geometric part a fictitious cell on the other side of the boundary that doesn't actually exist. In some cases I get the exact jacobian, in some others not. But for the second order scheme that wouldn't be exact in any case, so I don't care that much (yet). When using this approach I can reach a CFL as high as 1E6. Obviously, that's not always possible, and there are cases which need to run on much lower values. The range 10-100 is more typical of practical cases. Very few ones need to start (or pass trough) a 5 (default value in Fluent), but when I need to go below that, that's typically the signal for other problems. In case it might help, I want to also add how I solved some of the issues I raised in my original question at the beginning of this thread. First of all, I finally switched to a second order scheme that, given the gradient extrapolated values on the faces for p and T, would then compute with them all the other fields (instead of independently extrapolating density and enthalpy with their own gradients). Shock tube tests confirmed that this is the way to go (especially for near vacuum cases). This complicates the handling of terms that typically end up into the pressure (e.g., gravity potential) or enthalpy (e.g., gravity potential energy and turb. kinetic energy), but it is definitely the way to go. For what concerns the pressure in the preconditioning velocity. I tried computing it in the classical way suggested in some papers (with loops on faces and using max over neighbors), but that produced worst results and code with respect to my original approach based on the pressure gradient already available. In the Darmofal paper, cited in the first post, are also presented two scalings of the preconditioning velocity (you first compute it classically, then scale it with a function of M). One is that also used in Fluent; the other one is an original proposal from Darmofal. I finally found that the Darmofal proposal is better in my case. It is less aggressive of the Fluent one, but much better than the unscaled case over a large M range (but reduces to that for M = 0). The key here seems to be uniformity. My convective scheme still uses a Roe average of the adjacent preconditioning velocities, but on boundaries now I revert to the max between the one in the adjacent fluid cell and the hypothetical one arising on the face for its current values of the variables. Another aspect I underestimated is the unsteady preconditioning, which needs consideration if you go unsteady. There aresome paper around describing how they solved it in OVERFLOW. |
||
December 28, 2017, 02:23 |
|
#24 |
New Member
WangYi
Join Date: Dec 2015
Location: Xi'an China
Posts: 7
Rep Power: 11 |
Dear Paolo,
Thanks to your quick reply and sorry for my poor English. From your explaination, the diagonal part maybe wrong in my system matrix, as the boundary contribution is not added. I'm only dealing with Euler equation, so the diffusive fluxes are not noted. The second order scheme comes with the same way as you describe. I have not read the Darmofal paper you mensioned, and I will read it later. Thank you very much! |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Pressure based and Density based Solver | Xobile | Main CFD Forum | 39 | August 19, 2020 07:04 |
"Solid" in density based solver | songpen1985 | Fluent Multiphase | 0 | July 2, 2015 05:52 |
algebraic multigrid vs geometric multigrid | Anna Tian | Main CFD Forum | 5 | June 18, 2013 06:03 |
Strange residuals of the Density Based Solver | Pat84 | FLUENT | 0 | October 22, 2012 16:59 |
MIGAL- coupled algebraic multigrid solver? | George Bergantz | Main CFD Forum | 0 | December 1, 2000 02:39 |