Description
Dynamic mesh refinement/unrefinement based on volScalarField values.
Refinement can optionally be specified in a cellZone or in multiple
regions, each controlled by a different volScalarField.
Usage
Example of single field based refinement in all cells:
\verbatim
dynamicFvMesh dynamicRefineFvMesh;
// How often to refine
refineInterval 1;
// Field to be refinement on
field alpha.water;
// Refine field in between lower..upper
lowerRefineLevel 0.001;
upperRefineLevel 0.999;
// If value < unrefineLevel unrefine
unrefineLevel 10;
// If value < unrefineLevel (default=great) unrefine
// unrefineLevel 10;
// Have slower than 2:1 refinement
nBufferLayers 1;
// Refine cells only up to maxRefinement levels
maxRefinement 2;
// Stop refinement if maxCells reached
maxCells 200000;
// Flux field and corresponding velocity field. Fluxes on changed
// faces get recalculated by interpolating the velocity. Use 'none'
// on surfaceScalarFields that do not need to be reinterpolated.
correctFluxes
(
(phi none)
(nHatf none)
(rhoPhi none)
(alphaPhi0.water none)
(ghf none)
);
// Write the refinement level as a volScalarField
dumpLevel true;
\endverbatim
Example of single field based refinement in two regions:
\verbatim
dynamicFvMesh dynamicRefineFvMesh;
// How often to refine
refineInterval 1;
refinementRegions
{
region1
{
cellZone refinementRegion1;
// Field to be refinement on
field alpha.water;
// Refine field in between lower..upper
lowerRefineLevel 0.001;
upperRefineLevel 0.999;
// Refine cells only up to maxRefinement levels
maxRefinement 1;
// If value < unrefineLevel unrefine
unrefineLevel 10;
}
region2
{
cellZone refinementRegion2;
// Field to be refinement on
field alpha.water;
// Refine field in between lower..upper
lowerRefineLevel 0.001;
upperRefineLevel 0.999;
// Refine cells only up to maxRefinement levels
maxRefinement 2;
// If value < unrefineLevel unrefine
unrefineLevel 10;
}
}
// If value < unrefineLevel (default=great) unrefine
// unrefineLevel 10;
// Have slower than 2:1 refinement
nBufferLayers 1;
// Stop refinement if maxCells reached
maxCells 200000;
// Flux field and corresponding velocity field. Fluxes on changed
// faces get recalculated by interpolating the velocity. Use 'none'
// on surfaceScalarFields that do not need to be reinterpolated.
correctFluxes
(
(phi none)
(nHatf none)
(rhoPhi none)
(alphaPhi0.water none)
(ghf none)
);
// Write the refinement level as a volScalarField
dumpLevel true;
\endverbatim