diff --git a/ReleaseNotes-dev b/ReleaseNotes-dev index 815b97d862..fa6c09664b 100644 --- a/ReleaseNotes-dev +++ b/ReleaseNotes-dev @@ -184,6 +184,8 @@ + =setSet=: allows time range (e.g. 0:100) in combination with -batch argument to execute the commands for multiple times. * Post-processing + + =paraFoam=, =foamToVTK=: full support for polyhedral cell type in recent + Paraview versions. + =foamToEnsight=: parallel continuous data. new =-nodeValues= option to generate and output nodal field data. + =singleCellMesh=: new utility to convert mesh and fields to a single cell diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index ee2300d91e..436d373b04 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -218,7 +218,7 @@ void Foam::kineticTheoryModel::solve(const volTensorField& gradUat) // The solution is higly unstable close to the packing limit. gs0_ = radialModel_->g0 ( - min(max(alpha_, 1e-6), alphaMax_ - 0.01), + min(max(alpha_, scalar(1e-6)), alphaMax_ - 0.01), alphaMax_ ); @@ -255,7 +255,7 @@ void Foam::kineticTheoryModel::solve(const volTensorField& gradUat) volScalarField J1 = 3.0*betaPrim; volScalarField J2 = 0.25*sqr(betaPrim)*da_*sqr(Ur) - /(max(alpha_, 1e-6)*rhoa_*sqrtPi*(ThetaSqrt + TsmallSqrt)); + /(max(alpha_, scalar(1e-6))*rhoa_*sqrtPi*(ThetaSqrt + TsmallSqrt)); // bulk viscosity p. 45 (Lun et al. 1984). lambda_ = (4.0/3.0)*sqr(alpha_)*rhoa_*da_*gs0_*(1.0+e_)*ThetaSqrt/sqrtPi; @@ -309,7 +309,11 @@ void Foam::kineticTheoryModel::solve(const volTensorField& gradUat) volScalarField t1 = K1*alpha_ + rhoa_; volScalarField l1 = -t1*trD; volScalarField l2 = sqr(t1)*tr2D; - volScalarField l3 = 4.0*K4*max(alpha_, 1e-6)*(2.0*K3*trD2 + K2*tr2D); + volScalarField l3 = + 4.0 + *K4 + *max(alpha_, scalar(1e-6)) + *(2.0*K3*trD2 + K2*tr2D); Theta_ = sqr((l1 + sqrt(l2 + l3))/(2.0*(alpha_ + 1.0e-4)*K4)); } diff --git a/applications/test/momentOfInertia/Make/options b/applications/test/momentOfInertia/Make/options index 54c035b8f5..0b32f3355b 100644 --- a/applications/test/momentOfInertia/Make/options +++ b/applications/test/momentOfInertia/Make/options @@ -1,5 +1,6 @@ EXE_INC = \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ -lmeshTools diff --git a/applications/test/momentOfInertia/Test-momentOfInertia.C b/applications/test/momentOfInertia/Test-momentOfInertia.C index 9a8ae40a5a..22327f1bdd 100644 --- a/applications/test/momentOfInertia/Test-momentOfInertia.C +++ b/applications/test/momentOfInertia/Test-momentOfInertia.C @@ -26,180 +26,38 @@ Application Description Calculates the inertia tensor and principal axes and moments of a - test face and tetrahedron. + test face, tetrahedron and mesh. \*---------------------------------------------------------------------------*/ +#include "argList.H" +#include "Time.H" +#include "polyMesh.H" #include "ListOps.H" #include "face.H" #include "tetPointRef.H" #include "triFaceList.H" #include "OFstream.H" #include "meshTools.H" +#include "momentOfInertia.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // using namespace Foam; -void massPropertiesSolid -( - const pointField& pts, - const triFaceList triFaces, - scalar density, - scalar& mass, - vector& cM, - tensor& J -) -{ - // Reimplemented from: Wm4PolyhedralMassProperties.cpp - // File Version: 4.10.0 (2009/11/18) - - // Geometric Tools, LC - // Copyright (c) 1998-2010 - // Distributed under the Boost Software License, Version 1.0. - // http://www.boost.org/LICENSE_1_0.txt - // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt - - // Boost Software License - Version 1.0 - August 17th, 2003 - - // Permission is hereby granted, free of charge, to any person or - // organization obtaining a copy of the software and accompanying - // documentation covered by this license (the "Software") to use, - // reproduce, display, distribute, execute, and transmit the - // Software, and to prepare derivative works of the Software, and - // to permit third-parties to whom the Software is furnished to do - // so, all subject to the following: - - // The copyright notices in the Software and this entire - // statement, including the above license grant, this restriction - // and the following disclaimer, must be included in all copies of - // the Software, in whole or in part, and all derivative works of - // the Software, unless such copies or derivative works are solely - // in the form of machine-executable object code generated by a - // source language processor. - - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - // OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND - // NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR - // ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR - // OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - const scalar r6 = 1.0/6.0; - const scalar r24 = 1.0/24.0; - const scalar r60 = 1.0/60.0; - const scalar r120 = 1.0/120.0; - - // order: 1, x, y, z, x^2, y^2, z^2, xy, yz, zx - scalarField integrals(10, 0.0); - - forAll(triFaces, i) - { - const triFace& tri(triFaces[i]); - - // vertices of triangle i - vector v0 = pts[tri[0]]; - vector v1 = pts[tri[1]]; - vector v2 = pts[tri[2]]; - - // cross product of edges - vector eA = v1 - v0; - vector eB = v2 - v0; - vector n = eA ^ eB; - - // compute integral terms - scalar tmp0, tmp1, tmp2; - - scalar f1x, f2x, f3x, g0x, g1x, g2x; - - tmp0 = v0.x() + v1.x(); - f1x = tmp0 + v2.x(); - tmp1 = v0.x()*v0.x(); - tmp2 = tmp1 + v1.x()*tmp0; - f2x = tmp2 + v2.x()*f1x; - f3x = v0.x()*tmp1 + v1.x()*tmp2 + v2.x()*f2x; - g0x = f2x + v0.x()*(f1x + v0.x()); - g1x = f2x + v1.x()*(f1x + v1.x()); - g2x = f2x + v2.x()*(f1x + v2.x()); - - scalar f1y, f2y, f3y, g0y, g1y, g2y; - - tmp0 = v0.y() + v1.y(); - f1y = tmp0 + v2.y(); - tmp1 = v0.y()*v0.y(); - tmp2 = tmp1 + v1.y()*tmp0; - f2y = tmp2 + v2.y()*f1y; - f3y = v0.y()*tmp1 + v1.y()*tmp2 + v2.y()*f2y; - g0y = f2y + v0.y()*(f1y + v0.y()); - g1y = f2y + v1.y()*(f1y + v1.y()); - g2y = f2y + v2.y()*(f1y + v2.y()); - - scalar f1z, f2z, f3z, g0z, g1z, g2z; - - tmp0 = v0.z() + v1.z(); - f1z = tmp0 + v2.z(); - tmp1 = v0.z()*v0.z(); - tmp2 = tmp1 + v1.z()*tmp0; - f2z = tmp2 + v2.z()*f1z; - f3z = v0.z()*tmp1 + v1.z()*tmp2 + v2.z()*f2z; - g0z = f2z + v0.z()*(f1z + v0.z()); - g1z = f2z + v1.z()*(f1z + v1.z()); - g2z = f2z + v2.z()*(f1z + v2.z()); - - // update integrals - integrals[0] += n.x()*f1x; - integrals[1] += n.x()*f2x; - integrals[2] += n.y()*f2y; - integrals[3] += n.z()*f2z; - integrals[4] += n.x()*f3x; - integrals[5] += n.y()*f3y; - integrals[6] += n.z()*f3z; - integrals[7] += n.x()*(v0.y()*g0x + v1.y()*g1x + v2.y()*g2x); - integrals[8] += n.y()*(v0.z()*g0y + v1.z()*g1y + v2.z()*g2y); - integrals[9] += n.z()*(v0.x()*g0z + v1.x()*g1z + v2.x()*g2z); - } - - integrals[0] *= r6; - integrals[1] *= r24; - integrals[2] *= r24; - integrals[3] *= r24; - integrals[4] *= r60; - integrals[5] *= r60; - integrals[6] *= r60; - integrals[7] *= r120; - integrals[8] *= r120; - integrals[9] *= r120; - - // mass - mass = integrals[0]; - - // center of mass - cM = vector(integrals[1], integrals[2], integrals[3])/mass; - - // inertia relative to origin - J.xx() = integrals[5] + integrals[6]; - J.xy() = -integrals[7]; - J.xz() = -integrals[9]; - J.yx() = J.xy(); - J.yy() = integrals[4] + integrals[6]; - J.yz() = -integrals[8]; - J.zx() = J.xz(); - J.zy() = J.yz(); - J.zz() = integrals[4] + integrals[5]; - - // inertia relative to center of mass - J -= mass*((cM & cM)*I - cM*cM); - - // Apply density - mass *= density; - J *= density; -} - - int main(int argc, char *argv[]) { + argList::addOption + ( + "cell", + "label", + "cell to use for inertia calculation, defaults to 0" + ); + + #include "setRootCase.H" + #include "createTime.H" + #include "createPolyMesh.H" + scalar density = 1.0; { @@ -286,16 +144,7 @@ int main(int argc, char *argv[]) vector cM = vector::zero; tensor J = tensor::zero; - massPropertiesSolid - ( - - pts, - tetFaces, - density, - m, - cM, - J - ); + momentOfInertia::massPropertiesSolid(pts, tetFaces, density, m, cM, J); vector eVal = eigenValues(J); @@ -344,7 +193,50 @@ int main(int argc, char *argv[]) { str << "l " << nPts + 1 << ' ' << i + 1 << endl; } + } + { + const label cellI = args.optionLookupOrDefault("cell", 0); + + tensorField mI = momentOfInertia::meshInertia(mesh); + + tensor& J = mI[cellI]; + + vector eVal = eigenValues(J); + + Info<< nl + << "Inertia tensor of cell " << cellI << " " << J << nl + << "eigenValues (principal moments) " << eVal << endl; + + J /= cmptMax(eVal); + + tensor eVec = eigenVectors(J); + + Info<< "eigenVectors (principal axes, from normalised inertia) " << eVec + << endl; + + OFstream str("cell_" + name(cellI) + "_inertia.obj"); + + Info<< nl << "Writing scaled principal axes of cell " << cellI << " to " + << str.name() << endl; + + const point& cC = mesh.cellCentres()[cellI]; + + scalar scale = mag + ( + (cC - mesh.faceCentres()[mesh.cells()[cellI][0]]) + /eVal.component(findMin(eVal)) + ); + + meshTools::writeOBJ(str, cC); + meshTools::writeOBJ(str, cC + scale*eVal.x()*eVec.x()); + meshTools::writeOBJ(str, cC + scale*eVal.y()*eVec.y()); + meshTools::writeOBJ(str, cC + scale*eVal.z()*eVec.z()); + + for (label i = 1; i < 4; i++) + { + str << "l " << 1 << ' ' << i + 1 << endl; + } } Info<< nl << "End" << nl << endl; diff --git a/applications/utilities/mesh/generation/extrudeMesh/Allwclean b/applications/utilities/mesh/generation/extrude/Allwclean similarity index 79% rename from applications/utilities/mesh/generation/extrudeMesh/Allwclean rename to applications/utilities/mesh/generation/extrude/Allwclean index 3ac620b145..c1c94a806b 100755 --- a/applications/utilities/mesh/generation/extrudeMesh/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/extrudeMesh/Allwmake b/applications/utilities/mesh/generation/extrude/Allwmake similarity index 79% rename from applications/utilities/mesh/generation/extrudeMesh/Allwmake rename to applications/utilities/mesh/generation/extrude/Allwmake index 871cad2b68..091ec04743 100755 --- a/applications/utilities/mesh/generation/extrudeMesh/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/extrudeMesh/Make/files b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/files similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/Make/files rename to applications/utilities/mesh/generation/extrude/extrudeMesh/Make/files diff --git a/applications/utilities/mesh/generation/extrudeMesh/Make/options b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options similarity index 89% rename from applications/utilities/mesh/generation/extrudeMesh/Make/options rename to applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options index 1cdc68a2c7..9a10a36f3c 100644 --- a/applications/utilities/mesh/generation/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/extrudeMesh/createTimeExtruded.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/createTimeExtruded.H similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/createTimeExtruded.H rename to applications/utilities/mesh/generation/extrude/extrudeMesh/createTimeExtruded.H diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C rename to applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C index 6de1574703..0b0ad610bc 100644 --- a/applications/utilities/mesh/generation/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/extrudeMesh/extrudeProperties b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict similarity index 98% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeProperties rename to applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict index c820e3f8a8..a38614047b 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeProperties +++ 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/extrudeMesh/extrudedMesh/extrudedMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.C rename to applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.H similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.H rename to applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.H diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/files b/applications/utilities/mesh/generation/extrude/extrudeModel/Make/files similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/files rename to applications/utilities/mesh/generation/extrude/extrudeModel/Make/files diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/options b/applications/utilities/mesh/generation/extrude/extrudeModel/Make/options similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/options rename to applications/utilities/mesh/generation/extrude/extrudeModel/Make/options diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C b/applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.H b/applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.H similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.H rename to applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.H diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModelNew.C b/applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModelNew.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModelNew.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModelNew.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.C b/applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.H b/applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.H similarity index 98% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.H rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.H index 4d26ee56f5..7776a47986 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.H +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.H @@ -71,7 +71,7 @@ public: //- Destructor - ~linearDirection(); + virtual ~linearDirection(); // Member Operators diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.C b/applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.H b/applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.H similarity index 98% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.H rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.H index 62ae81bffb..4bdb9a080b 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.H +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.H @@ -68,7 +68,7 @@ public: //- Destructor - ~linearNormal(); + virtual ~linearNormal(); // Member Operators diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.C b/applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.H b/applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.H similarity index 98% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.H rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.H index 04f19764ba..8ec941f901 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.H +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.H @@ -66,7 +66,7 @@ public: //- Destructor - ~linearRadial(); + virtual ~linearRadial(); // Member Operators diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C b/applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.H b/applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.H similarity index 98% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.H rename to applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.H index e55c81bfe4..23c709ecbd 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.H +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.H @@ -67,7 +67,7 @@ public: //-Destructor - ~sigmaRadial(); + virtual ~sigmaRadial(); // Member Operators diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/wedge/wedge.C b/applications/utilities/mesh/generation/extrude/extrudeModel/wedge/wedge.C similarity index 100% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/wedge/wedge.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/wedge/wedge.C diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/wedge/wedge.H b/applications/utilities/mesh/generation/extrude/extrudeModel/wedge/wedge.H similarity index 98% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/wedge/wedge.H rename to applications/utilities/mesh/generation/extrude/extrudeModel/wedge/wedge.H index a936e798e4..ec539d8395 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/wedge/wedge.H +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/wedge/wedge.H @@ -80,8 +80,8 @@ public: wedge(const dictionary& dict); - //- Destrcuctor - ~wedge(); + //- Destructor + virtual ~wedge(); // Member Operators diff --git a/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/files b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files similarity index 100% rename from applications/utilities/mesh/generation/extrudeToRegionMesh/Make/files rename to applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files diff --git a/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options similarity index 78% rename from applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options rename to applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options index 7c1ab5a64a..abe16677f5 100644 --- a/applications/utilities/mesh/generation/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/extrudeToRegionMesh/createShellMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C similarity index 59% rename from applications/utilities/mesh/generation/extrudeToRegionMesh/createShellMesh.C rename to applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C index 4034428bfb..543e5550a2 100644 --- a/applications/utilities/mesh/generation/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