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
Henrik Rusche 67ab0b5abd 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)
2018-02-16 15:07:55 +01:00

201 lines
5.6 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / 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
{}
}
// ************************************************************************* //