200 lines
5.6 KiB
C++
200 lines
5.6 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | foam-extend: Open Source CFD |
|
|
| \\ / O peration | Version: 3.2 |
|
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
|
| \\/ 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
|
|
{}
|
|
}
|
|
|
|
// ************************************************************************* //
|