This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/tutorials/mesh/moveDynamicMesh/circCylinder3d/constant/dynamicMeshDict
2015-04-27 10:03:41 +01:00

200 lines
5.6 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 3.1 |
| \\ / A nd | Web: http://www.extend-project.de |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Specify dynamicFvMesh library
dynamicFvMeshLibs ("libdynamicTopoFvMesh.so");
//- Select the type of dynamicFvMesh
dynamicFvMesh dynamicTopoFvMesh;
//- Select the type of motionSolver
solver mesquiteMotionSolver;
mesquiteOptions
{
//- Optimization metric
optMetric AspectRatioGamma;
//- Objective function
objFunction LPtoP;
//- Optimization algorithm
optAlgorithm FeasibleNewton;
//- Termination criteria sub-dictionaries
//- (takes default values if not specified)
//- Specifying an empty sub-dictionary
//- terminates with available options
tcInner
{
absGradL2 1e-4;
cpuTime 0.5;
}
// tcOuter
// {}
//- For composite functions, two objectives need to be specified
// firstFunction LPtoP;
// secondFunction LInf;
//- For scaled functions, scale and objective needs to be specified
// scaleFunction PMeanP;
// scale 1.5;
//- Power value for the LPtoP objective function
pValue 2;
power 2;
//- Specify a tolerance for the surface-smoothing CG solver
tolerance 1e-2;
//- Specify number of CG sweeps for surface-smoothing
nSweeps 2;
//- Specify slip patches for the motionSolver
slipPatches
{
sideWall;
topWall;
}
//- Constrain surface mesh-motion on a specified cylinder
cylindricalConstraints
{
//- Specify options per slip patch
sideWall
{
axisPoint (0.0 0.0 0.0);
axisVector (0.0 0.0 1.0);
radius 1.0;
}
}
//- Specify fixedValue patches for the motionSolver
fixedValuePatches
{
topWall
{
type angularOscillatingDisplacement;
amplitude -0.0125;
//type oscillatingDisplacement;
//amplitude (0 0 -0.01);
axis (1 0 0);
origin (0 0 3);
angle0 0.0;
omega 0.15;
value uniform (0 0 0);
}
}
//- Specify interval for surface smoothing
surfInterval 1;
}
//- Options for dynamicTopoFvMesh
dynamicTopoFvMesh
{
//- Should all options be made mandatory?
//- Useful for first-time use.
allOptionsMandatory no;
//- Set run-time debug level [0-5]
// debug 0;
//- Specify the number of threads
threads 1;
//- Specify re-meshing interval
//- Negative value implies no re-meshing
interval 1;
//- Specify whether the length-scale field
//- should be dumped to disk
dumpLengthScale false;
//- sliverThreshold specifies the
//- quality criteria for sliver removal.
sliverThreshold 0.35;
//- Should the tool attempt to remove slivers
//- that fall below the sliverThreshold value?
removeSlivers false;
//- Skip mapping step. Useful while using
//- this tool as a pre-processor
// skipMapping true;
// Toggle edgeRefinement on/off
edgeRefinement yes;
//- Options for edge-bisection/collapse.
//- The edgeRefinement flag must be set for
//- the following options to have effect
refinementOptions
{
collapseRatio 0.5;
bisectionRatio 1.5;
growthFactor 1.03;
//- By default, existing boundary edge-lengths
//- are used for length-scales.
//- Length-scale can be fixed for certain patches.
fixedLengthScalePatches
{
topWall 0.2;
bottomWall 0.2;
sideWall 0.2;
outlet 0.2;
}
//- Avoid refinement on certain patches, if necessary
noModificationPatches
{}
//- Set floating length-scale values on certain patches
freeLengthScalePatches
{}
//- Limit lengthScales to specified values, if necessary
// minLengthScale 0.1;
// maxLengthScale 0.3;
//- Field-based refinement options
// fieldRefinement gamma;
// fieldLengthScale 0.005;
// lowerRefineLevel 0.001;
// upperRefineLevel 0.999;
// maxRefineLevel 4;
// meanScale 0.015;
}
//- If the number of modifications are to be limited, set this option
// maxModifications 1000;
//- Load custom libraries for metrics
// tetMetricLibs ("libtetMetrics.so");
//- Tetrahedral mesh quality metric
tetMetric Knupp;
//- Avoid 2-2 swapping on certain patches
noSwapPatches
{}
}
// ************************************************************************* //