mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Improved argument handling and error messages.
Changed "axisNormal" to "axis": it isn't the normal to the axis.
This commit is contained in:
@ -52,19 +52,18 @@ using namespace Foam;
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
# include "setRoots.H"
|
#include "setRoots.H"
|
||||||
# include "createTimeExtruded.H"
|
#include "createTimeExtruded.H"
|
||||||
|
|
||||||
|
if (args.options().found("sourceCase") == args.options().found("surface"))
|
||||||
if (args.options().found("sourceRoot") == args.options().found("surface"))
|
|
||||||
{
|
{
|
||||||
FatalErrorIn(args.executable())
|
FatalErrorIn(args.executable())
|
||||||
<< "Need to specify either -sourceRoot/Case/Patch or -surface"
|
<< "Specify either -sourceCase and -sourcePatch"
|
||||||
<< " option to specify the source of the patch to extrude"
|
" or -surface options\n"
|
||||||
|
" to specify the source of the patch to extrude"
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
autoPtr<extrudedMesh> meshPtr(NULL);
|
autoPtr<extrudedMesh> meshPtr(NULL);
|
||||||
|
|
||||||
autoPtr<extrudeModel> model
|
autoPtr<extrudeModel> model
|
||||||
@ -84,23 +83,24 @@ int main(int argc, char *argv[])
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (args.options().found("sourceRoot"))
|
if (args.options().found("sourceCase"))
|
||||||
{
|
{
|
||||||
fileName rootDirSource(args.options()["sourceRoot"]);
|
fileName sourceCasePath(args.options()["sourceCase"]);
|
||||||
fileName caseDirSource(args.options()["sourceCase"]);
|
fileName sourceRootDir = sourceCasePath.path();
|
||||||
fileName patchName(args.options()["sourcePatch"]);
|
fileName sourceCaseDir = sourceCasePath.name();
|
||||||
|
word patchName(args.options()["sourcePatch"]);
|
||||||
|
|
||||||
Info<< "Extruding patch " << patchName
|
Info<< "Extruding patch " << patchName
|
||||||
<< " on mesh " << rootDirSource << ' ' << caseDirSource << nl
|
<< " on mesh " << sourceCasePath << nl
|
||||||
<< endl;
|
<< endl;
|
||||||
|
|
||||||
Time runTime
|
Time runTime
|
||||||
(
|
(
|
||||||
Time::controlDictName,
|
Time::controlDictName,
|
||||||
rootDirSource,
|
sourceRootDir,
|
||||||
caseDirSource
|
sourceCaseDir
|
||||||
);
|
);
|
||||||
# include "createPolyMesh.H"
|
#include "createPolyMesh.H"
|
||||||
|
|
||||||
label patchID = mesh.boundaryMesh().findPatchID(patchName);
|
label patchID = mesh.boundaryMesh().findPatchID(patchName);
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ int main(int argc, char *argv[])
|
|||||||
const vector span = bb.span();
|
const vector span = bb.span();
|
||||||
const scalar mergeDim = 1E-4 * bb.minDim();
|
const scalar mergeDim = 1E-4 * bb.minDim();
|
||||||
|
|
||||||
Pout<< "Mesh bounding box:" << bb << nl
|
Info<< "Mesh bounding box:" << bb << nl
|
||||||
<< " with span:" << span << nl
|
<< " with span:" << span << nl
|
||||||
<< "Merge distance :" << mergeDim << nl
|
<< "Merge distance :" << mergeDim << nl
|
||||||
<< endl;
|
<< endl;
|
||||||
@ -201,7 +201,7 @@ int main(int argc, char *argv[])
|
|||||||
// ~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~
|
||||||
|
|
||||||
{
|
{
|
||||||
Pout<< "Collapsing edges < " << mergeDim << " ..." << nl << endl;
|
Info<< "Collapsing edges < " << mergeDim << " ..." << nl << endl;
|
||||||
|
|
||||||
// Edge collapsing engine
|
// Edge collapsing engine
|
||||||
edgeCollapser collapser(mesh);
|
edgeCollapser collapser(mesh);
|
||||||
@ -217,7 +217,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (d < mergeDim)
|
if (d < mergeDim)
|
||||||
{
|
{
|
||||||
Pout<< "Merging edge " << e << " since length " << d
|
Info<< "Merging edge " << e << " since length " << d
|
||||||
<< " << " << mergeDim << nl;
|
<< " << " << mergeDim << nl;
|
||||||
|
|
||||||
// Collapse edge to e[0]
|
// Collapse edge to e[0]
|
||||||
@ -252,7 +252,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (args.options().found("mergeFaces"))
|
if (args.options().found("mergeFaces"))
|
||||||
{
|
{
|
||||||
Pout<< "Assuming full 360 degree axisymmetric case;"
|
Info<< "Assuming full 360 degree axisymmetric case;"
|
||||||
<< " stitching faces on patches "
|
<< " stitching faces on patches "
|
||||||
<< patches[origPatchID].name() << " and "
|
<< patches[origPatchID].name() << " and "
|
||||||
<< patches[otherPatchID].name() << " together ..." << nl << endl;
|
<< patches[otherPatchID].name() << " together ..." << nl << endl;
|
||||||
|
|||||||
@ -48,7 +48,7 @@ wedge::wedge(const dictionary& dict)
|
|||||||
:
|
:
|
||||||
extrudeModel(typeName, dict),
|
extrudeModel(typeName, dict),
|
||||||
axisPt_(coeffDict_.lookup("axisPt")),
|
axisPt_(coeffDict_.lookup("axisPt")),
|
||||||
axisNormal_(coeffDict_.lookup("axisNormal")),
|
axis_(coeffDict_.lookup("axis")),
|
||||||
angle_
|
angle_
|
||||||
(
|
(
|
||||||
readScalar(coeffDict_.lookup("angle"))
|
readScalar(coeffDict_.lookup("angle"))
|
||||||
@ -96,7 +96,7 @@ point wedge::operator()
|
|||||||
// of surface point and surface normal.
|
// of surface point and surface normal.
|
||||||
point d = surfacePoint - axisPt_;
|
point d = surfacePoint - axisPt_;
|
||||||
|
|
||||||
d -= (axisNormal_ & d)*axisNormal_;
|
d -= (axis_ & d)*axis_;
|
||||||
|
|
||||||
scalar dMag = mag(d);
|
scalar dMag = mag(d);
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ point wedge::operator()
|
|||||||
|
|
||||||
if (dMag > VSMALL)
|
if (dMag > VSMALL)
|
||||||
{
|
{
|
||||||
vector n = (d/dMag) ^ axisNormal_;
|
vector n = (d/dMag) ^ axis_;
|
||||||
|
|
||||||
rotatedPoint +=
|
rotatedPoint +=
|
||||||
+ cos(sliceAngle)*d
|
+ cos(sliceAngle)*d
|
||||||
@ -124,4 +124,3 @@ point wedge::operator()
|
|||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|
||||||
|
|||||||
@ -60,13 +60,13 @@ class wedge
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
//- point on axis
|
//- Point on axis
|
||||||
const point axisPt_;
|
const point axisPt_;
|
||||||
|
|
||||||
//- normalized direction of axis
|
//- Normalized direction of axis
|
||||||
const vector axisNormal_;
|
const vector axis_;
|
||||||
|
|
||||||
//- overall angle (radians)
|
//- Overall angle (radians)
|
||||||
const scalar angle_;
|
const scalar angle_;
|
||||||
|
|
||||||
|
|
||||||
@ -80,6 +80,7 @@ public:
|
|||||||
//- Construct from components
|
//- Construct from components
|
||||||
wedge(const dictionary& dict);
|
wedge(const dictionary& dict);
|
||||||
|
|
||||||
|
|
||||||
//- Destrcuctor
|
//- Destrcuctor
|
||||||
~wedge();
|
~wedge();
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ nLayers 1;
|
|||||||
wedgeCoeffs
|
wedgeCoeffs
|
||||||
{
|
{
|
||||||
axisPt (0 0 0);
|
axisPt (0 0 0);
|
||||||
axisNormal (0 -1 0);
|
axis (0 -1 0);
|
||||||
angle 2.0;
|
angle 2.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,4 +47,3 @@ sigmaRadialCoeffs
|
|||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
argList::validArgs.clear();
|
argList::validArgs.clear();
|
||||||
argList::noParallel();
|
argList::noParallel();
|
||||||
|
|
||||||
argList::validOptions.insert("sourceRoot", "source root");
|
|
||||||
argList::validOptions.insert("sourceCase", "source case");
|
argList::validOptions.insert("sourceCase", "source case");
|
||||||
argList::validOptions.insert("sourcePatch", "source patch");
|
argList::validOptions.insert("sourcePatch", "source patch");
|
||||||
|
|
||||||
@ -15,4 +14,3 @@
|
|||||||
{
|
{
|
||||||
FatalError.exit();
|
FatalError.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user