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