Improved argument handling and error messages.

Changed "axisNormal" to "axis": it isn't the normal to the axis.
This commit is contained in:
henry
2009-04-07 12:52:59 +01:00
parent 5b42b30b5d
commit 51b470c0ee
5 changed files with 30 additions and 33 deletions

View File

@ -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);
@ -171,7 +171,7 @@ int main(int argc, char *argv[])
fMesh, fMesh,
model() model()
) )
); );
} }
extrudedMesh& mesh = meshPtr(); extrudedMesh& mesh = meshPtr();
@ -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,8 +252,8 @@ 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;

View File

@ -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
// ************************************************************************* // // ************************************************************************* //

View File

@ -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();

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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();
} }