hystrath / hyStrath

Hypersonic / Rarefied gas dynamics code developments (GPL-3.0)
https://hystrath.github.io/
GNU General Public License v3.0
226 stars 111 forks source link

refining Orion107kmNR example (dsmcFoam+) #72

Closed iainsymthe closed 3 years ago

iainsymthe commented 3 years ago

What settings does one have to change to increase the near-surface resolution in the Orion107kmNR example? I tried addLayer true; (from false) and refinementSurfaces orion { // Surface-wise min and max refinement level level (2 2);//Apply 6-levels of refinement to satisfy y+ requirement.

but when I run snappyHexMesh with the increased level (2 2) instead of (1 1) it dumps core. It dumps core for all levels except the default (1 1) level.

Just changing addLayer to true without any other changes decreases the number of cells from 91K to 60K.

vincentcasseau commented 3 years ago

Hi Iain,

The section you copy-pasted from snappyHexMeshDict

    refinementSurfaces
    {
        orion
        {
            // Surface-wise min and max refinement level
            level (3 3);//Apply 6-levels of refinement to satisfy y+ requirement.

            // Optional specification of patch type (default is wall). No
            // constraint types (cyclic, symmetry) etc. are allowed.
            patchInfo
            {
                type wall;
                inGroups (orion);
            }
        }

is a subdict of the castellatedMeshControls dictionary. This means addLayer and this subdict are two distinct features.

If you do not wish to add layers but want to refine the surface mesh, you can increase the level index level (3 3); as shown above and snappyHexMesh won't crash. If you want layers, you will have to look into the addLayersControls dict on line 272.

Thanks, Vince