Propeller validation: Problem with mesh independence


#1

Hi!
Skip to the bottom for my questions, this will be a pretty long post.

I’m doing this project: [STARTED] Validating the flow around an APC Slow Flyer Propeller

The project involves making simulations of a propeller and comparing the results to experimental data [http://m-selig.ae.illinois.edu/props/volume-1/data/apcsf_8x3.8_2778rd_4007.txt]. This is what the results look like so far, compared to the experimental data:

The plots suggests that the data obtained from the CFD model does not match the experimental values, at higher wind speeds.

The mesh used in these simulations looks like this (meshClip(0,0,0.08;0,0,1)):



So why does this happen?
I can think of two possible explanations:

  1. The mesh not fine enough.
  2. The geometry of the model does not match the geometry of the real propeller.

I would guess that the first option is the most likely. The solution to this might be to do mesh independence studies.
I’ve tried to do a mesh independence study at the lowest wind speed (J=0.174 or V=2.36 m/s), but not very successfully.

Mesh independence study 1
Link to this study: Mesh independence study 1

  • I started with a background mesh box with 15^3 cells (I called it lvl 1).
  • Region refinement around propeller at level 3
  • Blade refinement at level 7-7
  • Relative Inflate boundary layers with the following settings:
    • Number of layers=5
    • Expansion ratio for layer cell thickness=1.3
    • Thickness of final layer=0.15
    • Minimum overall layer thickness=0.01
  • Refinement level 2 had 18^3 elements in the background mesh box, refinement level 3 had 21^3, and so on.

Here is a plot from the study:

Judging from the plots, it doesn’t seem to converge. But the reason for this was probably that the total thickness of the inflate boundary layer became thinner and thinner for every refinement level, which isn’t really desirable.


Mesh independence study 2
Link to this study: Mesh independence study 2

To solve the problem described above, it was decided that absolute lengths should be used for the inflate boundary layers.
The total thickness of the inflate boundary layer was calculated as follows

5
(Equation from Boundary Layer Theory, Ninth Edition, p160, Hermann Schlichting and Klaus Gersten)

Were
v=1.51610^(-5) [557]
x=23.13
10^-3 m (cord width of blade at 75% of distance from root to tip, from CAD-model)
w=420 rad/s
r=6810^(-3)
U=r
w=28.56 m/s
delta=5sqrt((1.51610^(-5)23.1310^-3)/28.56)=0.000554 m

The be on the safe side, it was decided to have a boundary layer refinement of 0.0006 m

Some changes was made in the advanced meshing settings:

  • Max iterations for bad cells=50
  • Mesh-to-geometry conformity=10
  • Feature refinement snap=TRUE
  • Max iterations for mesh conformation=15

Settings for inflate boundary layers (on first level)

  • Number of layers=5
  • Expansion ratio=1.3
  • Thickness of final layer=0.000174 (calculated in matlab to give the desired total thickness)
  • Minimum overall layer thickness (0.00048=0.8*desired total boundary layer thickness)

The plan was to conduct the study as follows:

  • 15^3 elements in the background mesh box on the first refinement level, and 17^3 on the next etc.
  • 5 layers in the inflate boundary layer and then increased with one layer for each refinement level.

The mesh at level 4 looked like below.

The problem with this mesh was that I didn’t manage to get any refinements around the leading and trailing edge. I know that feature refinement might be a good approach to solve this, the problem is that feature refinement seems to refine the edges of the rotation zone as well, which is very computationally wasteful.
Also, the mesh quality looked significantly worse than when I used relative sizing on the inflate boundary layers. If you compare the pictures, you can see that the edges looks much more saw tooth like on this mesh.
I didn’t do any simulations on this, since I wasn’t happy with the mesh.

Mesh independence study 3
Link this study: Mesh independence study 3

Since I wasn’t able to get sufficient refinement around the leading and trailing edge, it was decided to remove the inflate boundary layers entirely, and have a very fine surface refinement on the propeller blades instead (level 9-9). Other then that the setting were kept as one the first study. However, this study started with a base mesh box at 13^3, then 15^3 and then 17^3 and so on.

9

The problem with this mesh was that the number of elements was very large, and the the mesh quality seemed to get worse when I refined it. At level 5 it seemed to be holes in the mesh.
Also, it was very high residuals in the convergence plots (as high as 0.007 at level 4). So I don’t really trust the results.



My questions

  1. What should I try next? I believe that the right way do go would be to make “mesh independence study 2” work.
  2. The main problem with “independence study 2” are the edge refinements. Do you have any suggestions regarding that?
  3. Should I have different meshes at different wind speeds?
  4. What caused the high residuals that I get?
  5. Why does the model solve faster at higher wind speeds? (See Mesh independence study 1 )

Solve it with SimScale - Hall of Fame
'Validating the flow around an APC Slow Flyer Propeller' simulation project by Filiptheking
#2

Thanks a lot for your detailed description of your problem Filip (@Filiptheking)!

The @PowerUsers_CFD or me will have a closer look a this issue and get back to you as soon as we found a solution to your problem.

All the best!

Jousef


#3

Sounds great, thanks!

/Filip


#4

Hi Filip!

Fantastic description of the project and issues! Gotta love well organized projects :stuck_out_tongue:

Yes that would be correct move. You need to ascertain how sensitive your results are to the grid. Ensuring you have different levels of meshes (about 1.5 times node count amount difference between meshes) and comparing the result deviation before determining acceptability of the mesh is important. Ever more important since you’re looking at performance values for such a well defined geometry.

While you did mention that the feature refinement setting wastes computational power, it is unfortunately an unavoidable side effect. However the feature refinement would only end up increasing cell count at the MRF and the prop blade which is alright even if you do put a very high level. Increasing cell counts at your MRF would also ensure increased accuracy as the flow is “better developed” due to the small cell count. So do perform the feature refinement and set it to 0m and whatever level gives you good definition at the critical areas such as the leading and trailing edge, it should resolve your issues for “mesh independence 2”.

Also ensure you perform similar refinement methods for all your meshes. This is to ensure consistency and on top of that, being able to identify the areas that need adjusting.

Not necessary. You shouldn’t expect significant result deviation between meshes for different wind speeds.

Primarily, mesh quality. Mesh quality not only at the blade and the MRF region, but also the general region. If you have a very large cell size in the outer regions and suddenly in the MRF you have very fine cells, you would expect the high residuals in a similar way you would expect poor convergence due to distorted or illegal cells. So to fix this first ensure your expansion ratio between cells is not too high. If your MRF has a general cell size of say 0.05m then your outer regions should be around 0.1m at most.

Do note it really depends and for now I would recommend performing the previously mentioned feature refinement to get better “definition” on your propeller blades first before tackling the residuals and convergence.

I don’t think it really does solve “faster”. Marginal differences in terms of minutes affected by either direct convergence leading the solver to deem the simulation as complete or minor oscillatory convergence that will run until the end time are not really significant differences. The reasons are likely due to convergence as mentioned previously. Then again, they are marginal and if you’re really talking about significant differences in solve time for the same mesh but different inlet conditions then you would see one run having say 20 minutes completion time and the other having 3 hours completion time.

Hope this helps!

Cheers.

Regards,
Barry


#5

Thank you for your answer, very informative.
I’ll try to get the feature refinement working on “independence study 2” and see how it works.

Okay, so refinement level 1 on the MRF zone? I have level 4 now, so I’ll guess that is part of whats causing the problem with the residuals.


#6

Hi Filip,

What you can do first is to just decrease the general cell size outside, don’t really have to touch the MRF zone yet. The general cell size should be a “cube” (if the general cell size is supposed to be 0.1m, ensure all sizes of the domain are 0.1 by 0.1 by 0.1) and lets say if you have the bounding domain as a 1 m by 1 m by 1 m cube then you need to set in the no of cells to be 10 for x y and z. If you want other cell sizes then you have calculate as accordingly, you get the idea.

Cheers!

Regards,
Barry


#7

Hello,

I’ve tried to do a feature refinement to “FS: APC-SF-8x3.8 Mesh lvl 1” in Propeller validation: Mesh independence study 2 - Take 2.

This is what happens:

  • For some reason it seems to refine all the surfaces around the features, instead of the edges. Why is this?
  • Also, why does the inflate boundary layers fail?

By the way, this mesh took about one hour to compute, so I think there is room for improvement…


Here is a link to this new study:
Propeller validation: Mesh independence study 2 - Take 2

Yeah, sure, I get that. But you wrote that if I had a MRF cell size at 0.05 m, the cell size in the outer regions should be around 0.1.
So if I have an element size of 0.1 m in the base mesh box and level 1 in the MRF zone, it would split the element size in half in the MRF zone, thus making the element there size 0.05 m (or am I wrong?).

Sincerely,
Filip


#8

Hi Filip,

The feature refinement isn’t selection based so you can’t really define where you want or don’t want it to refine. Currently the feature refinement is not applying to the blade for some reason. If it does apply properly, you would see the edges having smaller cells than the center (refer to the figure below, feature refinement on my wing geometry). Instead it seems to be just refining your MRF only which quite perplexing. I might need to try it out myself to see what is going on. @PowerUsers_CFD any ideas?

They don’t fail, instead they get deleted by the quality controls. This post here should help in fixing that.

That is because the feature refinement is at level 9 and refining your MRF zone to insanely small cell sizes. Plus it is a 6 million node mesh. Once we get the feature refinement working properly this won’t be an issue.

What I meant was you want the incoming flow to also be well developed not just at the MRF zone. Hence why I mentioned you need to decrease the cell size out side the MRF zone which is your bounding box cell size.

Cheers.

Regards,
Barry


#9

It did actually refine close to the propeller blades too, so it was not only at the MRF-zone. The problem is that it seemed to refine over the surfaces and not only the edges. Which is very weird, indeed.

Without feature refinement (Mesh: FS: APC-SF-8x3.8 Mesh lvl 1 ):


With feature refinement (Mesh: TAKE 2: lvl1v1):

(The mesh clips are from this study: Mesh independence study 2 - Take 2, apart from the feature refinement, they are similar)

Min tetrahedron-quality for cells was already set to -1e+30 in my mesh. However, I tried to change the Min Cell Volume to -1e+30, which was suggested by @1318980, in link you provided.
This seemed to fix the problem with the inflate boundary layers, which I’m very grateful for. Thanks!

I tried this on another mesh that I had problems with the inflate boundary layers on.

Mesh with Min Cell Volume = 1e+13

Mesh with Min Cell Volume = -1e+30 and three inflate boundary layers

Mesh with Min Cell Volume = -1e+30 and five inflate boundary layers

I think these last two meshes looks pretty good. Instead of a feature refinement, I’ve used a really fine surface refinement on the propeller blades. This gives me some unwanted refinement over the surfaces, ideally, I would of course only want refinement on the trailing and leading edge. But at least this works better than the feature refinement, for now.

Some of the settings for the mesh on the previous picture:

  • Base mesh box = 21x21x21 (Will probably try to increase this to hopefully get better convergence)
  • MRF refinement = 4-4
  • Blade surface refinement = 9-9
  • Mesh with Min Cell Volume = -1e+30
  • Setting for inflate boundary layers:
    • Number of layers = 5
    • Expansion ratio for layer cell thickness = 1.3
    • Thickness of final layer = 0.00008729
    • Minimum overall layer thickness = 0

Link to project with the meshes on the three pictures above: Propeller Meshing: Test with no Minimum Cell Volume

Some questions

  1. Could the method I use in the last mesh be a good alternative to the “feature refinement method”, if we don’t get that to work properly?
  2. Do you need any refinement in the region between the MRF and the mesh outside of it? On the mesh described above, it looks like the picture below.
  3. Up until now, I’ve been using wall functions as my wall treatment. Is it possible to have the inflate boundary layers to fine for the wall functions to work?


#10

Hi @Filiptheking

Yes, sometimes I use a surface refinement with a range set, and tends to use the finest levels at the edges.

Not for MRF, as the region isn’t actually moving. If at a later date you wished to use AMI in a transient case then a quality interface is required.

Yes the ideal Y+ value for wall function is between 30 and 200. If you sink below that you could use the full resolution as I believe this now deals with the wall dynamically with Y+ value.

Good luck :slight_smile:


#11

Hello @1318980 and thank you for your answer,

I’m not sure what you meant when you wrote about using “surface refinement with a range set”. But maybe I’ve done something similar here.

So here is what I’ve done:

  1. I sliced to model in my CAD-software, in such a way that i got separate surfaces close to the leading and trailing edge.

Original model:

Modified model:



  1. I refined all surfaces except the “edge surfaces” with refinement level 7, then I refined the “edge surfaces” with refinement level 8.

This is the result:

If thought that this result was pretty good, so I tried to increase the base mesh box from 35^3 to 40^3, to get an other refinement level. This is what happened:

So it seems like the mesh quality got worse, when to only thing I did differently was to increase the number of elements in the base mesh box.

What could I do to fix this?

Link to these meshes: Edge refinement test

Okay, so if I sink below 30 I could use the full resolution?
Does that mean that I can’t use wall functions if the inflate boundary layers are too fine? I mean, it might be unnecessary to have very fine inflate boundary layers when I use wall functions, but the result you get shouldn’t deviate from when having the optimal thickness of the inflate boundary layers… Or do they?

Regards,
Filip


#12

This is expected when the cells become smaller than the layers. Its is considered that layers bigger than cells are no use, when this happens the layer refinement is cancelled, and cancellation for many layers gets a bit tricky. you will find better results from fewer cells. I tend to use only 2 or 3 if my surface refinement is quite high any way.

Its also worth remembering this issue won’t be present with relative layers as the cells get smaller with the refinement but makes it harder to control the distance to nearest cell.

Wall functions are come in many shapes and sizes. The ‘Wall Function’ in SimScale models correctly first cell distance in the log law region. Outside of that varying accuracy drop off will occur. That said if you are close enough, you might only see marginal error. The full resolution function however, should deal with a first cell value anywhere within the boundary layer.

Good luck,
Darren


#13

Thank you for your answer. Now I get why the layers disappeared.

I’ve done two more attempts at a mesh independence study. However, it seems like there is a strong trend of decreasing torque (affects the coefficient of power) with increasing mesh refinement. Even if there are very small differences in percent, I see no sign of convergence.

Mesh independence study 4
Link

Mesh independence study 5
Link

Main differences in these studies compared to previous ones:

  • Surface refinement at trailing and leading edge
  • Advance ratio = 0.497
  • More elements in background mesh box (35^3 in study 4 at level 1)
  • Mesh with Min Cell Volume = -1e+30
  • All refinement levels had the same total inflate boundary layer thickness at 0.3 mm.
  • All refinement levels had three inflate boundary layers


    My questions:
  1. What is the most likely reason behind the fact that I don’t get convergence?
  2. I got very bad residuals at level 5 in study 5 and the computation took really long time. What could be causing this? The only difference between level 5 and 4 is the number of elements in the background mesh.
  3. Do any of you know of any other projects on Simscale that deals mesh independence studies, that I might get some ideas from?

#14

Hello,
I think I have made some progress regarding the convergence study.
Part of the problem might have been that started with to high mesh resolutions in my meshes in my earlier studies, which might make it harder to see a converging trend.

Here is a plot from my most recent study, Mesh Independence Study 7:

The difference between the result from the finest and the second finest are within 5% regarding both the thrust and the torque (for mesh 2 and 3). I would like to go down to below 1%, but below 5% is still acceptable, or what do you think?

What worries me a little bit is that the slope in the toque plot doesn’t seem to flatten out.

How I did the study

  • Three different meshes with some differences in the settings for the refinements
  • For each refinement I approximately doubled the number of elements

#15

Hi @Filiptheking,

Nicely done! Looks good, 5% is where you would say it is optimal. Of course ideally you have 1% deviation but you do not expect significant result change so I would say it is sufficient and do proceed to use Mesh 2 (second finest).

Compare against the experimental data and see how far off you are with the second finest mesh. Depending on how far off it is we’ll work from there.

Cheers.

Regards,
Barry


#16

Ah, I want more on what was done after this please :cry:


#17

What a coincidence Dale! :smiley: Contacted @Filiptheking this afternoon and he said that his results will soon be available! :slight_smile:

Best,

Jousef


#18

Thanks, It is simply amazing what I have been finding snooping around this forum :smile:


#19

Here you can find my results: LINK


#20

Thanks, this will be a very valuable template for me.

A very impressive organization of the project :+1:

Dale