
[Sponsors] 
July 4, 2008, 09:04 
Hi foamers,
I'm studying a

#1 
Member
Leonardo Nettis
Join Date: Mar 2009
Posts: 72
Rep Power: 12 
Hi foamers,
I'm studying a transonic flow (Ma=0.75 Re=6.0e6) around a 2D rae2822 airfoil. Since the best strategy, from what I know, consist in reaching gradually the design Ma, then I used the following strategy: Ma 0.1 >> SimpleFoam Ma 0.3 >> SimpleFoam Ma 0.5 >> RhoSimpleFoam Ma 0.75>> RhoSimpleFoam (eventually RhoTurbFoam) The computational domain consist in a simple square box, with the airfoil in the middle (see the picture below). The boundary condition in the simpleFoam case are the following: inlet: InletVelocity (U,k,epsilon,T>>fixed; p>>0grad) outlet: PressureOutlet (U,k,epsilon,T>>0grad; p>>fixed) Therefore up to Ma=0.3 the result obtained with these BC are acceptable. When I change the solver, in order to solve a compressible steadystate flow (i.e. rhoSimpleFoam) with the same BC I do not reach the convergence. I think the problem is linked with the pressure boundary condition on the outlet. Therefore I change this boundary in a extrapolated outlet (also p 0grad). Nevertheless the results are not encouraging as shown in the picture below: Moreover this the log file for the last iterations: Time = 310 DILUPBiCG: Solving for Ux, Initial residual = 0.0026651, Final residual = 3.0016e07, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.0124881, Final residual = 1.21765e06, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00670324, Final residual = 7.27205e07, No Iterations 1 GAMG: Solving for p, Initial residual = 0.938192, Final residual = 9.9076e06, No Iterations 445 GAMG: Solving for p, Initial residual = 0.0347396, Final residual = 9.98619e06, No Iterations 207 GAMG: Solving for p, Initial residual = 0.00952545, Final residual = 9.85373e06, No Iterations 160 time step continuity errors : sum local = 4.04139e05, global = 8.60266e10, cumulative = 1.41743e07 bounding p, min: 2395.45 max: 240228 average: 33802.6 rho max/min : 0.906574 0.114756 DILUPBiCG: Solving for epsilon, Initial residual = 0.00498808, Final residual = 1.94022e06, No Iterations 1 DILUPBiCG: Solving for k, Initial residual = 0.00329573, Final residual = 1.69694e06, No Iterations 1 ExecutionTime = 5058.19 s ClockTime = 29284 s Time = 311 DILUPBiCG: Solving for Ux, Initial residual = 0.00274327, Final residual = 2.26323e07, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.0123386, Final residual = 9.39338e07, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00680014, Final residual = 8.97438e07, No Iterations 1 GAMG: Solving for p, Initial residual = 0.936856, Final residual = 9.44224e06, No Iterations 464 GAMG: Solving for p, Initial residual = 0.0338914, Final residual = 9.9091e06, No Iterations 217 GAMG: Solving for p, Initial residual = 0.0094568, Final residual = 9.91556e06, No Iterations 168 time step continuity errors : sum local = 4.0787e05, global = 2.10578e09, cumulative = 1.39637e07 bounding p, min: 2145.79 max: 244022 average: 36754 rho max/min : 0.925731 0.116199 DILUPBiCG: Solving for epsilon, Initial residual = 0.00498234, Final residual = 1.54389e06, No Iterations 1 DILUPBiCG: Solving for k, Initial residual = 0.00330446, Final residual = 1.52035e06, No Iterations 1 ExecutionTime = 5072.82 s ClockTime = 29381 s Time = 312 DILUPBiCG: Solving for Ux, Initial residual = 0.00280222, Final residual = 3.42821e07, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.0121609, Final residual = 1.02582e06, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.00684187, Final residual = 8.18235e07, No Iterations 1 GAMG: Solving for p, Initial residual = 0.936727, Final residual = 9.83742e06, No Iterations 447 1 additional process aborted (not shown) Finally I've tried to use rhoTurbFoam as well, but it seems that also this transient solver doesn't reach the convergence. In this case the "bounding" message concerns epsilon, but I think that the reason is still linked to the pressure behaviour. Therefore what can I do to manage this issue??? thank you very much in advance. dino 

July 4, 2008, 09:06 
ps: I forgot to specify that t

#2 
Member
Leonardo Nettis
Join Date: Mar 2009
Posts: 72
Rep Power: 12 
ps: I forgot to specify that the pressure I imposed, found in the literature, is:
43765 Pa. dino 

July 4, 2008, 10:19 
Have you tried using RhoSimple

#3 
Senior Member
Anonymous
Join Date: Mar 2009
Posts: 110
Rep Power: 12 
Have you tried using RhoSimpleFoam from fresh, rather than using the solution file from another case? The addition of shocks to the domain can cause a lot of problems, especially if your mesh isn't fine enough where the shock appears (discontinuities, etc.).


July 4, 2008, 14:56 
Dear Adriano,
thanks for yo

#4 
Member
Leonardo Nettis
Join Date: Mar 2009
Posts: 72
Rep Power: 12 
Dear Adriano,
thanks for your fast replay!!! Actually I forgot to include the velocity picture in my previous post. Anyway, the solution imported from the simpleFoam case does not contain any shocks. The max velocity (given the freestream one equal to 100 m/s) is 125 m/s. Moreover the mesh is very fine, so that I can solve the boundary layer without wall functions! Therefore I think that it is a numerical problem that concerns the pressure solution, as you can see from the huge amount of iterations for the pressure compared with the other parameter. So what do you think about?? thanks dino 

