STFS-TUDa / blastAMR

Load-balanced adaptive mesh refinement libraries from blastFoam ported to ESI OpenFOAM
Other
42 stars 15 forks source link

Incorrect Coarsening of Local Mesh #13

Open 2022ZM opened 1 month ago

2022ZM commented 1 month ago

I discovered a bug: when using AMR/LB on a mesh that has been locally refined (refinebox), it will coarsens the local mesh. You can check the results of TScas3. However, OpenFOAM's official dynamicRefineFvMesh mechanism does not have the issue of coarsening local meshes; "It only refines or coarsens the mesh based on the field's range.

FoamScience commented 1 week ago

This somehow went under my radar for some time.

This is not a bug, it's either intended behavior, or a feature request, as I don't provide any special integration with any other refinement tool.

Explanation:

so, if refineBox outputs polyMesh/cellLevel and polyMesh/pointLevel those will get picked up by blastAMR refinement routines. Otherwise, the starting mesh will be assigned a cell level of 0 everywhere.

so just remove cellLevel/pointLevel files before running the first updateMesh to get the effect you want.

It would be a feature request to "protect cell sets/zones" from refinement/coarsening, which would be nice to have but has low priority since it can be achieved easily with a coded refinement.