CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   beginner in adaptive mesh refinement (https://www.cfd-online.com/Forums/openfoam-solving/77964-beginner-adaptive-mesh-refinement.html)

aki_yafuji July 8, 2010 11:57

beginner in adaptive mesh refinement
 
Hi to everyone!
I am Aki, a beginner in OpenFOAM.

I am intrested in adaptive mesh refinement and I managed to find
"dynamicMeshDict" dictionary, but I am not sure how it works...
Would you tell me a condition of the refinement? The mesh is refined
automatically when the velocity (or the Courant number) exceeds a given value?

And, I am not sure coefficients in the dictionary...

constant/dynamicMeshDict
--------------------------------------
dynamicFvMesh dynamicRefineFvMesh;

dynamicRefineFvMeshCoeffs
{
refineInterval 1;
field alpha1;
lowerRefineLevel 0.001;
upperRefineLevel 0.999;
unrefineLevel 10;
nBufferLayers 1;
maxRefinement 2;
maxCells 200000;
correctFluxes
(
(
phi
U
)
);
dumpLevel true;
}
--------------------------------------

I have performed some tutorials, so I guess "maxRefinement" means the max
refinement number. But I cound only understand it. I can not understand
what "refineInterval" and "maxCells" mean. And what are "lowerRefineLevel"
and "upperRefineLevel"...?
I would be grateful if you could provide me the meanings of them.

Thanks in advance!

Aki

KrisT July 9, 2010 05:47

As far as I understand:

refineInterval - specifies how often (every n:th timestep) the grid should be refined.

maxCells - limits the number of cells, should never be greater than the given number, an approximate number.

lowerRefineLevel - grid gets refined if "alpha1" is lower than this value.

upperRefineLevel - grid gets refined if "alpha1" is bigger than this value.

aki_yafuji July 9, 2010 14:39

Dear KrisT

Thank you very much for your help!
I have performed some tutorials by changing them.
May I ask one more question???
What is "correctFluxes" ? These values are corrected each time step?

Aki

KrisT July 9, 2010 15:20

Quote:

Originally Posted by aki_yafuji (Post 266638)
Dear KrisT

Thank you very much for your help!
I have performed some tutorials by changing them.
May I ask one more question???
What is "correctFluxes" ? These values are corrected each time step?

Aki

Not sure about this one. Something about fluxes to correct when refining (phi), and variable they can be ineterpolated from (U).

idefix March 27, 2012 08:06

Hello,

I looked into the code and find following:
nBufferLayer: Number of layers between different refinement levels
I understand it in that way: nBufferLayer 1 means:
a cell, which was refined once, can only be a neighbour of a cell which is not refined or refined twice. But this cell canīt be a neighbour of a cell which is refined three times.

In a tutorial I found the definitoin for maxRefinement:
maxRefinement means the number of refinements that are allowed for one cell.

But does everybody know what "unrefineLevel" mean?

Thanks a lot

idefix May 23, 2012 12:17

has nobody an idea what it could mean?

I would be really happy to get some help

potentialFoam February 29, 2016 03:59

Vortex Refinement
 
Dear Foamers,

I have another question concerning the settings in the dynamicMeshDict-file. I would like to refine a tip vortex dynamically, so with the pimpleDyMFoam-solver.

As entry 'field' in dynamicMeshDict I would like to use something like Lambda2.
How can I tell the solver to calc this field?

potentialFoam August 1, 2016 10:08

Finally, I programmed a new solver based on pimpleDyMFoam. There, I calculated the nedded scalar field (like Lambda2). In constant/dynamicMeshDict I specify the variables that prescribe the refinement and so it works :)

afrotimy August 28, 2016 23:20

Quote:

Originally Posted by potentialFoam (Post 612280)
Finally, I programmed a new solver based on pimpleDyMFoam. There, I calculated the nedded scalar field (like Lambda2). In constant/dynamicMeshDict I specify the variables that prescribe the refinement and so it works :)

Hi Peter,

Is this new solver working with dynamicRefineFvMesh in 2D ?

potentialFoam August 29, 2016 04:03

Hi Francis,

what do you mean with 'dynamicRefineFvMesh'? I didn't try but I think it should work in 2D - why not?

Regards,
Peter

opencfd August 29, 2016 07:54

The dynamic refinement is cutting cells 2x2x2 - in all directions, so you would create mesh cells in directions you are not solving for. Which would be not such a problem, but you are creating also non-orthogonality and you will have parasitic fluxes in the direction you are not solving for and your solution is loosing precision at least.

potentialFoam August 29, 2016 07:57

Thanks! That's correct. So it works, but not in the desired way.

kk415 July 15, 2019 07:27

Hi Everyone,


Isn't there any way to control the division of cells in 2D ? or Isn't there any way to make the division orthogonal always ?

K.C. May 7, 2020 04:49

Does it mean, that the actual implementation of dynamicMeshRefinement can only deal with hexahedra cells?
That would mean it is useless if I have tetrahedras in my mesh?


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