July 4, 2008, 15:21 
Hi Dino,
Sorry for the not

#5 
Senior Member
Anonymous
Join Date: Mar 2009
Posts: 110
Rep Power: 12 
Hi Dino,
Sorry for the not so fast reply this time. Had a busy day! I noticed your problems with the GAMG solver. Could you try running the grid with the flow initiliased to M=0.75 from fresh, as I suggested before? I've always found running aerodynamic parts at transonic and higher speeds sensitive to initial conditions. Something else about your case setup. You are using a velocity inlet, but running a compressible solver. I didn't think this was possible, because you now solve for denisty. I believed only Freestream boundaries (since you apply a Mach number condition rather than a velocity) or mass flow inlet (mdot = rho*A*U) could be applied. Maybe this is your problem? Could you try changing your velocity inlet to a mass flow inlet and see how it goes? Next, I'd try the freestream boundary. Let me know how you get on. 

July 4, 2008, 16:24 
just a little question before

#6 
Member
Leonardo Nettis
Join Date: Mar 2009
Posts: 72
Rep Power: 12 
just a little question before I try your suggestions.....I can't find the mass flow inlet bc?!?
Anyway, I've a theoretical question as well.... since I'm new in the CFD field, I sincerely do not understand why an inlet velocity should give problems in compressible flow analysis! Moreover i've tried the freestream condition (inletOutlet for the velocity)in my past trials, but also in that case I had to specify the velocity and not the Mach num. Thank you very much for you patience!! dino 

July 4, 2008, 21:59 
Hey,
Im relatively new to o

#7 
New Member
Ryan Middleton
Join Date: Mar 2009
Posts: 17
Rep Power: 12 
Hey,
Im relatively new to openFoam as well, but Ive done a few courses in aerodynamics. Not sure about the boundary condition (maybe one of the sonic tutes will have something), but in compressible flows, it is common to use the fact that the mass flow rate is constant throughout the flow field (especially if the flow is choked). Setting the velocity as constant at the inlet may cause some problems. This is because the flow field can 'adjust' itself to ensure that M=1 occurs only at the minimum area in the field (which would be the thickest point on the airfoil). This can mean the velocity at the inlet is forced to change, but the mass flow rate will remain constant. Saying that, I have achieved good results using rhoSimpleFoam (only at M=0.45) using a velocity inlet. However, with your higher Ma number, I would recommmend the mass flow inlet. I have had no need to initialise my flow field with an incompressible solver either. I have found the major hurdle to getting good results is the mesh quality. Hope this helps. Ryan 

July 5, 2008, 16:46 
Mass flow inlet bc.. try this:

#8 
Senior Member
Anonymous
Join Date: Mar 2009
Posts: 110
Rep Power: 12 
Mass flow inlet bc.. try this:
inlet { type massFlowRateInletVelocity massFlowRate <yourvalue> // mdot in kg/s } The mass flow inlet/freestream boundary conditions are required since density is being solved for (no longer constant). With freestream boundary you fixed a Mach number which is dependent on density, as is the mass flow inlet. What Ryan described seems fairly spot on. As he suggested, try to run RhoSimpleFoam without initialising to a previous solution. Initialise to M=0.75 and see how it goes. A fine mesh around and in the shock(s) is important for good results, but for 2D you should be able to get away with a mesh with less than 100k cells. Good luck! 

July 6, 2008, 06:45 
Hi Leonard,
you cannot use

#9 
Member
Luca M.
Join Date: Mar 2009
Location: Luzern, Switzerland
Posts: 59
Rep Power: 12 
Hi Leonard,
you cannot use rhoSimplFoam for transonic flows. The problem is not the boundary conditions setup but the algorithm itself of the solver. In the original rhoSimpleFoam the pressure equation has elliptic behaviour not suitable for transonic and supersonic flows in which you need hyperboliclike pressure equation. I suggest you to use rhoTurbFoam with the transSonic options or to modify by yourself the rhoTurbFoam solver Enjoy Luca 

October 21, 2009, 13:02 

#10 
New Member
Nat Trask
Join Date: Mar 2009
Location: Providence, RI
Posts: 18
Rep Power: 12 
What is it specifically about the rhoSimpleFoam algorithm that makes it unsuitable for transonic flows? Is it just the implicit treatment of the flux term in the pressure equation
i.e. fvScalarMatrix pEqn ( fvm::ddt(psi, p) + fvm::div(phid, p)  fvm::laplacian(rho*rUA, p) ); instead of fvScalarMatrix pEqn ( fvm::ddt(psi, p) + fvc::div(phi)  fvm::laplacian(rho*rUA, p) ); or is there something more subtle? Nat 

September 13, 2018, 11:22 

#11  
New Member
Thomas M
Join Date: Aug 2018
Posts: 13
Rep Power: 3 
Note:
Quote:
Its Code:
inlet { type flowRateInletVelocity; massFlowRate constant 0.1; rhoInlet 1; // estimate for initial rho } 

Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Problems at transonic flow  Mario  FLUENT  0  September 26, 2005 06:27 
TRANSONIC FLOW?  manish mehta  Main CFD Forum  1  March 24, 2005 15:03 
transonic flow within rounded TE  Froidevaux  CFX  11  June 15, 2001 03:57 
StarCD for transonic flow  John McArthur  Siemens  2  April 26, 2001 10:36 
Exp. data for transonic flow  J. Held  Main CFD Forum  4  April 1, 1999 23:21 