diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H index bbbd079ef2..3ce6b03b9d 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/setPorousRegionSolidFields.H @@ -15,6 +15,9 @@ const volScalarField& kappa = tkappa(); //const volSymmTensorField& K = tK(); + tmp trhoCp = cp*rho; + const volScalarField& rhoCp = trhoCp(); + volScalarField& T = thermo.T(); IObasicSourceList& sources = solidHeatSources[i]; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H index 2dd09b974f..5d4bb47b22 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/porousSolid/solvePorousSolid.H @@ -4,7 +4,7 @@ tmp TEqn ( - fvm::laplacian(betav*kappa, T, "laplacian(K,T)") - + sources(rho, T) + + sources(rhoCp, T) ); TEqn().relax(); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H index 6f4834000d..2ade49d0ac 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/setPorousRegionSolidFields.H @@ -15,6 +15,9 @@ const volScalarField& kappa = tkappa(); //const volSymmTensorField& K = tK(); + tmp trhoCp = cp*rho; + const volScalarField& rhoCp = trhoCp(); + volScalarField& T = thermo.T(); IObasicSourceList& sources = solidHeatSources[i]; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H index e8941cf2ad..dfe0bff675 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/porousSolid/solvePorousSolid.H @@ -10,7 +10,7 @@ if (finalIter) ( fvm::ddt(betav*rho*cp, T) - fvm::laplacian(betav*kappa, T, "laplacian(K,T)") - + sources(rho, T) + + sources(rhoCp, T) ); TEqn().relax(); diff --git a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C index 899159b2a2..c0523bf43b 100644 --- a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C +++ b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -28,60 +28,44 @@ Description - merge two edges if they are in line. Maximum angle provided as argument. - remove unused points. - Cannot remove cells. Can remove faces and points but does not check + Optionally removes cells. Can remove faces and points but does not check for nonsense resulting topology. When collapsing an edge with one point on the boundary it will leave the boundary point intact. When both points inside it chooses random. When - both points on boundary random again. Note: it should in fact use features - where if one point is on a feature it collapses to that one. Alas we don't - have features on a polyMesh. + both points on boundary random again. + +Usage + - collapseEdges [OPTION] + + \param -allowCellCollapse \n + Allow collapsing of cells to a single point + + \param -meshQuality \n + Only collapse if not exceeding user defined (in \a system/meshQualityDict) + quality settings \*---------------------------------------------------------------------------*/ #include "argList.H" #include "Time.H" #include "polyTopoChange.H" -#include "polyTopoChanger.H" -#include "polyMesh.H" #include "fvMesh.H" #include "mapPolyMesh.H" #include "mathematicalConstants.H" #include "PackedBoolList.H" -#include "SortableList.H" #include "unitConversion.H" #include "globalMeshData.H" #include "globalIndex.H" #include "PointEdgeWave.H" #include "pointEdgeCollapse.H" #include "motionSmoother.H" - -#include "OFstream.H" -#include "meshTools.H" +#include "removePoints.H" using namespace Foam; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -label findIndex -( - const labelList& elems, - const label start, - const label size, - const label val -) -{ - for (label i = start; i < size; i++) - { - if (elems[i] == val) - { - return i; - } - } - return -1; -} - - void filterFace ( const label faceI, @@ -121,7 +105,7 @@ void filterFace } else { - if (findIndex(f, 0, newFp, collapsePoint) == -1) + if (findIndex(SubList