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/combustion/PDRFoam/Make/files b/applications/solvers/combustion/PDRFoam/Make/files index d1b1d5a8f8..1e5d200ccb 100644 --- a/applications/solvers/combustion/PDRFoam/Make/files +++ b/applications/solvers/combustion/PDRFoam/Make/files @@ -27,6 +27,7 @@ PDRModels/XiGModels/basicXiSubG/basicXiSubG.C laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C +/* PDRFoamAutoRefine.C */ PDRFoam.C EXE = $(FOAM_APPBIN)/PDRFoam diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C index 2946fa52a2..3152feec9b 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C @@ -25,8 +25,8 @@ Application PDRFoam Description - Compressible premixed/partially-premixed combustion solver with turbulence - modelling. + Solver for compressible premixed/partially-premixed combustion with + turbulence modelling. Combusting RANS code using the b-Xi two-equation model. Xi may be obtained by either the solution of the Xi transport @@ -35,7 +35,7 @@ Description to be appropriate by comparison with the results from the spectral model. - Strain effects are encorporated directly into the Xi equation + Strain effects are incorporated directly into the Xi equation but not in the algebraic approximation. Further work need to be done on this issue, particularly regarding the enhanced removal rate caused by flame compression. Analysis using results of the spectral @@ -78,9 +78,9 @@ int main(int argc, char *argv[]) #include "readCombustionProperties.H" #include "readGravitationalAcceleration.H" #include "createFields.H" - #include "readPISOControls.H" #include "initContinuityErrs.H" #include "readTimeControls.H" + #include "CourantNo.H" #include "setInitialDeltaT.H" scalar StCoNum = 0.0; @@ -94,7 +94,6 @@ int main(int argc, char *argv[]) #include "readTimeControls.H" #include "readPISOControls.H" #include "CourantNo.H" - #include "setDeltaT.H" runTime++; diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C index 0056249e51..fd1e550668 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C @@ -185,7 +185,7 @@ int main(int argc, char *argv[]) + aSf*p_pos - aSf*p_neg ); - volTensorField tauMC("tauMC", mu*dev2(fvc::grad(U)().T())); + volTensorField tauMC("tauMC", mu*dev2(Foam::T(fvc::grad(U)))); // --- Solve density Info<< max(rho) << " " << min(rho) << endl; diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C index d0d0323a29..377795191c 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C @@ -167,7 +167,7 @@ int main(int argc, char *argv[]) + aSf*p_pos - aSf*p_neg ); - volTensorField tauMC("tauMC", mu*dev2(fvc::grad(U)().T())); + volTensorField tauMC("tauMC", mu*dev2(Foam::T(fvc::grad(U)))); // --- Solve density solve(fvm::ddt(rho) + fvc::div(phi)); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options index 71580ca21d..636fc5d8bb 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options @@ -5,6 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \ -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options index a255d65f6c..599e1e7502 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/Make/options @@ -7,6 +7,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \ -I$(LIB_SRC)/turbulenceModels \ -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \ diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H index 1e78cc297a..179480249d 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/setRegionSolidFields.H @@ -4,7 +4,7 @@ tmp trho = thermo.rho(); const volScalarField& rho = trho(); - tmp tcp = thermo.cp(); + tmp tcp = thermo.Cp(); const volScalarField& cp = tcp(); tmp tK = thermo.K(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H index 1e78cc297a..a843ed8bd7 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/setRegionSolidFields.H @@ -4,11 +4,12 @@ tmp trho = thermo.rho(); const volScalarField& rho = trho(); - tmp tcp = thermo.cp(); + tmp tcp = thermo.Cp(); const volScalarField& cp = tcp(); tmp tK = thermo.K(); //tmp tK = thermo.directionalK(); const volScalarField& K = tK(); + //const volSymmTensorField& K = tK(); volScalarField& T = thermo.T(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C index cce2dcb09c..a93f19e199 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.C @@ -57,4 +57,35 @@ Foam::scalar Foam::solidRegionDiffNo } +Foam::scalar Foam::solidRegionDiffNo +( + const fvMesh& mesh, + const Time& runTime, + const volScalarField& Cprho, + const volSymmTensorField& Kdirectional +) +{ + scalar DiNum = 0.0; + scalar meanDiNum = 0.0; + + volScalarField K = mag(Kdirectional); + + //- Take care: can have fluid domains with 0 cells so do not test for + // zero internal faces. + surfaceScalarField KrhoCpbyDelta = + mesh.surfaceInterpolation::deltaCoeffs() + * fvc::interpolate(K) + / fvc::interpolate(Cprho); + + DiNum = gMax(KrhoCpbyDelta.internalField())*runTime.deltaT().value(); + + meanDiNum = (average(KrhoCpbyDelta)).value()*runTime.deltaT().value(); + + Info<< "Region: " << mesh.name() << " Diffusion Number mean: " << meanDiNum + << " max: " << DiNum << endl; + + return DiNum; +} + + // ************************************************************************* // diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.H index 333ef7a3eb..afb21252ac 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solidRegionDiffNo.H @@ -41,6 +41,15 @@ namespace Foam const volScalarField& Cprho, const volScalarField& K ); + + scalar solidRegionDiffNo + ( + const fvMesh& mesh, + const Time& runTime, + const volScalarField& Cprho, + const volSymmTensorField& K + ); + } #endif diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H index 05b26d1626..d8aa03283b 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H @@ -18,6 +18,8 @@ if (finalIter) Info<< "Min/max T:" << min(T) << ' ' << max(T) << endl; } +thermo.correct(); + if (finalIter) { mesh.data::remove("finalIteration"); diff --git a/applications/solvers/lagrangian/coalChemistryFoam/Make/options b/applications/solvers/lagrangian/coalChemistryFoam/Make/options index c6daa2b570..329dffc84d 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/Make/options +++ b/applications/solvers/lagrangian/coalChemistryFoam/Make/options @@ -10,8 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolids/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \ @@ -33,8 +33,8 @@ EXE_LIBS = \ -lbasicThermophysicalModels \ -lliquids \ -lliquidMixture \ - -lsolids \ - -lsolidMixture \ + -lpointSolids \ + -lpointSolidMixture \ -lthermophysicalFunctions \ -lreactionThermophysicalModels \ -lSLGThermo \ diff --git a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options index 6e117fc63b..7596b87bbd 100644 --- a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options +++ b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options @@ -10,8 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolids/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \ @@ -32,8 +32,8 @@ EXE_LIBS = \ -lbasicThermophysicalModels \ -lliquids \ -lliquidMixture \ - -lsolids \ - -lsolidMixture \ + -lpointSolids \ + -lpointSolidMixture \ -lthermophysicalFunctions \ -lreactionThermophysicalModels \ -lSLGThermo \ diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options index 230a08dfad..34867be0b4 100644 --- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options +++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options @@ -5,8 +5,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/pdfs/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolids/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ @@ -26,8 +26,8 @@ EXE_LIBS = \ -lcompressibleLESModels \ -lspecie \ -lbasicThermophysicalModels \ - -lsolids \ - -lsolidMixture \ + -lpointSolids \ + -lpointSolidMixture \ -lthermophysicalFunctions \ -lreactionThermophysicalModels \ -lSLGThermo \ diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options index 3954a34ea3..2dbb2590f7 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options +++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options @@ -9,8 +9,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolids/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \ @@ -31,8 +31,8 @@ EXE_LIBS = \ -lbasicThermophysicalModels \ -lliquids \ -lliquidMixture \ - -lsolids \ - -lsolidMixture \ + -lpointSolids \ + -lpointSolidMixture \ -lthermophysicalFunctions \ -lreactionThermophysicalModels \ -lSLGThermo \ diff --git a/applications/solvers/lagrangian/steadyReactingParcelFoam/Make/options b/applications/solvers/lagrangian/steadyReactingParcelFoam/Make/options index 6e117fc63b..7596b87bbd 100644 --- a/applications/solvers/lagrangian/steadyReactingParcelFoam/Make/options +++ b/applications/solvers/lagrangian/steadyReactingParcelFoam/Make/options @@ -10,8 +10,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolids/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/pointSolidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \ @@ -32,8 +32,8 @@ EXE_LIBS = \ -lbasicThermophysicalModels \ -lliquids \ -lliquidMixture \ - -lsolids \ - -lsolidMixture \ + -lpointSolids \ + -lpointSolidMixture \ -lthermophysicalFunctions \ -lreactionThermophysicalModels \ -lSLGThermo \ diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index cb03cb2761..6a11f86c3e 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_ ); @@ -261,7 +261,7 @@ void Foam::kineticTheoryModel::solve(const volTensorField& gradUat) 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). @@ -321,7 +321,13 @@ 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 97% rename from applications/utilities/mesh/generation/extrudeMesh/Make/files rename to applications/utilities/mesh/generation/extrude/extrudeMesh/Make/files index 08f746cc3f..f5a718066d 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/Make/files +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/Make/files @@ -1,4 +1,3 @@ extrudeMesh.C EXE = $(FOAM_APPBIN)/extrudeMesh - 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..3445b811ea 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 \ @@ -12,4 +12,3 @@ EXE_LIBS = \ -lmeshTools \ -ldynamicMesh \ -lextrudeModel - 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 559d91129e..526e6d341d 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C @@ -218,9 +218,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..4c20f79a7e 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; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -94,4 +94,3 @@ mergeFaces false; //true; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.C similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.C rename to applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.C index 3dc6a40988..8a8ae1819f 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.C @@ -381,4 +381,3 @@ Foam::extrudedMesh::extrudedMesh // ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.H b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.H similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.H rename to applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.H index 7d14775158..bf1353f356 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudedMesh/extrudedMesh.H +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudedMesh/extrudedMesh.H @@ -124,4 +124,3 @@ public: #endif // ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/files b/applications/utilities/mesh/generation/extrude/extrudeModel/Make/files similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/files rename to applications/utilities/mesh/generation/extrude/extrudeModel/Make/files index fdd7c3e7b7..12b60a0f7d 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/files +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/Make/files @@ -7,4 +7,3 @@ sigmaRadial/sigmaRadial.C wedge/wedge.C LIB = $(FOAM_LIBBIN)/libextrudeModel - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/options b/applications/utilities/mesh/generation/extrude/extrudeModel/Make/options similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/options rename to applications/utilities/mesh/generation/extrude/extrudeModel/Make/options index 3c57befe4f..70c838b774 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/Make/options +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/Make/options @@ -5,4 +5,3 @@ EXE_INC = \ EXE_LIBS = \ -lmeshTools \ -ldynamicMesh - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C b/applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.C similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.C index b7b47bd6f2..02c6fdd95c 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/extrudeModel/extrudeModel.C @@ -86,4 +86,3 @@ Foam::scalar Foam::extrudeModel::sumThickness(const label layer) const // ************************************************************************* // - 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 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.C index d3d3d24382..d67d82c2c6 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearDirection/linearDirection.C +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/linearDirection/linearDirection.C @@ -86,4 +86,3 @@ point linearDirection::operator() } // End namespace Foam // ************************************************************************* // - 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..62fc650c49 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 @@ -95,4 +95,3 @@ public: #endif // ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.C b/applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.C similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.C index 34e0ba81cd..ff429845c2 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearNormal/linearNormal.C +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/linearNormal/linearNormal.C @@ -83,4 +83,3 @@ point linearNormal::operator() } // End namespace Foam // ************************************************************************* // - 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..17b4f5b034 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 @@ -92,4 +92,3 @@ public: #endif // ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.C b/applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.C similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.C index b3a8c1298a..8d6631ea12 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/linearRadial/linearRadial.C +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/linearRadial/linearRadial.C @@ -79,4 +79,3 @@ point linearRadial::operator() } // End namespace Foam // ************************************************************************* // - 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..7cebd31e7b 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 @@ -90,4 +90,3 @@ public: #endif // ************************************************************************* // - diff --git a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C b/applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.C similarity index 99% rename from applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C rename to applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.C index c8a8ffe6fb..6f1a77cf20 100644 --- a/applications/utilities/mesh/generation/extrudeMesh/extrudeModel/sigmaRadial/sigmaRadial.C +++ b/applications/utilities/mesh/generation/extrude/extrudeModel/sigmaRadial/sigmaRadial.C @@ -89,4 +89,3 @@ point sigmaRadial::operator() } // End namespace Foam // ************************************************************************* // - 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..fd01268df3 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 @@ -91,4 +91,3 @@ public: #endif // ************************************************************************* // - 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 98% rename from applications/utilities/mesh/generation/extrudeToRegionMesh/Make/files rename to applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files index 62431e23d4..be2c8d6975 100644 --- a/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/files +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files @@ -3,5 +3,3 @@ createShellMesh.C extrudeToRegionMesh.C EXE = $(FOAM_APPBIN)/extrudeToRegionMesh - - 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..201089b74f 100644 --- a/applications/utilities/mesh/generation/extrudeToRegionMesh/Make/options +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/options @@ -1,10 +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 58% rename from applications/utilities/mesh/generation/extrudeToRegionMesh/createShellMesh.C rename to applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C index 3dfa31ad0b..e57db9f9b3 100644 --- a/applications/utilities/mesh/generation/extrudeToRegionMesh/createShellMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -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