Meshing
Move Dynamic Mesh
moveDynamicMesh
is the default meshing utility.
It starts with a mesh generated by blockMesh
and iteratively refines the mesh according to the DEM surface and other information specified in 0/pointDisplacement
. The solver to use for cellDisplacement
is specified in system/fvSolution
. We are using the displacementSBRStress
solver with quadratic inverseDistance
diffusivity. The displacement velocity
* deltaT
(specified in 0/pointDisplacement
) must be less than the distance between the near-surface layers in the block mesh, otherwise points may move too quickly toward the surface, causing some cells to get turned inside-out. deltaT
is set to 1.0 in controlDict
.
Relevant files:
constant/polyMesh/blockMeshDict
0/pointDisplacement
constant/dynamicMeshDict
system/fvSolution
system/controlDict
Example
blockMeshDict
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.0 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(431525.59453113563 5291447.3730044467 2362.8000000000002)
(444405.27855891304 5291447.3730044467 2362.8000000000002)
(444405.27855891304 5302993.6309211124 2362.8000000000002)
(431525.59453113563 5302993.6309211124 2362.8000000000002)
(431525.59453113563 5291447.3730044467 7055.5)
(444405.27855891304 5291447.3730044467 7055.5)
(444405.27855891304 5302993.6309211124 7055.5)
(431525.59453113563 5302993.6309211124 7055.5)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (145 130 52) simpleGrading (1.0 1.0 1)
);
edges
(
);
patches
(
patch north_face
(
(3 7 6 2)
)
patch west_face
(
(0 4 7 3)
)
patch east_face
(
(2 6 5 1)
)
patch south_face
(
(1 5 4 0)
)
wall minZ
(
(0 3 2 1)
)
patch maxZ
(
(4 5 6 7)
)
);
mergePatchPairs
(
);
// ************************************************************************* //