CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Native Meshers: blockMesh (
-   -   BlockMesh Grading Ambiguity: How to Get Desired y1 (

dancfd July 9, 2012 23:09

BlockMesh Grading Ambiguity: How to Get Desired y1
Hello all,

I am having trouble getting blockMesh to produce the right y1 for my mesh. If I follow the equations in the User Guide 2.0.0 section

Desired y1: 0.0006996
Desired cell size of last cell: 0.15
l = 1.499364 % Length of block
n = 100 % Number of cells

R = 0.15 / 0.0006996 = 214.408 % ratio of last to first cell size
r = R^(1/(n-1)) = 1.0557179202 % ratio of each cell to its neighbour
Alpha = R (R > 1)
Delta_x_s = 0.000370711 % Size of smallest cell

Here is the issue: Delta_x_s is supposed to equal my desired y1. The problem is blockMesh grading uses a ratio, R, to define the grading. Therefore if the same factor is applied to both first and last cell, blockMesh will not know the difference: R is the same. The only way to adjust the y1 is then to change the number of cells, I suppose - but that leaves me no control over the number of cells. Is there any way to control both the number of cells and y1?


rob3rt 0ng December 31, 2012 04:26

Hi Dan,

Have you figured this out, if you have then please share ;)

Happy new year!


dancfd January 2, 2013 21:41

Hello Robert,

Unfortunately I have not found a solution.

Happy New Year,

kalle January 4, 2013 02:45


Originally Posted by dancfd (Post 370549)
... Is there any way to control both the number of cells and y1?

Stupid answer is; adjust the length of the edge. More useful answer may be: divide the block in two, where the block close to the wall has grading such that you get delta_x_small and delta_x_large as you like, and the outer block has no grading and all cells with size delta_x_large. (or optionally also a grading, which is different from the wall block)


rob3rt 0ng January 5, 2013 04:53

Hi Karl,

But that would increase the aspect ratio both and eventually will affect the convergence, wouldn't it? Isn't there anyway to control y+ without increasing number of cells and without getting a high enough aspect ratios? Sorry for the rather impetuous question.


kalle January 5, 2013 14:49

You mean that the cells next to the wall becomes kind of pancake cells? That is a de facto standard of achieving near wall resolution in more or less all types of meshes. This is generally also ok, as derivatives are largest in the wall-normal direction.

If you want isotropic cells to the wall (like in the case of wall-resolved LES), you can use refineHexMesh on cells adjacent to the wall. Then you will get polyhedral cells in the interface between refined and non-refined cells (hence breaking the constraints of pure hexahedral mesh). Of course this may lead to vast amount of cells.


linuxpirates June 4, 2014 01:04

I appear to be slightly late to the party, but it's very simple.

If you have a length L, and divide it by N elements, each element will have a size L/N.

Applying an expansion R across the entire length L, means that the first element will have a size (L/N)/sqrt(R) and the last element will have a size (L/N)*sqrt(R).

As proof, consider the ratio of the sizes of the first and last elements, you have:

(L/N)*sqrt(R) / (L/N)/sqrt(R) = R

Hence, if you want to prescribe your desired y1, you would do:

y1 = (L/N)/sqrt(R) -----> R = L^2 / (N y1)^2

All times are GMT -4. The time now is 16:53.