diff --git a/applications/utilities/mesh/generation/extrudeMesh/Allwmake b/applications/utilities/mesh/generation/extrudeMesh/Allwmake index 871cad2b6..1d9987ed7 100755 --- a/applications/utilities/mesh/generation/extrudeMesh/Allwmake +++ b/applications/utilities/mesh/generation/extrudeMesh/Allwmake @@ -2,7 +2,6 @@ cd ${0%/*} || exit 1 # run from this directory set -x -wmake libso extrudeModel wmake # ----------------------------------------------------------------- end-of-file diff --git a/applications/utilities/mesh/generation/extrudeMesh/Make/options b/applications/utilities/mesh/generation/extrudeMesh/Make/options index 75526a0fd..2a030a70e 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/Make/options +++ b/applications/utilities/mesh/generation/extrudeMesh/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -IextrudedMesh \ - -IextrudeModel/lnInclude \ + -I$(LIB_SRC)/mesh/extrudeModel/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/gradedNormal/gradedNormal.C b/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/gradedNormal/gradedNormal.C deleted file mode 100644 index 37bb95212..000000000 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/gradedNormal/gradedNormal.C +++ /dev/null @@ -1,143 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | foam-extend: Open Source CFD - \\ / O peration | Version: 4.0 - \\ / A nd | Web: http://www.foam-extend.org - \\/ M anipulation | For copyright notice see file Copyright -------------------------------------------------------------------------------- -License - This file is part of foam-extend. - - foam-extend 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. - - foam-extend 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 foam-extend. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "gradedNormal.H" -#include "addToRunTimeSelectionTable.H" -#include "BisectionRoot.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -defineTypeNameAndDebug(gradedNormal, 0); - -addToRunTimeSelectionTable(extrudeModel, gradedNormal, dictionary); - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -gradedNormal::gradedNormal(const dictionary& dict) -: - extrudeModel(typeName, dict), - thickness_(readScalar(coeffDict_.lookup("thickness"))), - delta0_(readScalar(coeffDict_.lookup("initialCellLength"))), - expansionFactor_(1.0) -{ - // Sanity checks - if (thickness_ <= SMALL) - { - FatalErrorIn("gradedNormal(const dictionary&)") - << "thickness should be positive: " << thickness_ - << exit(FatalError); - } - - if (delta0_ <= SMALL) - { - FatalErrorIn("gradedNormal(const dictionary&)") - << "initialCellLength should be positive: " << delta0_ - << exit(FatalError); - } - - const scalar maxExpFactor = - coeffDict_.lookupOrDefault("maxExpansionFactor", 3.0); - - if (maxExpFactor <= SMALL) - { - FatalErrorIn("gradedNormal(const dictionary&)") - << "maxExpansionFactor should be positive: " << maxExpFactor - << exit(FatalError); - } - - const scalar bisectionTol = - coeffDict_.lookupOrDefault("bisectionTol", 1e-5); - - if (bisectionTol <= SMALL) - { - FatalErrorIn("gradedNormal(const dictionary&)") - << "bisectionTolerance should be positive: " << bisectionTol - << exit(FatalError); - } - - // Create expansion factor equation represented as a function object - expansionFactorEqn eqn(*this); - - // Calculate the expansionFactor using the bisection algorithm with the - // default tolerance of 1e-5 - BisectionRoot rootFinder - ( - eqn, - bisectionTol - ); - - // Search for the root in [0, 3], where upper bound 3 is default - expansionFactor_ = rootFinder.root - ( - 0.0, - maxExpFactor - ); - - // Report the result - Info<< "Calculated expansion factor: " << expansionFactor_ << endl; -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -gradedNormal::~gradedNormal() -{} - - -// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * // - -point gradedNormal::operator() -( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer -) const -{ - scalar d = 0.0; - - for (label i = 0; i < layer; ++i) - { - d += delta0_*pow(expansionFactor_, i); - } - - return surfacePoint + d*surfaceNormal; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/gradedNormal/gradedNormal.H b/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/gradedNormal/gradedNormal.H deleted file mode 100644 index bd2127bf0..000000000 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/gradedNormal/gradedNormal.H +++ /dev/null @@ -1,158 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | foam-extend: Open Source CFD - \\ / O peration | Version: 4.0 - \\ / A nd | Web: http://www.foam-extend.org - \\/ M anipulation | For copyright notice see file Copyright -------------------------------------------------------------------------------- -License - This file is part of foam-extend. - - foam-extend 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. - - foam-extend 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 foam-extend. If not, see . - -Class - Foam::extrudeModels::gradedNormal - -Description - Extrudes by transforming points normal to the surface. Input parameters are: - 1. Extrusion thickness (in meters), - 2. Initial delta (in meters), - 3. Number of layers. - - Expansion factor is calculated numerically using bisection algorithm. - -Author - Vuko Vukcevic. FMENA Zagreb. All rights reserved. - -\*---------------------------------------------------------------------------*/ - -#ifndef gradedNormal_H -#define gradedNormal_H - -#include "point.H" -#include "extrudeModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace extrudeModels -{ - -/*---------------------------------------------------------------------------*\ - Class gradedNormal Declaration -\*---------------------------------------------------------------------------*/ - -class gradedNormal -: - public extrudeModel -{ - // Private data - - //- Layer thickness - scalar thickness_; - - //- Initial delta (cell size at the extruded patch) - scalar delta0_; - - //- Expansion factor - scalar expansionFactor_; - - - // Expansion factor equation (functor class used by BisectionRoot) - class expansionFactorEqn - { - // Private data - - //- Const reference to underlying gradedNormal model - const gradedNormal& gnm_; - - - public: - - //- Construct given gradedNormal model - explicit expansionFactorEqn(const gradedNormal& gnm) - : - gnm_(gnm) - {} - - - //- Function call operator - scalar operator()(const scalar& x) const - { - scalar result = gnm_.thickness(); - - for (label i = 0; i <= gnm_.nLayers(); ++i) - { - result -= gnm_.delta0()*pow(x, i); - } - - return result; - } - }; - - -public: - - //- Runtime type information - TypeName("gradedNormal"); - - // Constructors - - //- Construct from components - gradedNormal(const dictionary& dict); - - - //- Destructor - ~gradedNormal(); - - - // Access functions - - //- Return const reference to thickness - const scalar& thickness() const - { - return thickness_; - } - - - //- Return const reference to initial delta - const scalar& delta0() const - { - return delta0_; - } - - - // Member Operators - - point operator() - ( - const point& surfacePoint, - const vector& surfaceNormal, - const label layer - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace extrudeModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // -