diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict
index ecbc647797..a355ede3da 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict
+++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict
@@ -47,6 +47,9 @@ extrudeModel wedge;
//- Extrudes into sphere around (0 0 0)
//extrudeModel linearRadial;
+//- Extrudes into sphere around (0 0 0) with specified radii
+//extrudeModel radial;
+
//- Extrudes into sphere with grading according to pressure (atmospherics)
//extrudeModel sigmaRadial;
@@ -74,9 +77,18 @@ linearDirectionCoeffs
linearRadialCoeffs
{
- R 0.1;
+ R 0.1;
+ // Optional inner radius
+ Rsurface 0.01;
}
+radialCoeffs
+{
+ // Radii specified through interpolation table
+ R table ((0 0.01)(3 0.03)(10 0.1));
+}
+
+
sigmaRadialCoeffs
{
RTbyg 1;
diff --git a/src/mesh/extrudeModel/Make/files b/src/mesh/extrudeModel/Make/files
index 12b60a0f7d..600f591693 100644
--- a/src/mesh/extrudeModel/Make/files
+++ b/src/mesh/extrudeModel/Make/files
@@ -3,6 +3,7 @@ extrudeModel/extrudeModelNew.C
linearNormal/linearNormal.C
linearDirection/linearDirection.C
linearRadial/linearRadial.C
+radial/radial.C
sigmaRadial/sigmaRadial.C
wedge/wedge.C
diff --git a/src/mesh/extrudeModel/radial/radial.C b/src/mesh/extrudeModel/radial/radial.C
new file mode 100644
index 0000000000..c2aae13fed
--- /dev/null
+++ b/src/mesh/extrudeModel/radial/radial.C
@@ -0,0 +1,84 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ 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 "radial.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace extrudeModels
+{
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+defineTypeNameAndDebug(radial, 0);
+
+addToRunTimeSelectionTable(extrudeModel, radial, dictionary);
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+radial::radial(const dictionary& dict)
+:
+ extrudeModel(typeName, dict),
+ R_(DataEntry::New("R", coeffDict_))
+{}
+
+
+// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
+
+radial::~radial()
+{}
+
+
+// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * //
+
+point radial::operator()
+(
+ const point& surfacePoint,
+ const vector& surfaceNormal,
+ const label layer
+) const
+{
+ // radius of the surface
+ scalar rs = mag(surfacePoint);
+ vector rsHat = surfacePoint/rs;
+
+ scalar r = R_->value(layer);
+
+Pout<< "** for layer " << layer << " r:" << r << endl;
+
+ return r*rsHat;
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace extrudeModels
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/mesh/extrudeModel/radial/radial.H b/src/mesh/extrudeModel/radial/radial.H
new file mode 100644
index 0000000000..dae9546f3b
--- /dev/null
+++ b/src/mesh/extrudeModel/radial/radial.H
@@ -0,0 +1,92 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
+ \\/ 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::radial
+
+Description
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef radial_H
+#define radial_H
+
+#include "extrudeModel.H"
+#include "DataEntry.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace extrudeModels
+{
+
+/*---------------------------------------------------------------------------*\
+ Class radial Declaration
+\*---------------------------------------------------------------------------*/
+
+class radial
+:
+ public extrudeModel
+{
+ // Private data
+
+ autoPtr > R_;
+
+
+public:
+
+ //- Runtime type information
+ TypeName("radial");
+
+ // Constructors
+
+ //- Construct from dictionary
+ radial(const dictionary& dict);
+
+
+ //-Destructor
+ virtual ~radial();
+
+
+ // Member Operators
+
+ point operator()
+ (
+ const point& surfacePoint,
+ const vector& surfaceNormal,
+ const label layer
+ ) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace extrudeModels
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //