diff --git a/applications/utilities/mesh/generation/extrude/Allwclean b/applications/utilities/mesh/generation/extrude/Allwclean index 3ac620b145..c1c94a806b 100755 --- a/applications/utilities/mesh/generation/extrude/Allwclean +++ b/applications/utilities/mesh/generation/extrude/Allwclean @@ -3,6 +3,7 @@ cd ${0%/*} || exit 1 # run from this directory set -x wclean libso extrudeModel -wclean +wclean extrudeMesh +wclean extrudeToRegionMesh # ----------------------------------------------------------------- end-of-file diff --git a/applications/utilities/mesh/generation/extrude/Allwmake b/applications/utilities/mesh/generation/extrude/Allwmake index 871cad2b68..091ec04743 100755 --- a/applications/utilities/mesh/generation/extrude/Allwmake +++ b/applications/utilities/mesh/generation/extrude/Allwmake @@ -3,6 +3,8 @@ cd ${0%/*} || exit 1 # run from this directory set -x wmake libso extrudeModel -wmake +wmake extrudeMesh +wmake extrudeToRegionMesh + # ----------------------------------------------------------------- end-of-file diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options index 1cdc68a2c7..9a10a36f3c 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -IextrudedMesh \ - -IextrudeModel/lnInclude \ + -I../extrudeModel/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/surfMesh/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C index 6de1574703..0b0ad610bc 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C @@ -214,9 +214,8 @@ int main(int argc, char *argv[]) ( IOobject ( - "extrudeProperties", - runTimeExtruded.constant(), - regionDir, + "extrudeMeshDict", + runTimeExtruded.system(), runTimeExtruded, IOobject::MUST_READ_IF_MODIFIED ) diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict index c820e3f8a8..a38614047b 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class dictionary; - object extrudeProperties; + object extrudeMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/files b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/files deleted file mode 100644 index fdd7c3e7b7..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/files +++ /dev/null @@ -1,10 +0,0 @@ -extrudeModel/extrudeModel.C -extrudeModel/extrudeModelNew.C -linearNormal/linearNormal.C -linearDirection/linearDirection.C -linearRadial/linearRadial.C -sigmaRadial/sigmaRadial.C -wedge/wedge.C - -LIB = $(FOAM_LIBBIN)/libextrudeModel - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/options b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/options deleted file mode 100644 index 3c57befe4f..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/options +++ /dev/null @@ -1,8 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/dynamicMesh/lnInclude - -EXE_LIBS = \ - -lmeshTools \ - -ldynamicMesh - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C deleted file mode 100644 index b7b47bd6f2..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C +++ /dev/null @@ -1,89 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(extrudeModel, 0); - defineRunTimeSelectionTable(extrudeModel, dictionary); -} - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::extrudeModel::extrudeModel -( - const word& modelType, - const dictionary& dict -) -: - nLayers_(readLabel(dict.lookup("nLayers"))), - expansionRatio_(readScalar(dict.lookup("expansionRatio"))), - dict_(dict), - coeffDict_(dict.subDict(modelType + "Coeffs")) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::extrudeModel::~extrudeModel() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::label Foam::extrudeModel::nLayers() const -{ - return nLayers_; -} - - -Foam::scalar Foam::extrudeModel::expansionRatio() const -{ - return expansionRatio_; -} - - -Foam::scalar Foam::extrudeModel::sumThickness(const label layer) const -{ - // 1+r+r^2+ .. +r^(n-1) = (1-r^n)/(1-r) - - if (mag(1.0-expansionRatio_) < SMALL) - { - return scalar(layer)/nLayers_; - } - else - { - return - (1.0-pow(expansionRatio_, layer)) - / (1.0-pow(expansionRatio_, nLayers_)); - } -} - - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.H deleted file mode 100644 index ceeb2975d7..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.H +++ /dev/null @@ -1,143 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -Class - Foam::extrudeModel - -Description - Top level extrusion model class - -SourceFiles - extrudeModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef extrudeModel_H -#define extrudeModel_H - -#include "dictionary.H" -#include "point.H" -#include "autoPtr.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class extrudeModel Declaration -\*---------------------------------------------------------------------------*/ - -class extrudeModel -{ -protected: - - // Protected data - - const label nLayers_; - - const scalar expansionRatio_; - - const dictionary& dict_; - - const dictionary& coeffDict_; - - - // Private Member Functions - - //- Disallow default bitwise copy construct - extrudeModel(const extrudeModel&); - - //- Disallow default bitwise assignment - void operator=(const extrudeModel&); - - -public: - - //- Runtime type information - TypeName("extrudeModel"); - - //- Declare runtime constructor selection table - - declareRunTimeSelectionTable - ( - autoPtr, - extrudeModel, - dictionary, - ( - const dictionary& dict - ), - (dict) - ); - - - // Constructors - - //- Construct from dictionary - extrudeModel(const word& modelType, const dictionary&); - - - // Selectors - - //- Select null constructed - static autoPtr New(const dictionary&); - - - //- Destructor - virtual ~extrudeModel(); - - - // Member Functions - - // Access - - label nLayers() const; - - scalar expansionRatio() const; - - - // Member Operators - - //- Helper: calculate cumulative relative thickness for layer. - // (layer=0 -> 0; layer=nLayers -> 1) - scalar sumThickness(const label layer) const; - - virtual point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const = 0; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModelNew.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModelNew.C deleted file mode 100644 index b2a243d83c..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModelNew.C +++ /dev/null @@ -1,58 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -Foam::autoPtr Foam::extrudeModel::New -( - const dictionary& dict -) -{ - const word modelType(dict.lookup("extrudeModel")); - - Info<< "Selecting extrudeModel " << modelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(modelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorIn - ( - "extrudeModel::New(const dictionary&)" - ) << "Unknown extrudeModel type " - << modelType << nl << nl - << "Valid extrudeModel types are :" << nl - << dictionaryConstructorTablePtr_->sortedToc() << nl - << exit(FatalError); - } - - return autoPtr(cstrIter()(dict)); -} - - -// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.C deleted file mode 100644 index d3d3d24382..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.C +++ /dev/null @@ -1,89 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "linearDirection.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -defineTypeNameAndDebug(linearDirection, 0); - -addToRunTimeSelectionTable(extrudeModel, linearDirection, dictionary); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -linearDirection::linearDirection(const dictionary& dict) -: - extrudeModel(typeName, dict), - direction_(coeffDict_.lookup("direction")), - thickness_(readScalar(coeffDict_.lookup("thickness"))) -{ - direction_ /= mag(direction_); - - if (thickness_ <= 0) - { - FatalErrorIn("linearDirection(const dictionary&)") - << "thickness should be positive : " << thickness_ - << exit(FatalError); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -linearDirection::~linearDirection() -{} - - -// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * // - -point linearDirection::operator() -( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer -) const -{ - //scalar d = thickness_*layer/nLayers_; - scalar d = thickness_*sumThickness(layer); - return surfacePoint + d*direction_; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.H deleted file mode 100644 index 4d26ee56f5..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.H +++ /dev/null @@ -1,98 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -Class - Foam::extrudeModels::linearDirection - -Description - Extrudes by transforming points in a specified direction by a given distance - -\*---------------------------------------------------------------------------*/ - -#ifndef linearDirection_H -#define linearDirection_H - -#include "point.H" -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -/*---------------------------------------------------------------------------*\ - Class linearDirection Declaration -\*---------------------------------------------------------------------------*/ - -class linearDirection -: - public extrudeModel -{ - // Private data - - //- Extrude direction - vector direction_; - - //- layer thickness - scalar thickness_; - - -public: - - //- Runtime type information - TypeName("linearDirection"); - - // Constructors - - //- Construct from dictionary - linearDirection(const dictionary& dict); - - - //- Destructor - ~linearDirection(); - - - // Member Operators - - point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.C deleted file mode 100644 index 34e0ba81cd..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.C +++ /dev/null @@ -1,86 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "linearNormal.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -defineTypeNameAndDebug(linearNormal, 0); - -addToRunTimeSelectionTable(extrudeModel, linearNormal, dictionary); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -linearNormal::linearNormal(const dictionary& dict) -: - extrudeModel(typeName, dict), - thickness_(readScalar(coeffDict_.lookup("thickness"))) -{ - if (thickness_ <= 0) - { - FatalErrorIn("linearNormal(const dictionary&)") - << "thickness should be positive : " << thickness_ - << exit(FatalError); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -linearNormal::~linearNormal() -{} - - -// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * // - -point linearNormal::operator() -( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer -) const -{ - //scalar d = thickness_*layer/nLayers_; - scalar d = thickness_*sumThickness(layer); - return surfacePoint + d*surfaceNormal; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.H deleted file mode 100644 index 62ae81bffb..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.H +++ /dev/null @@ -1,95 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -Class - Foam::extrudeModels::linearNormal - -Description - Extrudes by transforming points normal to the surface by a given distance - -\*---------------------------------------------------------------------------*/ - -#ifndef linearNormal_H -#define linearNormal_H - -#include "point.H" -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -/*---------------------------------------------------------------------------*\ - Class linearNormal Declaration -\*---------------------------------------------------------------------------*/ - -class linearNormal -: - public extrudeModel -{ - // Private data - - //- layer thickness - scalar thickness_; - - -public: - - //- Runtime type information - TypeName("linearNormal"); - - // Constructors - - //- Construct from dictionary - linearNormal(const dictionary& dict); - - - //- Destructor - ~linearNormal(); - - - // Member Operators - - point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearRadial/linearRadial.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearRadial/linearRadial.C deleted file mode 100644 index b3a8c1298a..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearRadial/linearRadial.C +++ /dev/null @@ -1,82 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "linearRadial.H" -#include "addToRunTimeSelectionTable.H" - -namespace Foam -{ -namespace extrudeModels -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -defineTypeNameAndDebug(linearRadial, 0); - -addToRunTimeSelectionTable(extrudeModel, linearRadial, dictionary); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -linearRadial::linearRadial(const dictionary& dict) -: - extrudeModel(typeName, dict), - R_(readScalar(coeffDict_.lookup("R"))), - Rsurface_(coeffDict_.lookupOrDefault("Rsurface", -1)) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -linearRadial::~linearRadial() -{} - - -// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * // - -point linearRadial::operator() -( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer -) const -{ - // radius of the surface - scalar rs = mag(surfacePoint); - vector rsHat = surfacePoint/rs; - if (Rsurface_ >= 0) rs = Rsurface_; - - scalar r = rs + (R_ - rs)*sumThickness(layer); - return r*rsHat; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearRadial/linearRadial.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearRadial/linearRadial.H deleted file mode 100644 index 04f19764ba..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearRadial/linearRadial.H +++ /dev/null @@ -1,93 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -Class - Foam::extrudeModels::linearRadial - -Description - -\*---------------------------------------------------------------------------*/ - -#ifndef linearRadial_H -#define linearRadial_H - -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -/*---------------------------------------------------------------------------*\ - Class linearRadial Declaration -\*---------------------------------------------------------------------------*/ - -class linearRadial -: - public extrudeModel -{ - // Private data - - scalar R_; - scalar Rsurface_; - - -public: - - //- Runtime type information - TypeName("linearRadial"); - - // Constructors - - //- Construct from dictionary - linearRadial(const dictionary& dict); - - - //- Destructor - ~linearRadial(); - - - // Member Operators - - point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C deleted file mode 100644 index c8a8ffe6fb..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C +++ /dev/null @@ -1,92 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "sigmaRadial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -defineTypeNameAndDebug(sigmaRadial, 0); - -addToRunTimeSelectionTable(extrudeModel, sigmaRadial, dictionary); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -sigmaRadial::sigmaRadial(const dictionary& dict) -: - extrudeModel(typeName, dict), - RTbyg_(readScalar(coeffDict_.lookup("RTbyg"))), - pRef_(readScalar(coeffDict_.lookup("pRef"))), - pStrat_(readScalar(coeffDict_.lookup("pStrat"))) -{ - if (mag(expansionRatio() - 1.0) > SMALL) - { - WarningIn("sigmaRadial::sigmaRadial(const dictionary&)") - << "Ignoring expansionRatio setting." << endl; - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -sigmaRadial::~sigmaRadial() -{} - - -// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * // - -point sigmaRadial::operator() -( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer -) const -{ - // radius of the surface - scalar rs = mag(surfacePoint); - vector rsHat = surfacePoint/rs; - - scalar p = pRef_ - layer*(pRef_ - pStrat_)/nLayers_; - scalar r = rs - RTbyg_*log(p/pRef_); - - return r*rsHat; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.H deleted file mode 100644 index e55c81bfe4..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.H +++ /dev/null @@ -1,94 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -Class - Foam::extrudeModels::sigmaRadial - -Description - -\*---------------------------------------------------------------------------*/ - -#ifndef sigmaRadial_H -#define sigmaRadial_H - -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -/*---------------------------------------------------------------------------*\ - Class sigmaRadial Declaration -\*---------------------------------------------------------------------------*/ - -class sigmaRadial -: - public extrudeModel -{ - // Private data - - scalar RTbyg_; - scalar pRef_; - scalar pStrat_; - - -public: - - //- Runtime type information - TypeName("sigmaRadial"); - - // Constructors - - //- Construct from dictionary - sigmaRadial(const dictionary& dict); - - - //-Destructor - ~sigmaRadial(); - - - // Member Operators - - point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/wedge/wedge.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/wedge/wedge.C deleted file mode 100644 index 02154ffa67..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/wedge/wedge.C +++ /dev/null @@ -1,125 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -\*---------------------------------------------------------------------------*/ - -#include "wedge.H" -#include "addToRunTimeSelectionTable.H" -#include "unitConversion.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -defineTypeNameAndDebug(wedge, 0); - -addToRunTimeSelectionTable(extrudeModel, wedge, dictionary); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -wedge::wedge(const dictionary& dict) -: - extrudeModel(typeName, dict), - axisPt_(coeffDict_.lookup("axisPt")), - axis_(coeffDict_.lookup("axis")), - angle_ - ( - degToRad(readScalar(coeffDict_.lookup("angle"))) - ) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -wedge::~wedge() -{} - - -// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * // - -point wedge::operator() -( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer -) const -{ - scalar sliceAngle; - // For the case of a single layer extrusion assume a - // symmetric wedge about the reference plane is required - if (nLayers_ == 1) - { - if (layer == 0) - { - sliceAngle = -angle_/2.0; - } - else - { - sliceAngle = angle_/2.0; - } - } - else - { - //sliceAngle = angle_*layer/nLayers_; - sliceAngle = angle_*sumThickness(layer); - } - - // Find projection onto axis (or rather decompose surfacePoint - // into vector along edge (proj), vector normal to edge in plane - // of surface point and surface normal. - point d = surfacePoint - axisPt_; - - d -= (axis_ & d)*axis_; - - scalar dMag = mag(d); - - point edgePt = surfacePoint - d; - - // Rotate point around sliceAngle. - point rotatedPoint = edgePt; - - if (dMag > VSMALL) - { - vector n = (d/dMag) ^ axis_; - - rotatedPoint += - + cos(sliceAngle)*d - - sin(sliceAngle)*mag(d)*n; // Use either n or surfaceNormal - } - - return rotatedPoint; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/wedge/wedge.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/wedge/wedge.H deleted file mode 100644 index a936e798e4..0000000000 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/wedge/wedge.H +++ /dev/null @@ -1,107 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of 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 . - -Class - Foam::extrudeModels::wedge - -Description - Extrudes by rotating a surface around an axis - - extrusion is opposite the surface/patch normal so inwards the source - mesh - - axis direction has to be consistent with this. - - use -mergeFaces option if doing full 360 and want to merge front and back - - note direction of axis. This should be consistent with rotating against - the patch normal direction. If you get it wrong you'll see all cells - with extreme aspect ratio and internal faces wrong way around in - checkMesh - -\*---------------------------------------------------------------------------*/ - -#ifndef wedge_H -#define wedge_H - -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -/*---------------------------------------------------------------------------*\ - Class wedge Declaration -\*---------------------------------------------------------------------------*/ - -class wedge -: - public extrudeModel -{ - // Private data - - //- Point on axis - const point axisPt_; - - //- Normalized direction of axis - const vector axis_; - - //- Overall angle (radians) - const scalar angle_; - - -public: - - //- Runtime type information - TypeName("wedge"); - - // Constructors - - //- Construct from dictionary - wedge(const dictionary& dict); - - - //- Destrcuctor - ~wedge(); - - - // Member Operators - - point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options index 7c1ab5a64a..abe16677f5 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options @@ -1,9 +1,11 @@ EXE_INC = \ + -I../extrudeModel/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ + -lextrudeModel \ -lfiniteVolume \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C index 4034428bfb..543e5550a2 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C @@ -93,7 +93,7 @@ void Foam::createShellMesh::calcPointRegions label fp2 = findIndex(f2, pointI); label& region = pointRegions[face2][fp2]; if (region != -1) - { + { FatalErrorIn ( "createShellMesh::calcPointRegions(..)" @@ -185,18 +185,20 @@ Foam::createShellMesh::createShellMesh void Foam::createShellMesh::setRefinement ( - const pointField& thickness, + const pointField& firstLayerDisp, + const scalar expansionRatio, + const label nLayers, const labelList& topPatchID, const labelList& bottomPatchID, const labelListList& extrudeEdgePatches, polyTopoChange& meshMod ) { - if (thickness.size() != regionPoints_.size()) + if (firstLayerDisp.size() != regionPoints_.size()) { FatalErrorIn("createShellMesh::setRefinement(..)") << "nRegions:" << regionPoints_.size() - << " thickness:" << thickness.size() + << " firstLayerDisp:" << firstLayerDisp.size() << exit(FatalError); } @@ -224,30 +226,36 @@ void Foam::createShellMesh::setRefinement // From cell to patch (trivial) - DynamicList