CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   Car Aerodynamics (https://www.cfd-online.com/Forums/fluent/199694-car-aerodynamics.html)

ody93 March 13, 2018 05:22

Car Aerodynamics
 
Hi all! I am new to cfd and i have some issues with a university project i am working on for the past few months. I hope you could help me cause i am desperate, specially with my deadlines :(

The car geometry is very close to a real one so it has lot of surfaces and is highly complicated. I imported it as a solid body in Design Modeler (STEP file). I made an enclosure which is the flow domain and a boolean operation in order to substract the car body. I kept the half of the car. Then i made 3 volumes, one at the wake of the car, one at the underbody and one as a car box in order to make some volumetric meshes.

Here i have to mention that the car dimensions are 3101.5x1355.56x1227.7mm (Length x Width x Height) so the air domain is quite large. (40319x5329x10583)

Mesh
Size Function: Proximity and Curvature
Relevance Center: Fine
Initial Size Seed: Active Assembly
Transition: Slow
Span Angle: Fine
Min Size: 2mm
Min Proximity Size: 6.1350mm
Max Face Size: 613.5mm
Max Tet Size: 1227mm
Defeature Size: 1mm (Default)

I inserted 3 body sizings (all with body of influence and proximity and curvature) at each of the three "boxes" i made
Car Box: element size 100mm Local min size: 20mm
Wake Box: element size 15mm Local min size: 10mm
Underbody Box: element size 20mm Local min size: 4mm

and an Inflation method at the car body with the following characteristics:
First Layer Thickness
First Layer Height: 5mm
Max Layers: 5
Growth Rate: 1.2
Algorithm: Pre

At last, my mesh has 1.796.330 nodes and 9.249.126 elements with
orthogonal quality:
min: 0.21627
max: 0.99997
average: 0.87122

and Skewness:
min: 1.1693x10e-4
max: 0.90345
average: 0.21221

From what i have read, this is a very finite mesh and it also has 5 layers around the car for the boundary layer separation and in order to accurately obtain lift and drag.

For the Setup i used:
pressure based solver with steady time
the realizable k-e model with non equilibrium wall functions
materials: air (default fluent values) with velocity 27 m/s (100km/h) at -X direction
Boundary Conditions set as symmetry at the symmetry plane XY, car body and ground are stationary walls with no slip, velocity inlet has turbulent intensity 1% and viscosity ratio 10 and pressure outlet turbulent intensity 5% and viscosity ratio 10.

Reference values are computed from inlet and the frontal area is 0.6703165

The initialize was Hybrid. The Courant Number was set at 50.
I made the first 100 iterations with Coupled Scheme, Standard Pressure, First Order Upwind for Momentum, turbulent kinetic energy and dissipation rate and turbulent viscosity at 0.8. Then I made the next 500 iterations with the last 3 set at Second Order Upwind and turbulent viscosity at 0.95.

The solver was also set at double precision and 6 parallel processes.
The PC has:
CPU: Intel i7 7800X @ 4GHz (6 cores)
RAM: 32 GB (4x8)
SSD: 500gb (M2 type so speeds are very high)

The result was that after 600 iterations no convergence was reached. The residuals were at a steady number with small fluctuations (+/-). The Drag and specially the lift coefficients the same behavior. They didn't even managed to have a convergence at 2nd decimal.

Please help, i don't even know from where to start. I have read so much in internet that i am confused. Should i drop the number of elements? Make smaller cells at wake, underbody and car box? Test another model (and which one?) or just hope that they will converge at much more iterations? (which i think doesn't seem to happen)

Thank you all! (and sorry for the extended post)

Gert-Jan March 13, 2018 08:37

You are trying to perfrom a task where a whole team of specialists at a car company can work on for quite some time using a super computer.
So, in that respect, it sounds you have already come quite far. Respect!

Nevertheless:
- what do you expect?
- what does your supervisor expect?
- what question do you want to answer using CFD?

Btw, the flow will be transient, so don't expect 'deep' convergence. If you want more steady results, use larger elements (why not start with that?). The smaller the elements, the finer structures you may find, leading to more instabilities and worse convergence.

Additional advice:
- use coupled scheme with presudo transient timestepping, time step 1.0, or little less.
- convert the mesh to polyhedral.

ody93 March 13, 2018 10:21

The project is on finding the consequences of rain (two-phase flow) at a everyday car (i have a fiat punto of '96) in different speeds and rain densities. But now i am afar from that.

I am trying to run successfully the 1st test. The 2 basic things i monitor and i will compare among all tests are Lift and Drag.

To answer you, my author doesn't have the time to offer much help (i am a little bit alone in this).

Thanks for the advice.

1. Polyhedral mesh for the whole flow domain and just an inflation around the car body?
2. I haven't clearly understand the way that y+ works. What y+ do i need if I use a k-e model? Is it a high-Re model so I need a y+ between 30 and 300?

The problem is that there are sooo many factors which are playing some role that I don't know from where to start...

Gert-Jan March 13, 2018 10:34

- Y+ between 30 and 300 is ok for k-e.
- You could opt for SST with curvature correction since it is valid for a much wider span of Y+ values, but it is also a bit more unstable.
- How can get a project like this without any guidance?
Maybe we all should quit with CFD-online so the teachers/authors have to do their work again.

ody93 March 13, 2018 10:48

Ok. I will start with this. But one last thing.
If I go with an SST model which I think is a low-Re model, then I have to use a y+ value below 11?

Gert-Jan March 13, 2018 10:52

No any Y + will do as long as it is not above 300.

ody93 April 13, 2018 13:32

I have tried many things and still nothing works.
1st problem: "cx1800 has stopped working" it appears this message not at the same point each time. Usually somewhere between 400 and 1100 iterations (the max I have reached)

2nd problem: Residuals don't fall. After a small drop, they tend to become very steady. They almost have a constant price. Can this be a converged solution sometimes? As far as I know, the residuals have to drop under 10e-4/-5/-6 etc.

I will write EVERYTHING I have done and I hope someone can give some help.

Geometry
Car with: L=3.1m H=1.23m W=1.35m

Air flow domain (wind tunnel) has:
3 car lengths from the front of the car
5 from the rear
2 from top
1 from side
*Car has a distance of 50mm from the ground
Overall dimensions: 27901x7477.7x3777.8 mm

Air is at 20 Celsius with velocity v=27.78 m/s (=100km/h)

I intend to use a k-e model, probably the realizable with non-equilibrium wall functions. So the values of y+ have to be between 30 and 300.
With Re=5,7*10e6 this gives a first cell height of 0.73mm (for y+ = 50) and 4.4mm for y+ = 300.

3 Criteria for meshing
1) Skewness
2) Orthogonal Quality
3) y+ values

Global Settings
Relevance: 0
Export Format: Large Model Support
Element Midside Notes: Dropped
Size Function: Proximity and Curvature
Relevance Center: Fine
Initial Size Seed: Active Assembly
Transition: Slow
Span Angle Center: Fine
Curvature Normal Angle: 12
Num Cells Across Gap: 3
Min Size: 2mm
Proximity Min Size: 4.25290mm
Max Face Size: 425.290mm
Max Tet Size: 850.870mm
Growth Rate: 1.10
Automatic Mesh Base Defeaturing: ON
Defeature Size: 1mm
Minimum Edge Length: 7.4377*10e-2 mm
Target Skewness: 0.7
Smoothing: High

Inflation on car body with
-First Layer Thickness
-First Layer Height: 0.8mm
-Max Layers: 10 (this gives the last layer at a height of 4.13mm)
-Growth Rate: 1.20
-Inflation Algorith: Pre

I also used 2 boxes for body meshing. One Car Box and one Wake Box.
Both with Body Sizing with the following:
Type: Body of Influence
Element Size: 50mm for car box, 20mm for wake box
Size Function: Proximity and Curvature
Growth Rate: 1.10
Local min Size: 2mm
Proximity min Size: 2mm
Num Cells Across Gap: 3

With the above and some edge sizing I got a mesh of
Nodes: 3530531
Elements: 13304899

Skewness: Average=0.21674 Maximum=0.88162 Minimum=2.2557*10ε-4
Orthogonal Quality: Average=0.88238 Maximum=0.99996 Minimum=0.17611

Joint Solver: Double Precision, 6 Parallel Processes

incompressible flow
Pressure Based, Steady state
Realizable k-e model with NWF
Frontal Area: 0.6703017

Density of Air: ρ=1.2047
Dynamic Viscosity: μ=1.8205*10e-5

Boundary Conditions:
Car Body and Ground are Walls (not moving) with no-slip condition
symmetry, side and top are "symmetry"
Velocity Inlet has Turbulent Intensity at 1% and Viscosity Ratio 5 and velocity magnitude 27.78m/s at -1 X-direction
Pressure Outlet same values with Gauge Pressure zero.

I used the Hybrid Initialization and then I run 100 Iterations with:
Scheme: SIMPLE
Pressure: Standard
Gradient: Least Squares Cell Based
Momentum, Kinetic Energy and Dissipation Rate were set at 1st Order and for the next 500 Iterations at 2nd Order Upwind.
The relaxation factors are the default ones.

I can't spot where is the problem... mesh? lack of computing power? Model? etc... :confused:
If you want any questions, feel free to ask. :)

shereez234 April 15, 2018 17:04

Quote:

Originally Posted by ody93 (Post 688827)
I have tried many things and still nothing works.
1st problem: "cx1800 has stopped working" it appears this message not at the same point each time. Usually somewhere between 400 and 1100 iterations (the max I have reached)

2nd problem: Residuals don't fall. After a small drop, they tend to become very steady. They almost have a constant price. Can this be a converged solution sometimes? As far as I know, the residuals have to drop under 10e-4/-5/-6 etc.

I will write EVERYTHING I have done and I hope someone can give some help.

Geometry
Car with: L=3.1m H=1.23m W=1.35m

Air flow domain (wind tunnel) has:
3 car lengths from the front of the car
5 from the rear
2 from top
1 from side
*Car has a distance of 50mm from the ground
Overall dimensions: 27901x7477.7x3777.8 mm

Air is at 20 Celsius with velocity v=27.78 m/s (=100km/h)

I intend to use a k-e model, probably the realizable with non-equilibrium wall functions. So the values of y+ have to be between 30 and 300.
With Re=5,7*10e6 this gives a first cell height of 0.73mm (for y+ = 50) and 4.4mm for y+ = 300.

3 Criteria for meshing
1) Skewness
2) Orthogonal Quality
3) y+ values

Global Settings
Relevance: 0
Export Format: Large Model Support
Element Midside Notes: Dropped
Size Function: Proximity and Curvature
Relevance Center: Fine
Initial Size Seed: Active Assembly
Transition: Slow
Span Angle Center: Fine
Curvature Normal Angle: 12
Num Cells Across Gap: 3
Min Size: 2mm
Proximity Min Size: 4.25290mm
Max Face Size: 425.290mm
Max Tet Size: 850.870mm
Growth Rate: 1.10
Automatic Mesh Base Defeaturing: ON
Defeature Size: 1mm
Minimum Edge Length: 7.4377*10e-2 mm
Target Skewness: 0.7
Smoothing: High

Inflation on car body with
-First Layer Thickness
-First Layer Height: 0.8mm
-Max Layers: 10 (this gives the last layer at a height of 4.13mm)
-Growth Rate: 1.20
-Inflation Algorith: Pre

I also used 2 boxes for body meshing. One Car Box and one Wake Box.
Both with Body Sizing with the following:
Type: Body of Influence
Element Size: 50mm for car box, 20mm for wake box
Size Function: Proximity and Curvature
Growth Rate: 1.10
Local min Size: 2mm
Proximity min Size: 2mm
Num Cells Across Gap: 3

With the above and some edge sizing I got a mesh of
Nodes: 3530531
Elements: 13304899

Skewness: Average=0.21674 Maximum=0.88162 Minimum=2.2557*10ε-4
Orthogonal Quality: Average=0.88238 Maximum=0.99996 Minimum=0.17611

Joint Solver: Double Precision, 6 Parallel Processes

incompressible flow
Pressure Based, Steady state
Realizable k-e model with NWF
Frontal Area: 0.6703017

Density of Air: ρ=1.2047
Dynamic Viscosity: μ=1.8205*10e-5

Boundary Conditions:
Car Body and Ground are Walls (not moving) with no-slip condition
symmetry, side and top are "symmetry"
Velocity Inlet has Turbulent Intensity at 1% and Viscosity Ratio 5 and velocity magnitude 27.78m/s at -1 X-direction
Pressure Outlet same values with Gauge Pressure zero.

I used the Hybrid Initialization and then I run 100 Iterations with:
Scheme: SIMPLE
Pressure: Standard
Gradient: Least Squares Cell Based
Momentum, Kinetic Energy and Dissipation Rate were set at 1st Order and for the next 500 Iterations at 2nd Order Upwind.
The relaxation factors are the default ones.

