/*--------------------------------*- 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 {} } // ************************************************************************* //