transformPoints: Added -allRegions option

With the -allRegions option all the regions specified in the
constant/regionProperties are transformed.
This commit is contained in:
Henry Weller
2018-05-15 14:48:19 +01:00
parent d0dfb1a843
commit 0c4562422d
2 changed files with 139 additions and 132 deletions

View File

@ -1,6 +1,8 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/regionModels/regionModel/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lgenericPatchFields
-lgenericPatchFields \
-lregionModels

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -29,43 +29,48 @@ Description
translate, rotate and scale options.
Usage
Options are:
\b transformPoints [OPTION]
-translate vector
Translates the points by the given vector,
Options:
- \par -translate \<vector\> \n
Translates the points by the given vector.
-rotate (vector vector)
Rotates the points from the first vector to the second,
- \par -rotate (\<vector\> \<vector\>) \n
Rotates the points from the first vector to the second.
or -yawPitchRoll (yawdegrees pitchdegrees rolldegrees)
or -rollPitchYaw (rolldegrees pitchdegrees yawdegrees)
-scale vector
Scales the points by the given vector.
The any or all of the three options may be specified and are processed
in the above order.
With -rotateFields (in combination with -rotate/yawPitchRoll/rollPitchYaw)
it will also read & transform vector & tensor fields.
Note:
- \par -yawPitchRoll (\<yawdegrees\> \<pitchdegrees\> \<rolldegrees\>) \n
Alternative rotation specification:
yaw (rotation about z)
pitch (rotation about y)
roll (rotation about x)
- \par -rollPitchYaw (\<rolldegrees\> \<pitchdegrees\> \<yawdegrees\>) \n
Alternative rotation specification:
roll (rotation about x)
pitch (rotation about y)
yaw (rotation about z)
- \par -rotateFields \n
In combination with \a -rotate, \a -yawPitchRoll or \a -rollPitchYaw
additionally transform vector and tensor fields.
- \par -scale \<vector\> \n
Scales the points by the given vector.
Any or all of the three transformation option types may be specified and are
processed in the above order.
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "Time.H"
#include "fvMesh.H"
#include "regionProperties.H"
#include "volFields.H"
#include "surfaceFields.H"
#include "ReadFields.H"
#include "pointFields.H"
#include "transformField.H"
#include "transformGeometricField.H"
#include "IStringStream.H"
#include "mathematicalConstants.H"
using namespace Foam;
@ -137,6 +142,7 @@ void rotateFields(const argList& args, const Time& runTime, const tensor& T)
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
@ -179,20 +185,18 @@ int main(int argc, char *argv[])
);
#include "addRegionOption.H"
#include "addAllRegionsOption.H"
#include "setRootCase.H"
#include "createTime.H"
word regionName = polyMesh::defaultRegion;
fileName meshDir;
const wordList regionNames(selectRegionNames(args, runTime));
if (args.optionReadIfPresent("region", regionName))
forAll(regionNames, regioni)
{
meshDir = regionName/polyMesh::meshSubDir;
}
else
{
meshDir = polyMesh::meshSubDir;
}
const word& regionName = regionNames[regioni];
const word& regionDir = Foam::regionDir(regionName);
fileName meshDir(regionDir/polyMesh::meshSubDir);
pointIOField points
(
@ -307,6 +311,7 @@ int main(int argc, char *argv[])
Info<< "Writing points into directory " << points.path() << nl << endl;
points.write();
}
Info<< "End\n" << endl;