I can't spot where is the problem... mesh? lack of computing power? Model? etc... :confused:
If you want any questions, feel free to ask. :)

Hi there; Seems like you are having a difficult time.

First of all, your mesh seems okay. For external Aerodynamics SA and k-Omega SST are more suitable turbulence models. Also note that the residuals will not drop in complex cases below a certain level. In this case convergence of force coefficients can be more helpful. Can you provide a picture/screenshot of your force convergence for lift and drag?


Also, while Y+ < 300 works if there is massively separated flow regions they will not work very well. You might be able to get lift coefficient within 5 percent accuracy but there will be more diffierence in drag coefficient. You can reduce the number of nodes away from the body of interest and decrease Y+ to 5 or less to get better results.



And if you drop your under-relaxation values your solution will be more stable and wont diverge easily.


Don't lose hope, Regards
MS

Gert-Jan April 15, 2018 17:40

- Fluent crashes because of cx1800. Can be anything. If also happens to me quite often for unknwon reasons. Therefore I prefer CFX, which has less of these cryptic errors.
- Did you try to improve your mesh, using the fluent smoother? This might help.
- Forget Double precision. You don't need it in this application. The only effect is that you files become larger and that saving doubles in time.
- Use kw-omega SST.
- Don't expect that Fluent is done in 100 iterations. In some tutorials that is sufficient. But therefore these are tutorials. They are not representative for real life cases.
- I would recommend to start with SIMPLE, but switch to 'Coupled' and 'Pseudo transient timestepping'. Iterations take longer, but this is more stable.

- Don't focus too much on residuals:
You are solving a steady state case. So, in fact you told the fluent solver to go and look for a steady state solution. But the question is if there is a steady state solution. Probably not.
Residuals will only drop if your solution is very stable like in a 2D simulation. So, if you have a instable recirculation zone (massively separation in 3D behind the car), then the solver is not able to find a stationary solution and your residuals will stay 'high' for ever. Also, if you have a fine mesh, then the solver is able to find more details in the flow, leading to more instabilities, and poorer convergence.
So ,if you want low residuals use a 2D mesh, or use a coarse mesh. This might lead to a stable solution with little details. So, probably leading to a inaccurate solution.

Bottomline/warp up/basic rule: never look at residuals only. I find them the least important ones. I look at:
1) the imbalance for mass and momentum. Create a monitor and a plot, and see if these go to zero. That is more important than the residuals.
2) Do what Shereez mentioned. Create a monitor and plot for lift and drag. See how these develop during the solution process. If they get stable, you might end up with an accurate solution. Even if your residuals are high.
3) You could do the same by moitoring and plotting the inlet (total) pressure. This could also become stable.
4) You could create points inside you geometry where you monitor velocity, pressure and other variables and see how these develop. Put a point in front of your car and one in the recirculation zone. See how the variables develop, and judge convergence from these points.

Last resort: perform a transient calculation, and calculate time average solution, standard deviation, etc.

ody93 July 4, 2018 13:43

Hello again after a couple of months trying different thinks. :P

I solved the problem of "crashing" just by running the simulations at 4 parallel processes instead of 6. Just that.

Now I have another problem. I did the grid independence study with 4 different meshes of 3, 6, 10 and 16 million cells. Skewness and Ortho Quality were all at decent values (max skew: 0.89 / min ortho: from 0.03 to 0.15 at 16M mesh)

I used an Inflation method for the car body (all surfaces of the car) with:
First Layer Thickness: 0.45 mm
Growth Rate: 1.2
Max Layers: 12

I want a y+ between 30 and 300 because I use the k-e Realizable with Standard Wall Functions.
So the first cell according to y+ calculator for air at 20 degrees celsius, velocity 27.78 m/s
and Length 4.149 m (the length of the car) is:
0.45 mm

and for y+ = 300 we have a cell height of 4.5mm.

(0.45*1.2^12 = 4mm)

After the calculation is completed I went to check the y+ values.
In "Contours" I plotted a diagram for kinetic turbulence where the Yplus is and chose the car_body. And from the XYplots I did the same (according to the following link)
https://www.sharcnet.ca/Software/Flu.../tg/node47.htm

In both diagrams the minimum y+ appears below 1 (about 0.7) and the maximum reaches 36. (in other meshes with same inflation method, reaches even 150)

Anyone knows whats wrong?
Moreover I should say that the residuals are ok and the Cd is 0.281 with the constructor's given price being 0.31 so for me it's acceptable.


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