blockMesh: Add support for multi/sectional grading in a block
Consider a block describing a channel with two opposite walls. Currently in order to grade the mesh towards the walls and have a uniform region in the centre the channel would need to be spit into 3 blocks. With the new multi/sectional grading this can be achieved in a single block e.g. blocks ( hex (0 1 2 3 4 5 6 7) (20 60 20) simpleGrading ( 1 ((0.2 0.3 4) (0.6 0.4 1) (0.2 0.3 0.25)) 1 ) ); In this example the block is divided uniformly in the x and z -directions and split into three grading sections in the y-direction described by three triples: ((0.2 0.3 4) (0.6 0.4 1) (0.2 0.3 0.25)). Each of the grading sections is described by a triple consisting of the fraction of the block, the fraction of the divisions and the grading ratio (size of first division/size of last division). Both the fraction of the block and the fraction of the divisions are normalized automatically so they can be specified scaled in anyway, e.g. as percentages: blocks ( hex (0 1 2 3 4 5 6 7) (20 60 20) simpleGrading ( 1 ((2 3 4) (6 4 1) (2 3 0.25)) 1 ) ); and they need not sum to 1 or 100. This is very new functionality and not well tested but backward compatibility has been well tested so all existing blockMeshDicts should parse correctly.
Showing
- src/mesh/blockMesh/Make/files 3 additions, 0 deletionssrc/mesh/blockMesh/Make/files
- src/mesh/blockMesh/blockDescriptor/blockDescriptor.C 8 additions, 4 deletionssrc/mesh/blockMesh/blockDescriptor/blockDescriptor.C
- src/mesh/blockMesh/blockDescriptor/blockDescriptor.H 4 additions, 4 deletionssrc/mesh/blockMesh/blockDescriptor/blockDescriptor.H
- src/mesh/blockMesh/blockDescriptor/blockDescriptorEdges.C 18 additions, 40 deletionssrc/mesh/blockMesh/blockDescriptor/blockDescriptorEdges.C
- src/mesh/blockMesh/curvedEdges/lineDivide.C 66 additions, 16 deletionssrc/mesh/blockMesh/curvedEdges/lineDivide.C
- src/mesh/blockMesh/curvedEdges/lineDivide.H 4 additions, 3 deletionssrc/mesh/blockMesh/curvedEdges/lineDivide.H
- src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C 151 additions, 0 deletionssrc/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C
- src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.H 157 additions, 0 deletionssrc/mesh/blockMesh/gradingDescriptor/gradingDescriptor.H
- src/mesh/blockMesh/gradingDescriptor/gradingDescriptors.C 101 additions, 0 deletionssrc/mesh/blockMesh/gradingDescriptor/gradingDescriptors.C
- src/mesh/blockMesh/gradingDescriptor/gradingDescriptors.H 94 additions, 0 deletionssrc/mesh/blockMesh/gradingDescriptor/gradingDescriptors.H
Please register or sign in to comment