|
[Sponsors] |
August 4, 2014, 21:10 |
Roe scheme and kw model
|
#1 |
Senior Member
Joachim
Join Date: Mar 2012
Location: Paris, France
Posts: 145
Rep Power: 15 |
Hey everyone!
I am having some issues implementing the Roe scheme in my code. I already have a working RANS solver (2D, compressible, finite volume) based on central differences, and I would like to move to the Roe scheme for the convective fluxes. Everything works just fine for both laminar flow and SA model, but I am having issues with the k-w SST model. As always, the BC is giving me some troubles! The dissipation term is too large at the wall because of the extreme omega value. What do people typically do to solve that problem? I am using a first order MUSCL interpolation for the turbulent quantities and second order upwind biased for the others. This is what CFL3D, FUN3D, etc are doing and they are getting really good results. It seems that my dissipation is higher than it should be in the boundary layer, crushing my TKE. Eventually, I obtain results qualitatively similar to those published on the NASA website (I am doing the flat plate test case), but my eddy viscosity is too small (my skin friction is somewhere between laminar and turbulent). If I use finer grids, the results are better, but still not great! Any advice would be greatly appreciated! Thanks you! Joachim |
|
August 7, 2014, 06:18 |
|
#2 |
Senior Member
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 27 |
Hi Joachim, I am not an expert for that, but as far as I know the wall cells are not actually calculated but skipped in the solving. They are instead artificially overwritten by some fixed value, so they don't use real "boundary conditions" but just "boundary cell conditions".
Do you think that could be the reason? If so, I can post some papers where you can find the exact way.
__________________
The skeleton ran out of shampoo in the shower. |
|
August 7, 2014, 11:18 |
|
#3 |
Senior Member
Joachim
Join Date: Mar 2012
Location: Paris, France
Posts: 145
Rep Power: 15 |
Hey,
Thank you for your help! Actually, I just found out what was wrong. I was using a value suggested by Blazek for Harten's entropy correction. The later worked just fine for my previous problems, but appeared to be too large for this one. My Roe matrix was completely messed up because of that! Everything works just fine now! Thank you for your help, Joachim |
|
July 3, 2017, 01:17 |
Roe scheme and kw model
|
#4 |
New Member
Rishikesh Ranade
Join Date: Sep 2015
Posts: 5
Rep Power: 11 |
Hi Joachim,
I am trying to code the k-w model with a roe flux differencing for my convective fluxes. It seems that you have that working. I wanted to know how you formulated the roe fluxes for k and omega? Can you refer me to some paper or help me out with that piece of code? Any help is appreciated. Thank You. Rishikesh Ranade |
|
July 3, 2017, 08:57 |
|
#5 |
Senior Member
Joachim
Join Date: Mar 2012
Location: Paris, France
Posts: 145
Rep Power: 15 |
Hi Rishikesh,
It's been a while, but here are two references I used at the time. 1. If you couple the turbulent equations with the main system: J. Morrison, "Flux Difference Split Scheme for Turbulent Transport Equations", 2nd International Aerospace Planes Conference, AIAA-90-5251, 29-31 October 1990, Orlando, FL. E. Bigarella & J. Azevedo, "A Unified Implicit CFD Approach for Turbulent-Flow Aerospace-Configuration Simulations", 47th AIAA Aerospace Sciences Meeting, AIAA-2009-1473, 5-8 January 2009, Orlando, FL. 2. If you decide to uncouple the turbulent equations, you can find some info in Wilcox, D.C. Wilcox, "Turbulence modeling for CFD", La Canada, CA: DCW industries, 1998. --> chapter 7: Numerical Considerations. I initially implemented the fully coupled version but eventually switched to the uncoupled algorithm as I did not loose much in convergence, and it made the implementation of new models a whole lot easier. Good luck, Joachim |
|
July 3, 2017, 10:12 |
|
#6 | |
New Member
Rishikesh Ranade
Join Date: Sep 2015
Posts: 5
Rep Power: 11 |
Quote:
Thanks for the prompt reply. I will take a look at those papers. I have a follow up question if you don't mind. What do you mean by solving them uncoupled? Does it mean using a different scheme? If so, do you remember what scheme you used for k and omega? Thanks a lot. Regards, Rishikesh Sent from my iPhone using CFD Online Forum mobile app |
||
July 3, 2017, 10:23 |
|
#7 |
Senior Member
Joachim
Join Date: Mar 2012
Location: Paris, France
Posts: 145
Rep Power: 15 |
Are you writing an explicit or an implicit code? If you are writing an implicit code, you can decide whether you want to couple your equations or not.
For example, pressure-based solvers have usually been written in a segregated manner (not necessary though). People solve first the momentum equations, then a pressure equation and finally the energy equation (for segregated compressible). If you want, you can couple these equations so that they are solved at the same time. This can improve convergence/robustness significantly, but you also have to pay a pretty high memory cost. Your solver might converge in 50 iterations instead of 2000, but each iteration will be more costly. For a coupled density-based solver, you have to solve a large linear system, where each element of your matrix is itself a 5x5 matrix (for the main flow equations). The point I was making earlier is that in this case, you can either solve one large system with 7x7 equations (includes the tke and omega equations in there), or solve two systems instead (one 5x5 for main flow equations and one 2x2 for k-w). Most people solve the turbulent equations on the side, which makes the implementation of new models much simpler. |
|
July 3, 2017, 10:34 |
|
#8 |
New Member
Rishikesh Ranade
Join Date: Sep 2015
Posts: 5
Rep Power: 11 |
Okay now I get it. I am working on making it implicit but right now I have an explicit code. The eigen decomposition required for Roe, did you derive it or just picked it up from one of the papers you mentioned? Also, while making it implicit, how did you build your Jacobian matrix? Was it analytical or numerical differencing and did you use GMRES to solve the system?
Thanks for all your help. Rishikesh |
|
July 3, 2017, 10:46 |
|
#9 |
Senior Member
Joachim
Join Date: Mar 2012
Location: Paris, France
Posts: 145
Rep Power: 15 |
I personally used an analytical approach, but with some simplifications here and there. You can read more about that in the papers I mentioned earlier.
Regarding the linear solver itself, I guess you have several options. I personally wrote my own LU-SSOR solver. I picked this one because it was relatively easy to write a parallel version with MPI. Thinking about it now, it might have been better to use a more efficient solver straight out of the shelf (PETSc or similar). LU-SSOR worked pretty well though, and was fairly easy to code. The good thing with this algorithm is that you can have a very simple and cheap version if you introduce the approximation of Yoon and Jameson. You can then increase the complexity of your code step by step and end up with a full-matrix version of the code. J. Li and F. Li, "A fully implicit method for steady and unsteady viscous ow simulations", Int. J. Numer. Meth. Fluids 2003; 43:147–163 M. Wright, G. Candler and M. Prampolini, "Data-Parallel Lower-Upper Relaxation Method for the Navier-Stokes Equations", AIAA Journal, Vol. 34, No. 7, My 1996 |
|
July 5, 2017, 20:02 |
|
#10 |
New Member
Rishikesh Ranade
Join Date: Sep 2015
Posts: 5
Rep Power: 11 |
Hey I just wanted to ask if you had access to the paper you mentioned in one of your posts -
J. Morrison, "Flux Difference Split Scheme for Turbulent Transport Equations", 2nd International Aerospace Planes Conference, AIAA-90-5251, 29-31 October 1990, Orlando, FL. My university does not seem to have access of it. I am still struggling with the roe flux eigenvectors with k-omega turbulence model. I am hoping that paper might have some details. Let me know if you have it. Thanks a lot for your help. Regards, Rishikesh |
|
|
|