2010-10-17 17:08:28 +00:00
|
|
|
/*--------------------------------*- C++ -*----------------------------------*\
|
|
|
|
| ========= | |
|
2013-12-11 16:09:41 +00:00
|
|
|
| \\ / F ield | foam-extend: Open Source CFD |
|
2016-06-20 15:00:40 +00:00
|
|
|
| \\ / O peration | Version: 4.0 |
|
2015-05-17 13:55:59 +00:00
|
|
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
2010-10-17 17:08:28 +00:00
|
|
|
| \\/ M anipulation | |
|
|
|
|
\*---------------------------------------------------------------------------*/
|
|
|
|
FoamFile
|
|
|
|
{
|
|
|
|
version 2.0;
|
|
|
|
format ascii;
|
|
|
|
class dictionary;
|
|
|
|
location "constant";
|
|
|
|
object dynamicMeshDict;
|
|
|
|
}
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
|
2014-09-23 19:05:50 +00:00
|
|
|
//- Specify dynamicFvMesh library
|
|
|
|
dynamicFvMeshLibs ("libdynamicTopoFvMesh.so");
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Select the type of dynamicFvMesh
|
|
|
|
dynamicFvMesh dynamicTopoFvMesh;
|
2010-10-17 17:08:28 +00:00
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Select the type of motionSolver
|
2010-10-17 17:08:28 +00:00
|
|
|
solver mesquiteMotionSolver;
|
|
|
|
|
|
|
|
mesquiteOptions
|
|
|
|
{
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Optimization metric
|
2010-10-17 17:08:28 +00:00
|
|
|
optMetric AspectRatioGamma;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Objective function
|
2010-10-17 17:08:28 +00:00
|
|
|
objFunction LPtoP;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Optimization algorithm
|
2010-10-17 17:08:28 +00:00
|
|
|
optAlgorithm FeasibleNewton;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Termination criteria sub-dictionaries
|
|
|
|
//- (takes default values if not specified)
|
|
|
|
//- Specifying an empty sub-dictionary
|
|
|
|
//- terminates with available options
|
2010-10-17 17:08:28 +00:00
|
|
|
tcInner
|
|
|
|
{
|
|
|
|
absGradL2 1e-4;
|
|
|
|
cpuTime 0.5;
|
|
|
|
}
|
|
|
|
|
|
|
|
// tcOuter
|
|
|
|
// {}
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- For composite functions, two objectives need to be specified
|
2010-10-17 17:08:28 +00:00
|
|
|
// firstFunction LPtoP;
|
|
|
|
// secondFunction LInf;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- For scaled functions, scale and objective needs to be specified
|
2010-10-17 17:08:28 +00:00
|
|
|
// scaleFunction PMeanP;
|
|
|
|
// scale 1.5;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Power value for the LPtoP objective function
|
2010-10-17 17:08:28 +00:00
|
|
|
pValue 2;
|
|
|
|
power 2;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Specify a tolerance for the surface-smoothing CG solver
|
2010-10-17 17:08:28 +00:00
|
|
|
tolerance 1e-2;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Specify number of CG sweeps for surface-smoothing
|
2010-10-17 17:08:28 +00:00
|
|
|
nSweeps 2;
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Specify slip patches for the motionSolver
|
2010-10-17 17:08:28 +00:00
|
|
|
slipPatches
|
|
|
|
{
|
|
|
|
sideWall;
|
|
|
|
topWall;
|
|
|
|
}
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Constrain surface mesh-motion on a specified cylinder
|
2010-10-17 17:08:28 +00:00
|
|
|
cylindricalConstraints
|
|
|
|
{
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Specify options per slip patch
|
2010-10-17 17:08:28 +00:00
|
|
|
sideWall
|
|
|
|
{
|
|
|
|
axisPoint (0.0 0.0 0.0);
|
|
|
|
axisVector (0.0 0.0 1.0);
|
|
|
|
radius 1.0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Specify fixedValue patches for the motionSolver
|
2010-10-17 17:08:28 +00:00
|
|
|
fixedValuePatches
|
|
|
|
{
|
|
|
|
topWall
|
|
|
|
{
|
2010-10-18 15:24:25 +00:00
|
|
|
type angularOscillatingDisplacement;
|
|
|
|
amplitude -0.0125;
|
|
|
|
//type oscillatingDisplacement;
|
|
|
|
//amplitude (0 0 -0.01);
|
2010-10-17 17:08:28 +00:00
|
|
|
axis (1 0 0);
|
|
|
|
origin (0 0 3);
|
|
|
|
angle0 0.0;
|
|
|
|
omega 0.15;
|
|
|
|
value uniform (0 0 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- Specify interval for surface smoothing
|
2010-10-17 17:08:28 +00:00
|
|
|
surfInterval 1;
|
|
|
|
}
|
|
|
|
|
2010-10-18 15:24:25 +00:00
|
|
|
//- 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
|
2010-10-18 20:44:06 +00:00
|
|
|
// skipMapping true;
|
2010-10-18 15:24:25 +00:00
|
|
|
|
|
|
|
// 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
|
Vanilla backport
- in FOAM library
updated containers
backported PackedBoolList, hashedWordList, nullObject, wordRe,
backported functions to
backported int32 support
backported tableReaders
backported Function1, TimeFunction1
backported dynamicCode (for codedBCs, ...) -- needs to be mapped out
advanced error macros (FatalIOErrorInFunction, ...) -- needs to be mapped out
backported IOobject::MUST_READ_IF_MODIFIED and added IOobject::READ_IF_PRESENT_IF_MODIFIED (only in FO)
- in postProcessing
backported IO FOs (partialWrite, removeRegisteredObject, writeDictionary, writeRegisteredObject)
backported field FOs (fieldCoordinateSystemTransform, fieldValues, nearWallFields, processorField, readFields, regionSizeDistribution, streamLine, wallBoundedStreamLine)
backported fvTools FOs (calcFvcDiv, calcFvcGrad, calcMag)
backported jobControl FOs (abortCalculation)
backported utilities FOs (ourantNo, Lambda2, Peclet, Q, codedFunctionObject, pressureTools, residuals, scalarTransport, setTimeStep, timeActivatedFileUpdate, turbulenceFields, vorticity, wallShearStress)
2017-04-09 13:11:54 +00:00
|
|
|
//tetMetricLibs ("libtetMetrics.so");
|
2010-10-18 15:24:25 +00:00
|
|
|
|
|
|
|
//- Tetrahedral mesh quality metric
|
|
|
|
tetMetric Knupp;
|
|
|
|
|
|
|
|
//- Avoid 2-2 swapping on certain patches
|
|
|
|
noSwapPatches
|
|
|
|
{}
|
|
|
|
}
|
2010-10-17 17:08:28 +00:00
|
|
|
|
2016-06-21 12:50:08 +00:00
|
|
|
|
2010-10-17 17:08:28 +00:00
|
|
|
// ************************************************************************* //
|