diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C index f8cdecfd6fabc54fd46d2fd1995077b5a01e3049..8a0443e1a8533d8768882ee388b097227c22bc17 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -749,212 +749,211 @@ void Foam::CV2D::newPoints() boundaryConform(); -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Old Method -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -// for -// ( -// Triangulation::Finite_vertices_iterator vit = finite_vertices_begin(); -// vit != finite_vertices_end(); -// ++vit -// ) -// { -// if (vit->internalPoint()) -// { -// // Current dual-cell defining vertex ("centre") -// point2DFromPoint defVert0 = toPoint2D(vit->point()); - -// Triangulation::Edge_circulator ec = incident_edges(vit); -// Triangulation::Edge_circulator ecStart = ec; - -// // Circulate around the edges to find the first which is not -// // infinite -// do -// { -// if (!is_infinite(ec)) break; -// } while (++ec != ecStart); - -// // Store the start-end of the first non-infinte edge -// point2D de0 = toPoint2D(circumcenter(ec->first)); - -// // Keep track of the maximum edge length^2 -// scalar maxEdgeLen2 = 0.0; - -// // Keep track of the index of the longest edge -// label edgecd0i = -1; - -// // Edge counter -// label edgei = 0; - -// do -// { -// if (!is_infinite(ec)) -// { -// // Get the end of the current edge -// point2D de1 = toPoint2D -// ( -// circumcenter(ec->first->neighbor(ec->second)) -// ); - -// // Store the current edge vector -// edges[edgei] = de1 - de0; - -// // Store the edge mid-point in the vertices array -// vertices[edgei] = 0.5*(de1 + de0); - -// // Move the current edge end into the edge start for the -// // next iteration -// de0 = de1; - -// // Keep track of the longest edge - -// scalar edgeLen2 = magSqr(edges[edgei]); - -// if (edgeLen2 > maxEdgeLen2) -// { -// maxEdgeLen2 = edgeLen2; -// edgecd0i = edgei; -// } - -// edgei++; -// } -// } while (++ec != ecStart); - -// // Initialise cd0 such that the mesh will align -// // in in the x-y directions -// vector2D cd0(1, 0); - -// if (meshControls().relaxOrientation()) -// { -// // Get the longest edge from the array and use as the primary -// // direction of the coordinate system of the "square" cell -// cd0 = edges[edgecd0i]; -// } - -// if (meshControls().nearWallAlignedDist() > 0) -// { -// pointIndexHit pHit = qSurf_.tree().findNearest -// ( -// toPoint3D(defVert0), -// meshControls().nearWallAlignedDist2() -// ); - -// if (pHit.hit()) -// { -// cd0 = toPoint2D(faceNormals[pHit.index()]); -// } -// } - -// // Rotate by 45deg needed to create an averaging procedure which -// // encourages the cells to be square -// cd0 = vector2D(cd0.x() + cd0.y(), cd0.y() - cd0.x()); - -// // Normalise the primary coordinate direction -// cd0 /= mag(cd0); - -// // Calculate the orthogonal coordinate direction -// vector2D cd1(-cd0.y(), cd0.x()); - - -// // Restart the circulator -// ec = ecStart; - -// // ... and the counter -// edgei = 0; - -// // Initialise the displacement for the centre and sum-weights -// vector2D disp = vector2D::zero; -// scalar sumw = 0; - -// do -// { -// if (!is_infinite(ec)) -// { -// // Pick up the current edge -// const vector2D& ei = edges[edgei]; - -// // Calculate the centre to edge-centre vector -// vector2D deltai = vertices[edgei] - defVert0; - -// // Set the weight for this edge contribution -// scalar w = 1; - -// if (meshControls().squares()) -// { -// w = magSqr(deltai.x()*ei.y() - deltai.y()*ei.x()); -// // alternative weights -// //w = mag(deltai.x()*ei.y() - deltai.y()*ei.x()); -// //w = magSqr(ei)*mag(deltai); - -// // Use the following for an ~square mesh -// // Find the coordinate contributions for this edge delta -// scalar cd0deltai = cd0 & deltai; -// scalar cd1deltai = cd1 & deltai; - -// // Create a "square" displacement -// if (mag(cd0deltai) > mag(cd1deltai)) -// { -// disp += (w*cd0deltai)*cd0; -// } -// else -// { -// disp += (w*cd1deltai)*cd1; -// } -// } -// else -// { -// // Use this for a hexagon/pentagon mesh -// disp += w*deltai; -// } - -// // Sum the weights -// sumw += w; -// } -// else -// { -// FatalErrorInFunction -// << "Infinite triangle found in internal mesh" -// << exit(FatalError); -// } - -// edgei++; - -// } while (++ec != ecStart); - -// // Calculate the average displacement -// disp /= sumw; -// totalDisp += disp; -// totalDist += mag(disp); - -// // Move the point by a fraction of the average displacement -// movePoint(vit, defVert0 + relaxation*disp); -// } -// } - -// Info << "\nTotal displacement = " << totalDisp -// << " total distance = " << totalDist << endl; -} + // Old Method + /* + for + ( + Triangulation::Finite_vertices_iterator vit = finite_vertices_begin(); + vit != finite_vertices_end(); + ++vit + ) + { + if (vit->internalPoint()) + { + // Current dual-cell defining vertex ("centre") + point2DFromPoint defVert0 = toPoint2D(vit->point()); + + Triangulation::Edge_circulator ec = incident_edges(vit); + Triangulation::Edge_circulator ecStart = ec; + + // Circulate around the edges to find the first which is not + // infinite + do + { + if (!is_infinite(ec)) break; + } while (++ec != ecStart); + + // Store the start-end of the first non-infinte edge + point2D de0 = toPoint2D(circumcenter(ec->first)); + + // Keep track of the maximum edge length^2 + scalar maxEdgeLen2 = 0.0; + + // Keep track of the index of the longest edge + label edgecd0i = -1; + + // Edge counter + label edgei = 0; + + do + { + if (!is_infinite(ec)) + { + // Get the end of the current edge + point2D de1 = toPoint2D + ( + circumcenter(ec->first->neighbor(ec->second)) + ); + + // Store the current edge vector + edges[edgei] = de1 - de0; + + // Store the edge mid-point in the vertices array + vertices[edgei] = 0.5*(de1 + de0); + + // Move the current edge end into the edge start for the + // next iteration + de0 = de1; + + // Keep track of the longest edge + + scalar edgeLen2 = magSqr(edges[edgei]); + + if (edgeLen2 > maxEdgeLen2) + { + maxEdgeLen2 = edgeLen2; + edgecd0i = edgei; + } + + edgei++; + } + } while (++ec != ecStart); + + // Initialise cd0 such that the mesh will align + // in in the x-y directions + vector2D cd0(1, 0); + + if (meshControls().relaxOrientation()) + { + // Get the longest edge from the array and use as the primary + // direction of the coordinate system of the "square" cell + cd0 = edges[edgecd0i]; + } + + if (meshControls().nearWallAlignedDist() > 0) + { + pointIndexHit pHit = qSurf_.tree().findNearest + ( + toPoint3D(defVert0), + meshControls().nearWallAlignedDist2() + ); + + if (pHit.hit()) + { + cd0 = toPoint2D(faceNormals[pHit.index()]); + } + } + + // Rotate by 45deg needed to create an averaging procedure which + // encourages the cells to be square + cd0 = vector2D(cd0.x() + cd0.y(), cd0.y() - cd0.x()); + + // Normalise the primary coordinate direction + cd0 /= mag(cd0); + + // Calculate the orthogonal coordinate direction + vector2D cd1(-cd0.y(), cd0.x()); + + + // Restart the circulator + ec = ecStart; + + // ... and the counter + edgei = 0; + + // Initialise the displacement for the centre and sum-weights + vector2D disp = vector2D::zero; + scalar sumw = 0; + + do + { + if (!is_infinite(ec)) + { + // Pick up the current edge + const vector2D& ei = edges[edgei]; + // Calculate the centre to edge-centre vector + vector2D deltai = vertices[edgei] - defVert0; + + // Set the weight for this edge contribution + scalar w = 1; + + if (meshControls().squares()) + { + w = magSqr(deltai.x()*ei.y() - deltai.y()*ei.x()); + // alternative weights + //w = mag(deltai.x()*ei.y() - deltai.y()*ei.x()); + //w = magSqr(ei)*mag(deltai); + + // Use the following for an ~square mesh + // Find the coordinate contributions for this edge delta + scalar cd0deltai = cd0 & deltai; + scalar cd1deltai = cd1 & deltai; + + // Create a "square" displacement + if (mag(cd0deltai) > mag(cd1deltai)) + { + disp += (w*cd0deltai)*cd0; + } + else + { + disp += (w*cd1deltai)*cd1; + } + } + else + { + // Use this for a hexagon/pentagon mesh + disp += w*deltai; + } + + // Sum the weights + sumw += w; + } + else + { + FatalErrorInFunction + << "Infinite triangle found in internal mesh" + << exit(FatalError); + } -//void Foam::CV2D::moveInternalPoints(const point2DField& newPoints) -//{ -// label pointI = 0; - -// for -// ( -// Triangulation::Finite_vertices_iterator vit = finite_vertices_begin(); -// vit != finite_vertices_end(); -// ++vit -// ) -// { -// if (vit->internalPoint()) -// { -// movePoint(vit, newPoints[pointI++]); -// } -// } -//} + edgei++; + } while (++ec != ecStart); + + // Calculate the average displacement + disp /= sumw; + totalDisp += disp; + totalDist += mag(disp); + + // Move the point by a fraction of the average displacement + movePoint(vit, defVert0 + relaxation*disp); + } + } + + Info << "\nTotal displacement = " << totalDisp + << " total distance = " << totalDist << endl; + */ +} + +/* +void Foam::CV2D::moveInternalPoints(const point2DField& newPoints) +{ + label pointI = 0; + + for + ( + Triangulation::Finite_vertices_iterator vit = finite_vertices_begin(); + vit != finite_vertices_end(); + ++vit + ) + { + if (vit->internalPoint()) + { + movePoint(vit, newPoints[pointI++]); + } + } +} +*/ void Foam::CV2D::write() const { diff --git a/src/OpenFOAM/db/error/StaticAssert.H b/src/OpenFOAM/db/error/StaticAssert.H index daf2522de57234db648ae8b0cab0ff3a4d102056..c6cf1e7b231ff40f813ab6a5042cdf69a3285236 100644 --- a/src/OpenFOAM/db/error/StaticAssert.H +++ b/src/OpenFOAM/db/error/StaticAssert.H @@ -62,17 +62,11 @@ class StaticAssertionTest {}; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Internal use: -// ~~~~~~~~~~~~~ - // Paste together strings, even if an argument is itself a macro #define StaticAssertMacro(X,Y) StaticAssertMacro1(X,Y) #define StaticAssertMacro1(X,Y) StaticAssertMacro2(X,Y) #define StaticAssertMacro2(X,Y) X##Y -// External use: -// ~~~~~~~~~~~~~ - //- Assert that some test is true at compile-time #define StaticAssert(Test) \ typedef ::Foam::StaticAssertionTest \ diff --git a/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H b/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H index 9ec26a44267f5887e2dfe5a9ce1957178396894b..6386c460fb86a195f01ea64451b0cdbf54f097c6 100644 --- a/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H +++ b/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H @@ -42,12 +42,8 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// external use: -// ~~~~~~~~~~~~~ -// declare a run-time selection: -#define declareRunTimeSelectionTable\ -(autoPtr,baseType,argNames,argList,parList) \ +//- Declare a run-time selection +#define declareRunTimeSelectionTable(autoPtr,baseType,argNames,argList,parList)\ \ /* Construct from argList function pointer type */ \ typedef autoPtr<baseType> (*argNames##ConstructorPtr)argList; \ @@ -134,11 +130,9 @@ Description -// external use: -// ~~~~~~~~~~~~~ -// declare a run-time selection for derived classes: -#define declareRunTimeNewSelectionTable\ -(autoPtr,baseType,argNames,argList,parList) \ +//- Declare a run-time selection for derived classes +#define declareRunTimeNewSelectionTable( \ + autoPtr,baseType,argNames,argList,parList) \ \ /* Construct from argList function pointer type */ \ typedef autoPtr<baseType> (*argNames##ConstructorPtr)argList; \ @@ -234,10 +228,8 @@ Description }; -// internal use: -// constructor aid -#define defineRunTimeSelectionTableConstructor\ -(baseType,argNames) \ +// Constructor aid +#define defineRunTimeSelectionTableConstructor(baseType,argNames) \ \ /* Table constructor called from the table add function */ \ void baseType::construct##argNames##ConstructorTables() \ @@ -252,10 +244,8 @@ Description } -// internal use: -// destructor aid -#define defineRunTimeSelectionTableDestructor\ -(baseType,argNames) \ +// Destructor aid +#define defineRunTimeSelectionTableDestructor(baseType,argNames) \ \ /* Table destructor called from the table add function destructor */ \ void baseType::destroy##argNames##ConstructorTables() \ @@ -268,44 +258,28 @@ Description } -// internal use: -// create pointer to hash-table of functions -#define defineRunTimeSelectionTablePtr\ -(baseType,argNames) \ +// Create pointer to hash-table of functions +#define defineRunTimeSelectionTablePtr(baseType,argNames) \ \ /* Define the constructor function table */ \ baseType::argNames##ConstructorTable* \ baseType::argNames##ConstructorTablePtr_ = NULL -// not much in use: -#define defineTemplateRunTimeSelectionTablePtr(baseType,argNames) \ - \ - /* Define the constructor function table */ \ - typename baseType::argNames##ConstructorTable* \ - baseType::argNames##ConstructorTablePtr_ = NULL - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// external use: -// ~~~~~~~~~~~~~ -// define run-time selection table -#define defineRunTimeSelectionTable\ -(baseType,argNames) \ +//- Define run-time selection table +#define defineRunTimeSelectionTable(baseType,argNames) \ \ defineRunTimeSelectionTablePtr(baseType,argNames); \ defineRunTimeSelectionTableConstructor(baseType,argNames); \ defineRunTimeSelectionTableDestructor(baseType,argNames) -// external use: -// ~~~~~~~~~~~~~ -// define run-time selection table for template classes -// use when baseType doesn't need a template argument (eg, is a typedef) -#define defineTemplateRunTimeSelectionTable\ -(baseType,argNames) \ +//- Define run-time selection table for template classes +// use when baseType doesn't need a template argument (eg, is a typedef) +#define defineTemplateRunTimeSelectionTable(baseType,argNames) \ \ template<> \ defineRunTimeSelectionTablePtr(baseType,argNames); \ @@ -317,12 +291,8 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// internal use: -// constructor aid -// use when baseType requires the Targ template argument -#define defineTemplatedRunTimeSelectionTableConstructor\ -(baseType,argNames,Targ) \ +// Constructor aid: use when baseType requires the Targ template argument +#define defineTemplatedRunTimeSelectionTableConstructor(baseType,argNames,Targ)\ \ /* Table constructor called from the table add function */ \ void baseType<Targ>::construct##argNames##ConstructorTables() \ @@ -337,11 +307,8 @@ Description } -// internal use: -// destructor aid -// use when baseType requires the Targ template argument -#define defineTemplatedRunTimeSelectionTableDestructor\ -(baseType,argNames,Targ) \ +// Destructor aid: use when baseType requires the Targ template argument +#define defineTemplatedRunTimeSelectionTableDestructor(baseType,argNames,Targ) \ \ /* Table destructor called from the table add function destructor */ \ void baseType<Targ>::destroy##argNames##ConstructorTables() \ @@ -354,23 +321,18 @@ Description } -// internal use: -// create pointer to hash-table of functions -// use when baseType requires the Targ template argument -#define defineTemplatedRunTimeSelectionTablePtr\ -(baseType,argNames,Targ) \ +//- Create pointer to hash-table of functions +// use when baseType requires the Targ template argument +#define defineTemplatedRunTimeSelectionTablePtr(baseType,argNames,Targ) \ \ /* Define the constructor function table */ \ baseType<Targ>::argNames##ConstructorTable* \ baseType<Targ>::argNames##ConstructorTablePtr_ = NULL -// external use: -// ~~~~~~~~~~~~~ -// define run-time selection table for template classes -// use when baseType requires the Targ template argument -#define defineTemplatedRunTimeSelectionTable\ -(baseType,argNames,Targ) \ +//- Define run-time selection table for template classes +// use when baseType requires the Targ template argument +#define defineTemplatedRunTimeSelectionTable(baseType,argNames,Targ) \ \ template<> \ defineTemplatedRunTimeSelectionTablePtr(baseType,argNames,Targ); \ diff --git a/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H b/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H index 2bef103e9307ae1ea1174fc40509c8f733c49758..ebf1d79b6b7d0562e28481cc8dde3a15811aa71c 100644 --- a/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H +++ b/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H @@ -38,15 +38,12 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// external use: -// ~~~~~~~~~~~~~ -// declare a run-time selection: -#define declareMemberFunctionSelectionTable\ -(returnType,baseType,memberFunction,argNames,argList,parList) \ +//- Declare a run-time selection: +#define declareMemberFunctionSelectionTable( \ + returnType,baseType,memberFunction,argNames,argList,parList) \ \ /* Construct from argList function pointer type */ \ - typedef returnType (*memberFunction##argNames##MemberFunctionPtr)argList; \ + typedef returnType (*memberFunction##argNames##MemberFunctionPtr)argList; \ \ /* Construct from argList function table type */ \ typedef HashTable \ @@ -89,28 +86,26 @@ Description static void destroy##memberFunction##argNames##MemberFunctionTables() -// internal use: -// constructor aid -#define defineMemberFunctionSelectionTableMemberFunction\ -(baseType,memberFunction,argNames) \ +// Constructor aid +#define defineMemberFunctionSelectionTableMemberFunction( \ + baseType,memberFunction,argNames) \ \ /* Table memberFunction called from the table add function */ \ - void baseType::construct##memberFunction##argNames##MemberFunctionTables()\ + void baseType::construct##memberFunction##argNames##MemberFunctionTables() \ { \ static bool constructed = false; \ if (!constructed) \ { \ constructed = true; \ baseType::memberFunction##argNames##MemberFunctionTablePtr_ \ - = new baseType::memberFunction##argNames##MemberFunctionTable;\ + = new baseType::memberFunction##argNames##MemberFunctionTable; \ } \ } -// internal use: -// destructor aid -#define defineMemberFunctionSelectionTableDestructor\ -(baseType,memberFunction,argNames) \ +// Destructor aid +#define defineMemberFunctionSelectionTableDestructor( \ + baseType,memberFunction,argNames) \ \ /* Table destructor called from the table add function destructor */ \ void baseType::destroy##memberFunction##argNames##MemberFunctionTables() \ @@ -123,32 +118,19 @@ Description } -// internal use: -// create pointer to hash-table of functions -#define defineMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames) \ +// Create pointer to hash-table of functions +#define defineMemberFunctionSelectionTablePtr(baseType,memberFunction,argNames)\ \ /* Define the memberFunction table */ \ baseType::memberFunction##argNames##MemberFunctionTable* \ baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL -// not much in use: -#define defineTemplateMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames) \ - \ - /* Define the memberFunction table */ \ - typename baseType::memberFunction##argNames##MemberFunctionTable* \ - baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// external use: -// ~~~~~~~~~~~~~ -// define run-time selection table -#define defineMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames) \ +//- Define run-time selection table +#define defineMemberFunctionSelectionTable(baseType,memberFunction,argNames) \ \ defineMemberFunctionSelectionTablePtr \ (baseType,memberFunction,argNames); \ @@ -158,12 +140,10 @@ Description (baseType,memberFunction,argNames) -// external use: -// ~~~~~~~~~~~~~ -// define run-time selection table for template classes -// use when baseType doesn't need a template argument (eg, is a typedef) -#define defineTemplateMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames) \ +//- Define run-time selection table for template classes +// use when baseType doesn't need a template argument (eg, is a typedef) +#define defineTemplateMemberFunctionSelectionTable( \ + baseType,memberFunction,argNames) \ \ template<> \ defineMemberFunctionSelectionTablePtr \ @@ -178,11 +158,9 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// internal use: -// constructor aid -// use when baseType requires the Targ template argument -#define defineTemplatedMemberFunctionSelectionTableMemberFunction\ -(baseType,memberFunction,argNames,Targ) \ +// Constructor aid: use when baseType requires the Targ template argument +#define defineTemplatedMemberFunctionSelectionTableMemberFunction( \ + baseType,memberFunction,argNames,Targ) \ \ /* Table memberFunction called from the table add function */ \ void baseType<Targ>::construct##memberFunction##argNames## \ @@ -192,18 +170,17 @@ Description if (!constructed) \ { \ constructed = true; \ - baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \ + baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \ = new baseType<Targ>::memberFunction##argNames## \ MemberFunctionTable; \ } \ } -// internal use: -// destructor aid +// Destructor aid // use when baseType requires the Targ template argument -#define defineTemplatedMemberFunctionSelectionTableDestructor\ -(baseType,memberFunction,argNames,Targ) \ +#define defineTemplatedMemberFunctionSelectionTableDestructor( \ + baseType,memberFunction,argNames,Targ) \ \ /* Table destructor called from the table add function destructor */ \ void baseType<Targ>::destroy##memberFunction##argNames## \ @@ -211,7 +188,7 @@ Description { \ if \ ( \ - baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \ + baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \ ) \ { \ delete baseType<Targ>::memberFunction##argNames## \ @@ -222,23 +199,20 @@ Description } -// internal use: -// create pointer to hash-table of functions +// Create pointer to hash-table of functions // use when baseType requires the Targ template argument -#define defineTemplatedMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames,Targ) \ +#define defineTemplatedMemberFunctionSelectionTablePtr( \ + baseType,memberFunction,argNames,Targ) \ \ /* Define the memberFunction table */ \ baseType<Targ>::memberFunction##argNames##MemberFunctionTable* \ baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ = NULL -// external use: -// ~~~~~~~~~~~~~ -// define run-time selection table for template classes -// use when baseType requires the Targ template argument -#define defineTemplatedMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames,Targ) \ +//- Define run-time selection table for template classes +// use when baseType requires the Targ template argument +#define defineTemplatedMemberFunctionSelectionTable( \ + baseType,memberFunction,argNames,Targ) \ \ template<> \ defineTemplatedMemberFunctionSelectionTablePtr \ diff --git a/src/OpenFOAM/db/typeInfo/className.H b/src/OpenFOAM/db/typeInfo/className.H index 46ab38152bbbc1a58ec3108cb7717fbdcd8f2c1c..23813ecfcd7c64bd019530a61918d70028969e6d 100644 --- a/src/OpenFOAM/db/typeInfo/className.H +++ b/src/OpenFOAM/db/typeInfo/className.H @@ -32,10 +32,7 @@ Description #include "defineDebugSwitch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// declarations (without debug information) -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Declarations (without debug information) //- Add typeName information from argument \a TypeNameString to a class. // Without debug information @@ -60,9 +57,8 @@ public: \ } -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// declarations (with debug information) -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Declarations (with debug information) //- Add typeName information from argument \a TypeNameString to a class. // Also declares debug information. @@ -87,9 +83,8 @@ public: \ } -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// definitions (without debug information) -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Definitions (without debug information) //- Define the typeName, with alternative lookup as \a Name #define defineTypeNameWithName(Type, Name) \ @@ -117,9 +112,8 @@ public: \ defineTemplateTypeNameWithName(Type, Type::typeName_()) -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// definitions (with debug information) -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Definitions (with debug information) //- Define the typeName and debug information #define defineTypeNameAndDebug(Type, DebugSwitch) \ @@ -141,7 +135,9 @@ public: \ defineNamedTemplateTypeName(Type); \ defineNamedTemplateDebugSwitch(Type, DebugSwitch) -// for templated sub-classes + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// For templated sub-classes //- Define the typeName and debug information, lookup as \a Name #define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch) \ diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H index 946b28baf839cc11e1759ac10f17de582f4ff204..f94aa39829c431421132118977f5bafeb02502c8 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H +++ b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H @@ -300,9 +300,6 @@ dimensioned<Type> operator/ ); -// Products -// ~~~~~~~~ - #define PRODUCT_OPERATOR(product, op, opFunc) \ \ template<class Type1, class Type2> \ diff --git a/src/OpenFOAM/global/debug/defineDebugSwitch.H b/src/OpenFOAM/global/debug/defineDebugSwitch.H index f71e960f40b3d960751ffa44f0f0389633584ad0..c61e7180b3ddb5bdf4ddb4449f79c58a21eea47e 100644 --- a/src/OpenFOAM/global/debug/defineDebugSwitch.H +++ b/src/OpenFOAM/global/debug/defineDebugSwitch.H @@ -35,10 +35,6 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// definitions (debug information only) -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - namespace Foam { @@ -74,6 +70,8 @@ public: } // End namespace Foam +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #define registerTemplateDebugSwitchWithName(Type,Name) \ template<> \ const Foam::RegisterDebugSwitch<Type> \ @@ -119,6 +117,7 @@ public: template<> \ defineDebugSwitchWithName(Type, Name, DebugSwitch); \ registerTemplateDebugSwitchWithName(Type, Name) + //- Define the debug information for templates sub-classes, lookup as \a Name #define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \ template<> \ @@ -135,8 +134,6 @@ public: defineTemplateDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch) -// For templated sub-classes - //- Define the debug information for templates // Useful with typedefs #define defineTemplate2DebugSwitch(Type, DebugSwitch) \ diff --git a/src/OpenFOAM/include/addDictOption.H b/src/OpenFOAM/include/addDictOption.H index f538e572948c95a5e9e47f85f08bfcd4ab66b366..055983396acddd01ca4b78d28982527d62969922 100644 --- a/src/OpenFOAM/include/addDictOption.H +++ b/src/OpenFOAM/include/addDictOption.H @@ -1,10 +1,6 @@ -// -// addDictOption.H -// ~~~~~~~~~~~~~~~~~ - - Foam::argList::addOption - ( - "dict", - "file", - "read control dictionary from specified location" - ); +Foam::argList::addOption +( + "dict", + "file", + "read control dictionary from specified location" +); diff --git a/src/OpenFOAM/include/addOverwriteOption.H b/src/OpenFOAM/include/addOverwriteOption.H index 0c05c01c9367fd4523f62a9b6f6747ec124382da..a1ac66992898c3be1a5e418c4689bd844c0c88ba 100644 --- a/src/OpenFOAM/include/addOverwriteOption.H +++ b/src/OpenFOAM/include/addOverwriteOption.H @@ -1,10 +1,5 @@ -// -// addOverwriteOption.H -// ~~~~~~~~~~~~~~~~~~~~ - - Foam::argList::addBoolOption - ( - "overwrite", - "overwrite existing mesh/results files" - ); - +Foam::argList::addBoolOption +( + "overwrite", + "overwrite existing mesh/results files" +); diff --git a/src/OpenFOAM/include/addRegionOption.H b/src/OpenFOAM/include/addRegionOption.H index d801dd0de60ed3b5607eb057a352027ecc422e6e..8aaca18e98107a6ef635e6912d69f8d641c543cd 100644 --- a/src/OpenFOAM/include/addRegionOption.H +++ b/src/OpenFOAM/include/addRegionOption.H @@ -1,11 +1,6 @@ -// -// addRegionOption.H -// ~~~~~~~~~~~~~~~~~ - - Foam::argList::addOption - ( - "region", - "name", - "specify alternative mesh region" - ); - +Foam::argList::addOption +( + "region", + "name", + "specify alternative mesh region" +); diff --git a/src/OpenFOAM/include/addTimeOptions.H b/src/OpenFOAM/include/addTimeOptions.H index 6110015c70f6fa6e749d5dd4a782cdf0d3049400..42d4543d8372b8645e80fc6f9081bcf70ae1c7a2 100644 --- a/src/OpenFOAM/include/addTimeOptions.H +++ b/src/OpenFOAM/include/addTimeOptions.H @@ -1,29 +1,24 @@ -// -// addTimeOptions.H -// ~~~~~~~~~~~~~~~~ +Foam::argList::addBoolOption +( + "constant", + "include the 'constant/' dir in the times list" +); - Foam::argList::addBoolOption - ( - "constant", - "include the 'constant/' dir in the times list" - ); +Foam::argList::addBoolOption +( + "latestTime", + "select the latest time" +); - Foam::argList::addBoolOption - ( - "latestTime", - "select the latest time" - ); - - Foam::argList::addBoolOption - ( - "noZero", - "exclude the '0/' dir from the times list" - ); - - Foam::argList::addOption - ( - "time", - "time", - "specify a single time value to select" - ); +Foam::argList::addBoolOption +( + "noZero", + "exclude the '0/' dir from the times list" +); +Foam::argList::addOption +( + "time", + "time", + "specify a single time value to select" +); diff --git a/src/OpenFOAM/include/checkConstantOption.H b/src/OpenFOAM/include/checkConstantOption.H index 9f39ac65413c0f6bbb1b510993f3e122fea3955f..578df75350e89277fc3619bdaf5dd95da00b44ce 100644 --- a/src/OpenFOAM/include/checkConstantOption.H +++ b/src/OpenFOAM/include/checkConstantOption.H @@ -1,14 +1,11 @@ -// -// checkConstantOption.H -// ~~~~~~~~~~~~~~~~~~~~~ -// unless -constant is present, skip startTime if it is "constant" +// Unless -constant is present, skip startTime if it is "constant" - if - ( - !args.optionFound("constant") - && (startTime < Times.size()-1) - && (Times[startTime].name() == "constant") - ) - { - startTime++; - } +if +( + !args.optionFound("constant") + && (startTime < Times.size()-1) + && (Times[startTime].name() == "constant") +) +{ + startTime++; +} diff --git a/src/OpenFOAM/include/checkTimeOption.H b/src/OpenFOAM/include/checkTimeOption.H index 412d44ef0e702944f2a15b38711e36ffb056eceb..b8b170a8221825f7059130dc192aa09726def77b 100644 --- a/src/OpenFOAM/include/checkTimeOption.H +++ b/src/OpenFOAM/include/checkTimeOption.H @@ -1,6 +1,3 @@ -// -// checkTimeOption.H -// ~~~~~~~~~~~~~~~~~ // Check -time and -latestTime options if (args.optionFound("time")) diff --git a/src/OpenFOAM/include/checkTimeOptions.H b/src/OpenFOAM/include/checkTimeOptions.H index d0d2051ae43e1cab6a1d5ab0bcbdf40a4e7fc5cb..789135603533d2b00725e98531174f8439985e1c 100644 --- a/src/OpenFOAM/include/checkTimeOptions.H +++ b/src/OpenFOAM/include/checkTimeOptions.H @@ -1,7 +1,3 @@ -// -// checkTimeOptions.H -// ~~~~~~~~~~~~~~~~~~ - Foam::label startTime = 0; // Unless -constant is present, skip startTime if it is "constant" diff --git a/src/OpenFOAM/include/checkTimeOptionsNoConstant.H b/src/OpenFOAM/include/checkTimeOptionsNoConstant.H index 6b4e836f5af68cae5ef8de43d1b9eccfaf71ff58..02312375df2e46b5acc3a0bd674d3eb95f3a0cbe 100644 --- a/src/OpenFOAM/include/checkTimeOptionsNoConstant.H +++ b/src/OpenFOAM/include/checkTimeOptionsNoConstant.H @@ -1,7 +1,3 @@ -// -// checkTimeOptionsNoConstant.H -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Foam::label startTime = 0; // Check -time and -latestTime options diff --git a/src/OpenFOAM/include/createMesh.H b/src/OpenFOAM/include/createMesh.H index 630494649d5642631313e5226115de446a515e1d..8c3d989849a2cf651323d2e78d36d872f7361f51 100644 --- a/src/OpenFOAM/include/createMesh.H +++ b/src/OpenFOAM/include/createMesh.H @@ -1,18 +1,14 @@ -// -// createMesh.H -// ~~~~~~~~~~~~ +Foam::Info + << "Create mesh for time = " + << runTime.timeName() << Foam::nl << Foam::endl; - Foam::Info - << "Create mesh for time = " - << runTime.timeName() << Foam::nl << Foam::endl; - - Foam::fvMesh mesh +Foam::fvMesh mesh +( + Foam::IOobject ( - Foam::IOobject - ( - Foam::fvMesh::defaultRegion, - runTime.timeName(), - runTime, - Foam::IOobject::MUST_READ - ) - ); + Foam::fvMesh::defaultRegion, + runTime.timeName(), + runTime, + Foam::IOobject::MUST_READ + ) +); diff --git a/src/OpenFOAM/include/createMeshNoClear.H b/src/OpenFOAM/include/createMeshNoClear.H index 8526a37be6ec2c42d0d3d6581e265676ec229ec1..ebdb3fc3bc5306291b3c96368882b4ff9c3b2435 100644 --- a/src/OpenFOAM/include/createMeshNoClear.H +++ b/src/OpenFOAM/include/createMeshNoClear.H @@ -1,19 +1,16 @@ -// -// createMeshNoClear.H -// ~~~~~~~~~~~~~~~~~~~ -// currently identical to createMesh.H +// Currently identical to createMesh.H - Foam::Info - << "Create mesh, no clear-out for time = " - << runTime.timeName() << Foam::nl << Foam::endl; +Foam::Info + << "Create mesh, no clear-out for time = " + << runTime.timeName() << Foam::nl << Foam::endl; - Foam::fvMesh mesh +Foam::fvMesh mesh +( + Foam::IOobject ( - Foam::IOobject - ( - Foam::fvMesh::defaultRegion, - runTime.timeName(), - runTime, - Foam::IOobject::MUST_READ - ) - ); + Foam::fvMesh::defaultRegion, + runTime.timeName(), + runTime, + Foam::IOobject::MUST_READ + ) +); diff --git a/src/OpenFOAM/include/createNamedMesh.H b/src/OpenFOAM/include/createNamedMesh.H index f61ec2bd6e8836d39d895b4a0604a69e26e2c4cb..bfaa243e1006aea1d1cc673b869cdf614197c3c1 100644 --- a/src/OpenFOAM/include/createNamedMesh.H +++ b/src/OpenFOAM/include/createNamedMesh.H @@ -1,30 +1,26 @@ -// -// createNamedMesh.H -// ~~~~~~~~~~~~~~~~~ +Foam::word regionName; - Foam::word regionName; +if (args.optionReadIfPresent("region", regionName)) +{ + Foam::Info + << "Create mesh " << regionName << " for time = " + << runTime.timeName() << Foam::nl << Foam::endl; +} +else +{ + regionName = Foam::fvMesh::defaultRegion; + Foam::Info + << "Create mesh for time = " + << runTime.timeName() << Foam::nl << Foam::endl; +} - if (args.optionReadIfPresent("region", regionName)) - { - Foam::Info - << "Create mesh " << regionName << " for time = " - << runTime.timeName() << Foam::nl << Foam::endl; - } - else - { - regionName = Foam::fvMesh::defaultRegion; - Foam::Info - << "Create mesh for time = " - << runTime.timeName() << Foam::nl << Foam::endl; - } - - Foam::fvMesh mesh +Foam::fvMesh mesh +( + Foam::IOobject ( - Foam::IOobject - ( - regionName, - runTime.timeName(), - runTime, - Foam::IOobject::MUST_READ - ) - ); + regionName, + runTime.timeName(), + runTime, + Foam::IOobject::MUST_READ + ) +); diff --git a/src/OpenFOAM/include/createNamedPolyMesh.H b/src/OpenFOAM/include/createNamedPolyMesh.H index bee8601c743ee3547f154b9c800c9cb2f900e0e0..2413a427f2f64e1efc708ba06a30b1f7cc1b1e91 100644 --- a/src/OpenFOAM/include/createNamedPolyMesh.H +++ b/src/OpenFOAM/include/createNamedPolyMesh.H @@ -1,30 +1,26 @@ -// -// createNamedPolyMesh.H -// ~~~~~~~~~~~~~~~~~~~~~ +Foam::word regionName; - Foam::word regionName; +if (args.optionReadIfPresent("region", regionName)) +{ + Foam::Info + << "Create polyMesh " << regionName << " for time = " + << runTime.timeName() << Foam::nl << Foam::endl; +} +else +{ + regionName = Foam::polyMesh::defaultRegion; + Foam::Info + << "Create polyMesh for time = " + << runTime.timeName() << Foam::nl << Foam::endl; +} - if (args.optionReadIfPresent("region", regionName)) - { - Foam::Info - << "Create polyMesh " << regionName << " for time = " - << runTime.timeName() << Foam::nl << Foam::endl; - } - else - { - regionName = Foam::polyMesh::defaultRegion; - Foam::Info - << "Create polyMesh for time = " - << runTime.timeName() << Foam::nl << Foam::endl; - } - - Foam::polyMesh mesh +Foam::polyMesh mesh +( + Foam::IOobject ( - Foam::IOobject - ( - regionName, - runTime.timeName(), - runTime, - Foam::IOobject::MUST_READ - ) - ); + regionName, + runTime.timeName(), + runTime, + Foam::IOobject::MUST_READ + ) +); diff --git a/src/OpenFOAM/include/createPolyMesh.H b/src/OpenFOAM/include/createPolyMesh.H index 02e25d1c519ab1a92fb56aa7d1e71baaf71b36e9..8563860ac4eb9f00f26fbaf990f2b20dd236616a 100644 --- a/src/OpenFOAM/include/createPolyMesh.H +++ b/src/OpenFOAM/include/createPolyMesh.H @@ -1,18 +1,14 @@ -// -// createPolyMesh.H -// ~~~~~~~~~~~~~~~~ +Foam::Info + << "Create polyMesh for time = " + << runTime.timeName() << Foam::nl << Foam::endl; - Foam::Info - << "Create polyMesh for time = " - << runTime.timeName() << Foam::nl << Foam::endl; - - Foam::polyMesh mesh +Foam::polyMesh mesh +( + Foam::IOobject ( - Foam::IOobject - ( - Foam::polyMesh::defaultRegion, - runTime.timeName(), - runTime, - Foam::IOobject::MUST_READ - ) - ); + Foam::polyMesh::defaultRegion, + runTime.timeName(), + runTime, + Foam::IOobject::MUST_READ + ) +); diff --git a/src/OpenFOAM/include/createTime.H b/src/OpenFOAM/include/createTime.H index 36fc675dc36acf76061de0263f02eebb90567d2c..4ea4a6be69afda33ce28449e574a3772f73cc473 100644 --- a/src/OpenFOAM/include/createTime.H +++ b/src/OpenFOAM/include/createTime.H @@ -1,7 +1,3 @@ -// -// createTime.H -// ~~~~~~~~~~~~ +Foam::Info<< "Create time\n" << Foam::endl; - Foam::Info<< "Create time\n" << Foam::endl; - - Foam::Time runTime(Foam::Time::controlDictName, args); +Foam::Time runTime(Foam::Time::controlDictName, args); diff --git a/src/OpenFOAM/include/setConstantMeshDictionaryIO.H b/src/OpenFOAM/include/setConstantMeshDictionaryIO.H index 4f97cf16940800ddfcf6168f5584496e342edb64..aa5a68004c27c5e72b6e9d69fd8b795543e273fc 100644 --- a/src/OpenFOAM/include/setConstantMeshDictionaryIO.H +++ b/src/OpenFOAM/include/setConstantMeshDictionaryIO.H @@ -1,33 +1,29 @@ -// -// setConstantMeshDictionaryIO.H -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - fileName dictPath = ""; - if (args.optionFound("dict")) +fileName dictPath = ""; +if (args.optionFound("dict")) +{ + dictPath = args["dict"]; + if (isDir(dictPath)) { - dictPath = args["dict"]; - if (isDir(dictPath)) - { - dictPath = dictPath / dictName; - } + dictPath = dictPath / dictName; } +} + +IOobject dictIO +( + dictName, + runTime.constant(), + mesh, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE +); - IOobject dictIO +if (dictPath.size()) +{ + dictIO = IOobject ( - dictName, - runTime.constant(), + dictPath, mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ); - - if (dictPath.size()) - { - dictIO = IOobject - ( - dictPath, - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ); - } +} diff --git a/src/OpenFOAM/include/setRootCase.H b/src/OpenFOAM/include/setRootCase.H index 587374d067c059aefd4dd78ce680e2eb20bbfd8f..e1b76cfe68c2454df1ade316913b5bc1fd5b00cc 100644 --- a/src/OpenFOAM/include/setRootCase.H +++ b/src/OpenFOAM/include/setRootCase.H @@ -1,9 +1,5 @@ -// -// setRootCase.H -// ~~~~~~~~~~~~~ - - Foam::argList args(argc, argv); - if (!args.checkRootCase()) - { - Foam::FatalError.exit(); - } +Foam::argList args(argc, argv); +if (!args.checkRootCase()) +{ + Foam::FatalError.exit(); +} diff --git a/src/OpenFOAM/include/setSystemMeshDictionaryIO.H b/src/OpenFOAM/include/setSystemMeshDictionaryIO.H index 6e89f94c33fb2b1ec344d3c47a8bfcfc84369d87..4d5f2e68ec900c92f33af06385173fc1e487b35b 100644 --- a/src/OpenFOAM/include/setSystemMeshDictionaryIO.H +++ b/src/OpenFOAM/include/setSystemMeshDictionaryIO.H @@ -1,33 +1,29 @@ -// -// setSystemMeshDictionaryIO.H -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - fileName dictPath = ""; - if (args.optionFound("dict")) +fileName dictPath = ""; +if (args.optionFound("dict")) +{ + dictPath = args["dict"]; + if (isDir(dictPath)) { - dictPath = args["dict"]; - if (isDir(dictPath)) - { - dictPath = dictPath / dictName; - } + dictPath = dictPath / dictName; } +} + +IOobject dictIO +( + dictName, + runTime.system(), + mesh, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE +); - IOobject dictIO +if (dictPath.size()) +{ + dictIO = IOobject ( - dictName, - runTime.system(), + dictPath, mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ); - - if (dictPath.size()) - { - dictIO = IOobject - ( - dictPath, - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ); - } +} diff --git a/src/OpenFOAM/include/setSystemRunTimeDictionaryIO.H b/src/OpenFOAM/include/setSystemRunTimeDictionaryIO.H index e594e83d960110735ddf042462655c2d46318756..ceebb43815ad0d230e221a5b858f74506fa51141 100644 --- a/src/OpenFOAM/include/setSystemRunTimeDictionaryIO.H +++ b/src/OpenFOAM/include/setSystemRunTimeDictionaryIO.H @@ -1,33 +1,29 @@ -// -// setSystemRunTimeDictionaryIO.H -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - fileName dictPath = ""; - if (args.optionFound("dict")) +fileName dictPath = ""; +if (args.optionFound("dict")) +{ + dictPath = args["dict"]; + if (isDir(dictPath)) { - dictPath = args["dict"]; - if (isDir(dictPath)) - { - dictPath = dictPath / dictName; - } + dictPath = dictPath / dictName; } +} + +IOobject dictIO +( + dictName, + runTime.system(), + runTime, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE +); - IOobject dictIO +if (dictPath.size()) +{ + dictIO = IOobject ( - dictName, - runTime.system(), + dictPath, runTime, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ); - - if (dictPath.size()) - { - dictIO = IOobject - ( - dictPath, - runTime, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ); - } +} diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C index 1fadffcb71a7c0bea201dba0011983853861ce22..36747fefa957b4502196bc203ade2205675daf8b 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C @@ -5118,13 +5118,6 @@ const Foam::cellShapeList& Foam::hexRef8::cellShapes() const } - -// -// Unrefinement -// ~~~~~~~~~~~~ -// - - Foam::labelList Foam::hexRef8::getSplitPoints() const { if (debug) diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.H b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.H index d04c5ac43ec5fb093aa96b6700f40f3d0f4f2150..4b24092e7766c394c6eaa208de72e7860b05848b 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.H +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriver.H @@ -87,20 +87,6 @@ class autoSnapDriver const List<labelPair>& ); - //static tmp<pointField> avg - //( - // const indirectPrimitivePatch&, - // const pointField& - //); - - //- Calculate displacement per patch point. Wip. - //static tmp<pointField> smoothLambdaMuPatchDisplacement - //( - // const motionSmoother& meshMover, - // const List<labelPair>& baffles - //); - - //- Check that face zones are synced void checkCoupledFaceZones() const; @@ -155,13 +141,7 @@ class autoSnapDriver const List<pointConstraint>& constraints, vectorField& disp ) const; - //void smoothAndConstrain2 - //( - // const bool applyConstraints, - // const indirectPrimitivePatch& pp, - // const List<pointConstraint>& constraints, - // vectorField& disp - //) const; + void calcNearest ( const label iter, @@ -170,6 +150,7 @@ class autoSnapDriver vectorField& pointSurfaceNormal, vectorField& pointRotation ) const; + void calcNearestFace ( const label iter, @@ -180,6 +161,12 @@ class autoSnapDriver labelList& faceSurfaceRegion, vectorField& faceRotation ) const; + + //- Collect (possibly remote) per point data of all surrounding + // faces + // - faceSurfaceNormal + // - faceDisp + // - faceCentres&faceNormal void calcNearestFacePointProperties ( const label iter, @@ -194,6 +181,11 @@ class autoSnapDriver List<List<point>>& pointFaceCentres, List<labelList>& pointFacePatchID ) const; + + //- Gets passed in offset to nearest point on feature + // edge. Calculates if the point has a different number of + // faces on either side of the feature and if so attracts the + // point to that non-dominant plane. void correctAttraction ( const DynamicList<point>& surfacePoints, @@ -274,6 +266,12 @@ class autoSnapDriver //- Return hit if faces-on-the-same-normalplane are on multiple // patches + // - false, index=-1 : single patch + // - true , index=0 : multiple patches but on different + // normals planes (so geometric feature + // edge is also a region edge) + // - true , index=1 : multiple patches on same normals plane + // i.e. flat region edge pointIndexHit findMultiPatchPoint ( const point& pt, @@ -381,6 +379,7 @@ class autoSnapDriver vectorField& patchAttraction, List<pointConstraint>& patchConstraints ) const; + void reverseAttractMeshPoints ( const label iter, @@ -465,6 +464,7 @@ class autoSnapDriver vectorField& patchAttraction, List<pointConstraint>& patchConstraints ) const; + void preventFaceSqueeze ( const label iter, @@ -582,16 +582,6 @@ public: vectorField& nearestNormal ); - ////- Per patch point calculate point on nearest surface. Set as - //// boundary conditions of motionSmoother displacement field. - //// Return displacement of patch points. - //static vectorField calcNearestLocalSurface - //( - // const meshRefinement& meshRefiner, - // const scalarField& snapDist, - // const indirectPrimitivePatch& - //); - //- Smooth the displacement field to the internal. void smoothDisplacement ( @@ -626,7 +616,6 @@ public: const scalar planarAngle, const snapParameters& snapParams ); - }; diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C index c8571fb210a6748d931ff11f08d77f8bd7fc45b5..28567ccc8f8a089f4513ad06b3e682c384c3680a 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoSnapDriverFeature.C @@ -436,11 +436,6 @@ void Foam::autoSnapDriver::calcNearestFace } -// Collect (possibly remote) per point data of all surrounding faces -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// - faceSurfaceNormal -// - faceDisp -// - faceCentres&faceNormal void Foam::autoSnapDriver::calcNearestFacePointProperties ( const label iter, @@ -639,9 +634,6 @@ void Foam::autoSnapDriver::calcNearestFacePointProperties } -// Gets passed in offset to nearest point on feature edge. Calculates -// if the point has a different number of faces on either side of the feature -// and if so attracts the point to that non-dominant plane. void Foam::autoSnapDriver::correctAttraction ( const DynamicList<point>& surfacePoints, @@ -731,12 +723,6 @@ Foam::label Foam::autoSnapDriver::findNormal } -// Detect multiple patches. Returns pointIndexHit: -// - false, index=-1 : single patch -// - true , index=0 : multiple patches but on different normals planes -// (so geometric feature edge is also a region edge) -// - true , index=1 : multiple patches on same normals plane i.e. flat region -// edge Foam::pointIndexHit Foam::autoSnapDriver::findMultiPatchPoint ( const point& pt, @@ -1009,7 +995,6 @@ void Foam::autoSnapDriver::featureAttractionUsingReconstruction } -// Special version that calculates attraction in one go void Foam::autoSnapDriver::featureAttractionUsingReconstruction ( const label iter, @@ -1437,7 +1422,6 @@ void Foam::autoSnapDriver::releasePointsNextToMultiPatch } -// If only two attractions and across face return the face indices Foam::labelPair Foam::autoSnapDriver::findDiagonalAttraction ( const indirectPrimitivePatch& pp, @@ -1447,6 +1431,7 @@ Foam::labelPair Foam::autoSnapDriver::findDiagonalAttraction ) const { const face& f = pp.localFaces()[faceI]; + // For now just detect any attraction. Improve this to look at // actual attraction position and orientation @@ -1771,8 +1756,6 @@ Foam::autoSnapDriver::findNearFeaturePoint } -// Determines for every pp point - that is on multiple faces that form -// a feature - the nearest feature edge/point. void Foam::autoSnapDriver::determineFeatures ( const label iter, @@ -2184,17 +2167,6 @@ void Foam::autoSnapDriver::determineFeatures } -// Baffle handling -// ~~~~~~~~~~~~~~~ -// Override pointAttractor, edgeAttractor, patchAttration etc. to -// implement 'baffle' handling. -// Baffle: the mesh pp point originates from a loose standing -// baffle. -// Sampling the surface with the surrounding face-centres only picks up -// a single triangle normal so above determineFeatures will not have -// detected anything. So explicitly pick up feature edges on the pp -// (after duplicating points & smoothing so will already have been -// expanded) and match these to the features. void Foam::autoSnapDriver::determineBaffleFeatures ( const label iter, @@ -2214,6 +2186,16 @@ void Foam::autoSnapDriver::determineBaffleFeatures List<pointConstraint>& patchConstraints ) const { + // Override pointAttractor, edgeAttractor, patchAttration etc. to + // implement 'baffle' handling. + // Baffle: the mesh pp point originates from a loose standing + // baffle. + // Sampling the surface with the surrounding face-centres only picks up + // a single triangle normal so above determineFeatures will not have + // detected anything. So explicitly pick up feature edges on the pp + // (after duplicating points & smoothing so will already have been + // expanded) and match these to the features. + const fvMesh& mesh = meshRefiner_.mesh(); const refinementFeatures& features = meshRefiner_.features(); @@ -2966,7 +2948,6 @@ void Foam::autoSnapDriver::featureAttractionUsingFeatureEdges } -// Correct for squeezing of face void Foam::autoSnapDriver::preventFaceSqueeze ( const label iter,