diff --git a/README.html b/README.html
index afcf0675..722830ec 100644
--- a/README.html
+++ b/README.html
@@ -26,10 +26,10 @@
.center {margin-left:auto; margin-right:auto; text-align:center;}
p.verse { margin-left: 3% }
pre {
- border: 1pt solid #AEBDCC;
- background-color: #F3F5F7;
- padding: 5pt;
- font-family: courier, monospace;
+ border: 1pt solid #AEBDCC;
+ background-color: #F3F5F7;
+ padding: 5pt;
+ font-family: courier, monospace;
font-size: 90%;
overflow:auto;
}
@@ -137,7 +137,7 @@ for the JavaScript code in this tag.
-
OpenFOAM is a free, open source computational fluid dynamcis (CFD) software
+
OpenFOAM is a free, open source computational fluid dynamics (CFD) software
package released by the OpenFOAM Foundation. It has a large user base across
most areas of engineering and science, from both commercial and academic
organisations. OpenFOAM has an extensive range of features to solve anything
diff --git a/README.org b/README.org
index f363c019..3118d613 100644
--- a/README.org
+++ b/README.org
@@ -8,7 +8,7 @@
# Copyright (c) 2014 OpenFOAM Foundation.
* About OpenFOAM
- OpenFOAM is a free, open source computational fluid dynamcis (CFD) software
+ OpenFOAM is a free, open source computational fluid dynamics (CFD) software
package released by the OpenFOAM Foundation. It has a large user base across
most areas of engineering and science, from both commercial and academic
organisations. OpenFOAM has an extensive range of features to solve anything
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C
index 6e741014..cd254865 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C
@@ -52,7 +52,7 @@ Foam::aspectRatioModels::TomiyamaAspectRatio::TomiyamaAspectRatio
const orderedPhasePair& pair
)
:
- aspectRatioModel(dict, pair),
+ VakhrushevEfremov(dict, pair),
yWall_(pair.phase1().mesh().lookupObject("yWall"))
{}
@@ -69,7 +69,7 @@ Foam::tmp
Foam::aspectRatioModels::TomiyamaAspectRatio::E() const
{
return
- pair_.Eo()
+ VakhrushevEfremov::E()
*max
(
scalar(1) - 0.35*yWall_/pair_.dispersed().d(),
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H
index ba32d21c..82f00642 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H
@@ -44,7 +44,7 @@ SourceFiles
#ifndef TomiyamaAspectRatio_H
#define TomiyamaAspectRatio_H
-#include "aspectRatioModel.H"
+#include "VakhrushevEfremov.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -59,7 +59,7 @@ namespace aspectRatioModels
class TomiyamaAspectRatio
:
- public aspectRatioModel
+ public VakhrushevEfremov
{
private:
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C
index 0531e30b..01d122de 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C
@@ -69,17 +69,17 @@ Foam::dragModels::TomiyamaAnalytic::CdRe() const
volScalarField Eo(max(pair_.Eo(), residualEo_));
volScalarField E(max(pair_.E(), residualE_));
- volScalarField OmEsq(max(scalar(1) - sqr(E), residualE_));
+ volScalarField OmEsq(max(scalar(1) - sqr(E), sqr(residualE_)));
volScalarField rtOmEsq(sqrt(OmEsq));
- volScalarField F((asin(rtOmEsq) - E*rtOmEsq)/OmEsq);
+ volScalarField F(max(asin(rtOmEsq) - E*rtOmEsq, residualE_)/OmEsq);
return
(8.0/3.0)
*Eo
/(
Eo*pow(E, 2.0/3.0)/OmEsq
- + 16*pow(E, 0.75)
+ + 16*pow(E, 4.0/3.0)
)
/sqr(F)
*max(pair_.Re(), residualRe_);
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
index 24ab01e7..2544e038 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C
@@ -62,15 +62,39 @@ Foam::liftModels::Moraga::~Moraga()
Foam::tmp Foam::liftModels::Moraga::Cl() const
{
- volScalarField ReSqrSr
+ volScalarField Re(pair_.Re());
+
+ volScalarField sqrSr
(
- pair_.Re()
- *sqr(pair_.dispersed().d())
+ sqr(pair_.dispersed().d())
/pair_.continuous().nu()
*mag(fvc::grad(pair_.continuous().U()))
);
- return 0.2*exp(- ReSqrSr/3.6e5 - 0.12)*exp(ReSqrSr/3.0e7);
+ if
+ (
+ min(Re).value() < 1200.0
+ || max(Re).value() > 18800.0
+ || min(sqrSr).value() < 0.0016
+ || max(sqrSr).value() > 0.04
+ )
+ {
+ WarningIn
+ (
+ "Foam::tmp "
+ "Foam::liftModels::Moraga::Cl() const"
+ ) << "Re and/or Sr are out of the range of applicability of the "
+ << "Moraga model. Clamping to range bounds"
+ << endl;
+ }
+
+ Re.min(1200.0);
+ Re.max(18800.0);
+
+ sqrSr.min(0.0016);
+ sqrSr.max(0.04);
+
+ return 0.2*exp(- Re*sqrSr/3.6e5 - 0.12)*exp(Re*sqrSr/3.0e7);
}
diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C
index 32e260f5..8677f08c 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C
+++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C
@@ -19,7 +19,7 @@ Foam::label Foam::findOppositeWedge
{
const polyBoundaryMesh& patches = mesh.boundaryMesh();
- scalar wppCosAngle = wpp.centreNormal()&wpp.patchNormal();
+ scalar wppCosAngle = wpp.cosAngle();
forAll(patches, patchI)
{
@@ -30,13 +30,11 @@ Foam::label Foam::findOppositeWedge
&& isA(patches[patchI])
)
{
- const wedgePolyPatch& pp = refCast
- (
- patches[patchI]
- );
+ const wedgePolyPatch& pp =
+ refCast(patches[patchI]);
// Calculate (cos of) angle to wpp (not pp!) centre normal
- scalar ppCosAngle = wpp.centreNormal()&pp.patchNormal();
+ scalar ppCosAngle = wpp.centreNormal() & pp.n();
if
(
@@ -73,12 +71,10 @@ bool Foam::checkWedges
{
if (patches[patchI].size() && isA(patches[patchI]))
{
- const wedgePolyPatch& pp = refCast
- (
- patches[patchI]
- );
+ const wedgePolyPatch& pp =
+ refCast(patches[patchI]);
- scalar wedgeAngle = acos(pp.centreNormal()&pp.patchNormal());
+ scalar wedgeAngle = acos(pp.cosAngle());
if (report)
{
@@ -100,10 +96,8 @@ bool Foam::checkWedges
return true;
}
- const wedgePolyPatch& opp = refCast
- (
- patches[oppositePatchI]
- );
+ const wedgePolyPatch& opp =
+ refCast(patches[oppositePatchI]);
if (mag(opp.axis() & pp.axis()) < (1-1e-3))
@@ -140,7 +134,7 @@ bool Foam::checkWedges
forAll(pp.meshPoints(), i)
{
const point& pt = p[pp.meshPoints()[i]];
- scalar d = mag((pt-p0) & pp.patchNormal());
+ scalar d = mag((pt - p0) & pp.n());
if (d > sqrt(SMALL))
{
@@ -385,10 +379,8 @@ bool Foam::checkCoupledPoints
{
if (patches[patchI].coupled())
{
- const coupledPolyPatch& cpp = refCast
- (
- patches[patchI]
- );
+ const coupledPolyPatch& cpp =
+ refCast(patches[patchI]);
if (cpp.owner())
{
diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.C b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.C
index c335911c..56dba997 100644
--- a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.C
+++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -21,9 +21,6 @@ License
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see .
-Description
- Wedge front and back plane patch
-
\*---------------------------------------------------------------------------*/
#include "wedgePointPatch.H"
@@ -46,6 +43,19 @@ namespace Foam
}
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+Foam::wedgePointPatch::wedgePointPatch
+(
+ const polyPatch& patch,
+ const pointBoundaryMesh& bm
+)
+:
+ facePointPatch(patch, bm),
+ wedgePolyPatch_(refCast(patch))
+{}
+
+
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::wedgePointPatch::applyConstraint
@@ -54,7 +64,7 @@ void Foam::wedgePointPatch::applyConstraint
pointConstraint& pc
) const
{
- pc.applyConstraint(pointNormals()[pointi]);
+ pc.applyConstraint(wedgePolyPatch_.n());
}
diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.H b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.H
index a62acfaa..0a437c32 100644
--- a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.H
+++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/wedge/wedgePointPatch.H
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -51,6 +51,11 @@ class wedgePointPatch
:
public facePointPatch
{
+ // Private data
+
+ //- Local reference cast into the symmetryPlane patch
+ const wedgePolyPatch& wedgePolyPatch_;
+
public:
@@ -65,10 +70,7 @@ public:
(
const polyPatch& patch,
const pointBoundaryMesh& bm
- )
- :
- facePointPatch(patch, bm)
- {}
+ );
// Member Functions
@@ -85,6 +87,12 @@ public:
const label pointi,
pointConstraint&
) const;
+
+ //- Return symmetry plane normal
+ const vector& n() const
+ {
+ return wedgePolyPatch_.n();
+ }
};
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C
index e95fbe95..803e523d 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/faceMapper/faceMapper.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -28,9 +28,6 @@ License
#include "polyMesh.H"
#include "mapPolyMesh.H"
-// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
-
-
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::faceMapper::calcAddressing() const
@@ -168,7 +165,7 @@ void Foam::faceMapper::calcAddressing() const
}
- // Grab inserted points (for them the size of addressing is still zero)
+ // Grab inserted faces (for them the size of addressing is still zero)
insertedFaceLabelsPtr_ = new labelList(mesh_.nFaces());
labelList& insertedFaces = *insertedFaceLabelsPtr_;
@@ -413,13 +410,4 @@ const Foam::labelList& Foam::faceMapper::oldPatchSizes() const
}
-// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
-
-
-// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
-
-
// ************************************************************************* //
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
index cd70eb39..668a5953 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
@@ -921,7 +921,6 @@ Foam::polyMesh::cellTree() const
}
-// Add boundary patches. Constructor helper
void Foam::polyMesh::addPatches
(
const List& p,
@@ -968,7 +967,6 @@ void Foam::polyMesh::addPatches
}
-// Add mesh zones. Constructor helper
void Foam::polyMesh::addZones
(
const List& pz,
@@ -1084,7 +1082,6 @@ const Foam::labelList& Foam::polyMesh::faceNeighbour() const
}
-// Return old mesh motion points
const Foam::pointField& Foam::polyMesh::oldPoints() const
{
if (oldPointsPtr_.empty())
@@ -1129,11 +1126,14 @@ Foam::tmp Foam::polyMesh::movePoints
points_ = newPoints;
+ bool moveError = false;
if (debug)
{
// Check mesh motion
if (checkMeshMotion(points_, true))
{
+ moveError = true;
+
Info<< "tmp polyMesh::movePoints"
<< "(const pointField&) : "
<< "Moving the mesh with given points will "
@@ -1176,6 +1176,12 @@ Foam::tmp Foam::polyMesh::movePoints
const_cast