diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict b/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict index 56601744c8f08f42749870dc4f02a7d17bc8a328..3d075cdbd8e2dfdbb83b9bf6b5ed2a23b1f985c4 100644 --- a/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict +++ b/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict @@ -22,8 +22,12 @@ set c0; // x,y,z axis. Specify in globalCoeffs section below. // - patchLocal : coordinate system different for every cell. Specify in // patchLocalCoeffs section below. +// - fieldBased : uses the list of field names from the directions list for +// selecting the directions to cut. Meant to be used with geometricCut, but +// can also be used with useHexTopology. coordinateSystem global; //coordinateSystem patchLocal; +//coordinateSystem fieldBased; // .. and its coefficients. x,y in this case. (normal direction is calculated // as tan1^tan2) @@ -39,7 +43,7 @@ patchLocalCoeffs tan1 (1 0 0); } -// List of directions to refine +// List of directions to refine, if global or patchLocal directions ( tan1 @@ -47,6 +51,15 @@ directions normal ); +// List of directions to refine, if "fieldBased". Keep in mind that these +// fields must be of type "vectorField", not "volVectorField". +//directions +//( +// radialDirectionFieldName +// angularDirectionFieldName +// heightDirectionFieldName +//); + // Whether to use hex topology. This will // - if patchLocal: all cells on selected patch should be hex // - split all hexes in 2x2x2 through the middle of edges. diff --git a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C index 0d5d96ec712af21fd5902d3544a3fc2927e1679e..388a9f2ff583bb81465dcf563749e5715beb13bd 100644 --- a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C +++ b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C @@ -38,7 +38,7 @@ License namespace Foam { -defineTypeNameAndDebug(cellCuts, 0); + defineTypeNameAndDebug(cellCuts, 0); } @@ -120,7 +120,7 @@ void Foam::cellCuts::writeUncutOBJ const label cellI ) const { - //- Cell edges + // Cell edges OFstream cutsStream(dir / "cell_" + name(cellI) + ".obj"); Pout<< "Writing cell for time " << mesh().time().timeName() @@ -135,7 +135,7 @@ void Foam::cellCuts::writeUncutOBJ labelList(1, cellI) ); - //- Loop cutting cell in two + // Loop cutting cell in two OFstream cutStream(dir / "cellCuts_" + name(cellI) + ".obj"); Pout<< "Writing raw cuts on cell for time " << mesh().time().timeName() @@ -180,7 +180,7 @@ void Foam::cellCuts::writeOBJ const labelList& anchors ) const { - //- Cell edges + // Cell edges OFstream cutsStream(dir / "cell_" + name(cellI) + ".obj"); Pout<< "Writing cell for time " << mesh().time().timeName() @@ -196,7 +196,7 @@ void Foam::cellCuts::writeOBJ ); - //- Loop cutting cell in two + // Loop cutting cell in two OFstream loopStream(dir / "cellLoop_" + name(cellI) + ".obj"); Pout<< "Writing loop for time " << mesh().time().timeName() @@ -207,7 +207,7 @@ void Foam::cellCuts::writeOBJ writeOBJ(loopStream, loopPoints, vertI); - //- Anchors for cell + // Anchors for cell OFstream anchorStream(dir / "anchors_" + name(cellI) + ".obj"); Pout<< "Writing anchors for time " << mesh().time().timeName() @@ -2240,7 +2240,7 @@ void Foam::cellCuts::setFromCellCutter WarningInFunction << "Found loop on cell " << cellI - << " that resulted in an unexpected bad cut." + << " that resulted in an unexpected bad cut." << nl << " Suggestions:" << nl << " - Turn on the debug switch for 'cellCuts' to get" << " geometry files that identify this cell." << nl diff --git a/src/dynamicMesh/meshCut/directions/directions.C b/src/dynamicMesh/meshCut/directions/directions.C index d2b6aa683e23301c110a4d9e067fdbaa243c5d2c..c217f30042f54ab4d2cffea0f753f7b26833bf18 100644 --- a/src/dynamicMesh/meshCut/directions/directions.C +++ b/src/dynamicMesh/meshCut/directions/directions.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -57,13 +57,12 @@ const Foam::NamedEnum<Foam::directions::directionType, 3> // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -// For debugging void Foam::directions::writeOBJ(Ostream& os, const point& pt) { os << "v " << pt.x() << ' ' << pt.y() << ' ' << pt.z() << endl; } -// For debugging + void Foam::directions::writeOBJ ( Ostream& os, @@ -81,7 +80,6 @@ void Foam::directions::writeOBJ } -// Dump to file. void Foam::directions::writeOBJ ( const fileName& fName, @@ -137,7 +135,6 @@ void Foam::directions::check2D } -// Get direction on all cells Foam::vectorField Foam::directions::propagateDirection ( const polyMesh& mesh, @@ -283,34 +280,35 @@ Foam::directions::directions List<vectorField>(wordList(dict.lookup("directions")).size()) { const wordList wantedDirs(dict.lookup("directions")); + const word coordSystem(dict.lookup("coordinateSystem")); bool wantNormal = false; bool wantTan1 = false; bool wantTan2 = false; + label nDirs = 0; - forAll(wantedDirs, i) + if (coordSystem != "fieldBased") { - directionType wantedDir = directionTypeNames_[wantedDirs[i]]; - - if (wantedDir == NORMAL) + forAll(wantedDirs, i) { - wantNormal = true; - } - else if (wantedDir == TAN1) - { - wantTan1 = true; - } - else if (wantedDir == TAN2) - { - wantTan2 = true; + directionType wantedDir = directionTypeNames_[wantedDirs[i]]; + + if (wantedDir == NORMAL) + { + wantNormal = true; + } + else if (wantedDir == TAN1) + { + wantTan1 = true; + } + else if (wantedDir == TAN2) + { + wantTan2 = true; + } } } - label nDirs = 0; - - const word coordSystem(dict.lookup("coordinateSystem")); - if (coordSystem == "global") { const dictionary& globalDict = dict.subDict("globalCoeffs"); @@ -424,12 +422,29 @@ Foam::directions::directions this->operator[](nDirs++) = tan2Dirs; } } + else if (coordSystem == "fieldBased") + { + forAll(wantedDirs, i) + { + operator[](nDirs++) = + vectorIOField + ( + IOobject + ( + mesh.instance()/wantedDirs[i], + mesh, + IOobject::MUST_READ, + IOobject::NO_WRITE + ) + ); + } + } else { FatalErrorInFunction << "Unknown coordinate system " << coordSystem << endl - << "Known types are global and patchLocal" + << "Known types are global, patchLocal and fieldBased" << exit(FatalError); } } diff --git a/src/dynamicMesh/meshCut/directions/directions.H b/src/dynamicMesh/meshCut/directions/directions.H index 8fc4d26aece0785573c42573d4894212ec939d69..0a16672e568073c6fbfc8b5d15a21c83ca7bdd84 100644 --- a/src/dynamicMesh/meshCut/directions/directions.H +++ b/src/dynamicMesh/meshCut/directions/directions.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -30,7 +30,8 @@ Description Used in splitting cells. Either all cells have similar refinement direction ('global') or - direction is dependent on local cell geometry. Controlled by dictionary. + direction is dependent on local cell geometry, or loads selected fields + by name ('fieldBased'). Controlled by dictionary. SourceFiles directions.C @@ -65,7 +66,9 @@ class directions : public List<vectorField> { + public: + // Data types //- Enumeration listing the possible coordinate directions. @@ -76,6 +79,7 @@ public: NORMAL }; + private: static const NamedEnum<directionType, 3> directionTypeNames_; @@ -83,7 +87,6 @@ private: // Private Member Functions - //- For debugging. Write point coordinate. static void writeOBJ(Ostream& os, const point& pt); @@ -141,7 +144,6 @@ public: const dictionary& dict, const twoDPointCorrector* correct2DPtr = NULL ); - }; diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/Allclean b/tutorials/mesh/refineMesh/refineFieldDirs/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..5734444f4e74e87d3d685ad82df35bcb7e3b300e --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/Allclean @@ -0,0 +1,11 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +rm -rf 0 > /dev/null 2>&1 + +cleanCase + +#------------------------------------------------------------------------------ diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/Allrun b/tutorials/mesh/refineMesh/refineFieldDirs/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..3498d6b3bbeab4f29460291e1d95ccb271930d2e --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/Allrun @@ -0,0 +1,54 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +wmake calcRadiusField +wclean calcRadiusField + +runApplication blockMesh + +##### Procedure for special refinement over Z + +# We need the 0 folder to exist for these steps +mkdir 0 + +# Refine over Z, in 6 passes +for index in 1 2 3 4 5 6; do + + runApplication calcRadiusField + mv log.calcRadiusField log.calcRadiusField.tier$index + + runApplication topoSet -dict system/topoSetDict.tier$index + mv log.topoSet log.topoSet.tier$index + + ## foamToVTK -cellSet tier$index + + runApplication refineMesh -dict system/refineMeshDict.tier$index -overwrite + mv log.refineMesh log.refineMesh.tier$index + + rm -r 0/* + +done + +# Refine over cylindrical coordinates, in 3 passes +for index in 1 2 3; do + + runApplication calcRadiusField -calcDirections + mv log.calcRadiusField log.calcRadiusField.range$index + + runApplication topoSet -dict system/topoSetDict.range$index + mv log.topoSet log.topoSet.range$index + + ## foamToVTK -cellSet tier$index + + runApplication refineMesh -dict system/refineMeshDict.range$index \ + -overwrite + mv log.refineMesh log.refineMesh.range$index + + rm -r 0/* + +done + +#------------------------------------------------------------------------------ diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/Make/files b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/Make/files new file mode 100644 index 0000000000000000000000000000000000000000..70a9508ff5d6599532837247671f694d710c5306 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/Make/files @@ -0,0 +1,3 @@ +calcRadiusField.C + +EXE = $(FOAM_USER_APPBIN)/calcRadiusField diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/Make/options b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/Make/options new file mode 100644 index 0000000000000000000000000000000000000000..fa15f124528ebfcaf279a88a73a0d7954f2e9dc1 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/Make/options @@ -0,0 +1,5 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude + +EXE_LIBS = \ + -lfiniteVolume diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/calcRadiusField.C b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/calcRadiusField.C new file mode 100644 index 0000000000000000000000000000000000000000..a607777d034b1e10ee113e92e1acf979a19f96f2 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/calcRadiusField/calcRadiusField.C @@ -0,0 +1,164 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is derived from OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Description + Write the volScalarField "radiusFieldXY" that has the distance to the + origin over X,Y. + + And also write the direction fields based on the option "-calcDirections". + The resulting fields are: + - radialDirection + - angularDirection + - heightDirection + + Derived from: + $FOAM_UTILITIES/postProcessing/miscellaneous/writeCellCentres + +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "timeSelector.H" +#include "Time.H" +#include "fvMesh.H" +#include "vectorIOField.H" +#include "volFields.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + timeSelector::addOptions(); + #include "addRegionOption.H" + + argList::addBoolOption + ( + "calcDirections", + "calculate the direction fields as well" + ); + + #include "setRootCase.H" + #include "createTime.H" + + instantList timeDirs = timeSelector::select0(runTime, args); + const bool calcDirections = args.optionFound("calcDirections"); + + #include "createNamedMesh.H" + + forAll(timeDirs, timeI) + { + runTime.setTime(timeDirs[timeI], timeI); + + Info<< "Time = " << runTime.timeName() << endl; + + // Check for new mesh + mesh.readUpdate(); + + Info<< "Writing radius field over X,Y in " + << runTime.timeName() << endl; + + volScalarField radiusFieldXY + ( + IOobject + ( + "radiusFieldXY", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + sqrt + ( + mesh.C().component(0)*mesh.C().component(0) + + mesh.C().component(1)*mesh.C().component(1) + ) + ); + radiusFieldXY.write(); + + + if(calcDirections) + { + + vectorIOField radialDirection + ( + IOobject + ( + "radialDirection", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh.C()/magSqr(mesh.C()) + ); + radialDirection.replace(vector::Z, scalar(0.0)); + radialDirection /= sqrt(magSqr(radialDirection)); + radialDirection.write(); + + + const tensor transform2Tangencial + ( + 0, -1, 0, + 1, 0, 0, + 0, 0, 1 + ); + vectorIOField angularDirection + ( + IOobject + ( + "angularDirection", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + transform2Tangencial & mesh.C() + ); + angularDirection.replace(vector::Z, scalar(0.0)); + angularDirection /= sqrt(magSqr(angularDirection)); + angularDirection.write(); + + vectorIOField heightDirection + ( + IOobject + ( + "heightDirection", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + radialDirection ^ angularDirection + ); + heightDirection.write(); + } + } + + Info<< "\nEnd\n" << endl; + + return 0; +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict b/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..cf3f3d5bdfcfbcb1cf6586e5345017960d2c5ae7 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict @@ -0,0 +1,98 @@ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/polyMesh"; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +/* + + A ------------------------------- B + / H / + C\ / + \ / + \ / + \ / G + \ / + \ / + \ / + \/ + D +*/ + +Ax 0.438912; Ay 0.000000; +Bx 18.28800; By 0.000000; +Cx 0.310358; Cy -0.310358; +Dx 12.931569; Dy -12.931569; + +Hx 0.405502; Hy -0.167964; +Gx 16.895909; Gy -6.998515; + +Z_DB_low -0.88706; +Z_AC_low -1.07; +Z_high 4.39208; + +vertices +( + ($Cx $Cy $Z_AC_low) //0 + ($Dx $Dy $Z_DB_low) //1 + ($Bx $By $Z_DB_low) //2 + ($Ax $Ay $Z_AC_low) //3 + ($Cx $Cy $Z_high) //4 + ($Dx $Dy $Z_high) //5 + ($Bx $By $Z_high) //6 + ($Ax $Ay $Z_high) //7 +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (47 10 4) simpleGrading (41.6669 1 1) +); + +edges +( + arc 0 3 ($Hx $Hy $Z_AC_low) + arc 4 7 ($Hx $Hy $Z_high) + + arc 1 2 ($Gx $Gy $Z_DB_low) + arc 5 6 ($Gx $Gy $Z_high) +); + +patches +( + patch maxX + ( + (1 2 6 5) + ) + patch minX + ( + (0 4 7 3) + ) + patch maxY + ( + (3 7 6 2) + ) + patch minY + ( + (1 5 4 0) + ) + patch maxZ + ( + (4 5 6 7) + ) + patch minZ + ( + (0 3 2 1) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/controlDict b/tutorials/mesh/refineMesh/refineFieldDirs/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..ad9c76e9fcef70ca9a3c311d567e14eaaec0184b --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/controlDict @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application potentialFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 1000; + +deltaT 1.0; + +writeControl runTime; + +writeInterval 1; + +purgeWrite 0; + + +//- Uncomment to have regular (every 2 hours of run time) restart files +//secondaryWriteControl cpuTime; // runtime +//secondaryWriteInterval 7200; // seconds +//secondaryPurgeWrite 1; // keep all but last dump + + +writeFormat binary; + +writePrecision 8; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 8; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/fvSchemes b/tutorials/mesh/refineMesh/refineFieldDirs/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..f2b1c3d1e510ff41d9083d7ac5773eb5859bbf24 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/fvSchemes @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default none; +} + +gradSchemes +{ + default none; +} + +divSchemes +{ + default none; +} + +laplacianSchemes +{ + default none; +} + +interpolationSchemes +{ + default none; +} + +snGradSchemes +{ + default none; +} + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/fvSolution b/tutorials/mesh/refineMesh/refineFieldDirs/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..0730d033cc3578dc7e352765d429f0fc6a120cee --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/fvSolution @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ +} + + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range1 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range1 new file mode 100644 index 0000000000000000000000000000000000000000..ff26028fb8b38d001ed467b848d960e25fb9a761 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range1 @@ -0,0 +1,63 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set range1; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +//coordinateSystem global; +//coordinateSystem patchLocal; +coordinateSystem fieldBased; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch maxX; // Normal direction is facenormal of zero'th face of patch + tan1 (1 -1 0); +} + +// List of directions to refine +directions +( + radialDirection + angularDirection + heightDirection +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range2 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range2 new file mode 100644 index 0000000000000000000000000000000000000000..ff26028fb8b38d001ed467b848d960e25fb9a761 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range2 @@ -0,0 +1,63 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set range1; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +//coordinateSystem global; +//coordinateSystem patchLocal; +coordinateSystem fieldBased; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch maxX; // Normal direction is facenormal of zero'th face of patch + tan1 (1 -1 0); +} + +// List of directions to refine +directions +( + radialDirection + angularDirection + heightDirection +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range3 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range3 new file mode 100644 index 0000000000000000000000000000000000000000..ff26028fb8b38d001ed467b848d960e25fb9a761 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.range3 @@ -0,0 +1,63 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set range1; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +//coordinateSystem global; +//coordinateSystem patchLocal; +coordinateSystem fieldBased; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch maxX; // Normal direction is facenormal of zero'th face of patch + tan1 (1 -1 0); +} + +// List of directions to refine +directions +( + radialDirection + angularDirection + heightDirection +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier1 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier1 new file mode 100644 index 0000000000000000000000000000000000000000..faac958e4f90b22f567fbd787654bb89c21f81d5 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier1 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set tier1; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +coordinateSystem global; +//coordinateSystem patchLocal; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch outside; // Normal direction is facenormal of zero'th face of patch + tan1 (1 0 0); +} + +// List of directions to refine +directions +( + normal +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier2 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier2 new file mode 100644 index 0000000000000000000000000000000000000000..34c3f546ac34476be8f7f6b65ca1f6a0ad3f5943 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier2 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set tier2; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +coordinateSystem global; +//coordinateSystem patchLocal; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch outside; // Normal direction is facenormal of zero'th face of patch + tan1 (1 0 0); +} + +// List of directions to refine +directions +( + normal +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier3 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier3 new file mode 100644 index 0000000000000000000000000000000000000000..1b5c596593d9029463b050055ca94171c5322b41 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier3 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set tier3; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +coordinateSystem global; +//coordinateSystem patchLocal; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch outside; // Normal direction is facenormal of zero'th face of patch + tan1 (1 0 0); +} + +// List of directions to refine +directions +( + normal +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier4 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier4 new file mode 100644 index 0000000000000000000000000000000000000000..0acb9aff24e5c52ce831c0cb7ba7323723492d7a --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier4 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set tier4; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +coordinateSystem global; +//coordinateSystem patchLocal; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch outside; // Normal direction is facenormal of zero'th face of patch + tan1 (1 0 0); +} + +// List of directions to refine +directions +( + normal +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier5 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier5 new file mode 100644 index 0000000000000000000000000000000000000000..ee34691d17c34d4b2e79b50721b69c77e0f255bb --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier5 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set tier5; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +coordinateSystem global; +//coordinateSystem patchLocal; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch outside; // Normal direction is facenormal of zero'th face of patch + tan1 (1 0 0); +} + +// List of directions to refine +directions +( + normal +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier6 b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier6 new file mode 100644 index 0000000000000000000000000000000000000000..d4f4ae1671f66b14e845dd6665cf6ccacf7f29e0 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/refineMeshDict.tier6 @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object refineMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Cells to refine; name of cell set +set tier6; + +// Type of coordinate system: +// - global : coordinate system same for every cell. Usually aligned with +// x,y,z axis. Specify in globalCoeffs section below. +// - patchLocal : coordinate system different for every cell. Specify in +// patchLocalCoeffs section below. +coordinateSystem global; +//coordinateSystem patchLocal; + +// .. and its coefficients. x,y in this case. (normal direction is calculated +// as tan1^tan2) +globalCoeffs +{ + tan1 (1 0 0); + tan2 (0 1 0); +} + +patchLocalCoeffs +{ + patch outside; // Normal direction is facenormal of zero'th face of patch + tan1 (1 0 0); +} + +// List of directions to refine +directions +( + normal +); + +// Whether to use hex topology. This will +// - if patchLocal: all cells on selected patch should be hex +// - split all hexes in 2x2x2 through the middle of edges. +useHexTopology false; + +// Cut purely geometric (will cut hexes through vertices) or take topology +// into account. Incompatible with useHexTopology +geometricCut true; + +// Write meshes from intermediate steps +writeMesh false; + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range1 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range1 new file mode 100644 index 0000000000000000000000000000000000000000..1d9db272f8fb3331b3677b4350b2958b7c8dd4eb --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range1 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name range1; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 13.36; + max 18.47; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range2 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range2 new file mode 100644 index 0000000000000000000000000000000000000000..f6e959b970be810a2ed6067b2bdb42f38c902736 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range2 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name range1; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 7.00; + max 18.47; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range3 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range3 new file mode 100644 index 0000000000000000000000000000000000000000..fc5c60d4f0c9687c4d0cbf7ac6878ef5b0abe8c2 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.range3 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name range1; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 3.67; + max 18.47; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier1 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier1 new file mode 100644 index 0000000000000000000000000000000000000000..0e43a02c4bd4e848c83b2ef6695f75411ad71e0e --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier1 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name tier1; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 0.0; + max 0.64; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier2 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier2 new file mode 100644 index 0000000000000000000000000000000000000000..43f5306312b20c0d3327fd031d80adb980c29bed --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier2 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name tier2; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 0.0; + max 1.03; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier3 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier3 new file mode 100644 index 0000000000000000000000000000000000000000..d2dce29215f67f633cc13b2642d523d2e807ef5b --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier3 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name tier3; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 0.0; + max 1.94; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier4 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier4 new file mode 100644 index 0000000000000000000000000000000000000000..2b48e33e15984484f0e8bf8eab5d62e4fa6f304f --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier4 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name tier4; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 0.0; + max 3.67; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier5 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier5 new file mode 100644 index 0000000000000000000000000000000000000000..2cb4dddf6fdbec4a5485bd4363b0bc6fdd88b578 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier5 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name tier5; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 0.0; + max 7.00; + } + } +); + +// ************************************************************************* // diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier6 b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier6 new file mode 100644 index 0000000000000000000000000000000000000000..751a78b7640ceb3214661722f1080c47f2a3eeb5 --- /dev/null +++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/topoSetDict.tier6 @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +actions +( + { + name tier6; + type cellSet; + action new; + source fieldToCell; + sourceInfo + { + fieldName radiusFieldXY; + min 0.0; + max 13.36; + } + } +); + +// ************************************************************************* //