Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-2.3.x

This commit is contained in:
andy 2014-05-30 16:03:55 +01:00
commit 81be735dad
5 changed files with 43 additions and 31 deletions

View file

@ -59,7 +59,15 @@ Foam::label Foam::dynamicRefineFvMesh::count
{
n++;
}
// debug also serves to get-around Clang compiler trying to optimsie
// out this forAll loop under O3 optimisation
if (debug)
{
Info<< "n=" << n << endl;
}
}
return n;
}
@ -659,11 +667,11 @@ Foam::dynamicRefineFvMesh::maxPointField(const scalarField& pFld) const
}
// Get min of connected cell
// Get max of connected cell
Foam::scalarField
Foam::dynamicRefineFvMesh::minCellField(const volScalarField& vFld) const
Foam::dynamicRefineFvMesh::maxCellField(const volScalarField& vFld) const
{
scalarField pFld(nPoints(), GREAT);
scalarField pFld(nPoints(), -GREAT);
forAll(pointCells(), pointI)
{
@ -671,7 +679,7 @@ Foam::dynamicRefineFvMesh::minCellField(const volScalarField& vFld) const
forAll(pCells, i)
{
pFld[pointI] = min(pFld[pointI], vFld[pCells[i]]);
pFld[pointI] = max(pFld[pointI], vFld[pCells[i]]);
}
}
return pFld;
@ -774,10 +782,11 @@ Foam::labelList Foam::dynamicRefineFvMesh::selectRefineCells
calculateProtectedCells(unrefineableCell);
// Count current selection
label nCandidates = returnReduce(count(candidateCell, 1), sumOp<label>());
label nLocalCandidates = count(candidateCell, 1);
label nCandidates = returnReduce(nLocalCandidates, sumOp<label>());
// Collect all cells
DynamicList<label> candidates(nCells());
DynamicList<label> candidates(nLocalCandidates);
if (nCandidates < nTotToRefine)
{
@ -1263,25 +1272,28 @@ bool Foam::dynamicRefineFvMesh::update()
readScalar(refineDict.lookup("lowerRefineLevel"));
const scalar upperRefineLevel =
readScalar(refineDict.lookup("upperRefineLevel"));
const scalar unrefineLevel =
readScalar(refineDict.lookup("unrefineLevel"));
const scalar unrefineLevel = refineDict.lookupOrDefault<scalar>
(
"unrefineLevel",
GREAT
);
const label nBufferLayers =
readLabel(refineDict.lookup("nBufferLayers"));
// Cells marked for refinement or otherwise protected from unrefinement.
PackedBoolList refineCell(nCells());
// Determine candidates for refinement (looking at field only)
selectRefineCandidates
(
lowerRefineLevel,
upperRefineLevel,
vFld,
refineCell
);
if (globalData().nTotalCells() < maxCells)
{
// Determine candidates for refinement (looking at field only)
selectRefineCandidates
(
lowerRefineLevel,
upperRefineLevel,
vFld,
refineCell
);
// Select subset of candidates. Take into account max allowable
// cells, refinement level, protected cells.
labelList cellsToRefine
@ -1352,7 +1364,7 @@ bool Foam::dynamicRefineFvMesh::update()
(
unrefineLevel,
refineCell,
minCellField(vFld)
maxCellField(vFld)
)
);

View file

@ -37,8 +37,8 @@ Description
// Refine field inbetween lower..upper
lowerRefineLevel 0.001;
upperRefineLevel 0.999;
// If value < unrefineLevel unrefine
unrefineLevel 10;
// If value < unrefineLevel (default=GREAT) unrefine
//unrefineLevel 10;
// Have slower than 2:1 refinement
nBufferLayers 1;
// Refine cells only up to maxRefinement levels
@ -79,7 +79,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class dynamicRefineFvMesh Declaration
Class dynamicRefineFvMesh Declaration
\*---------------------------------------------------------------------------*/
class dynamicRefineFvMesh
@ -139,8 +139,8 @@ protected:
//- Get per cell max of connected point
scalarField maxPointField(const scalarField&) const;
//- Get point min of connected cell
scalarField minCellField(const volScalarField&) const;
//- Get point max of connected cell
scalarField maxCellField(const volScalarField&) const;
scalarField cellToPoint(const scalarField& vFld) const;

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -75,9 +75,9 @@ Foam::solidBodyMotionFunctions::rotatingMotion::transformation() const
scalar t = time_.value();
// Rotation around axis
vector eulerAngles = omega_->integrate(0, t)*axis_;
scalar angle = omega_->integrate(0, t);
quaternion R(eulerAngles.x(), eulerAngles.y(), eulerAngles.z());
quaternion R(axis_, angle);
septernion TR(septernion(origin_)*R*septernion(-origin_));
Info<< "solidBodyMotionFunctions::rotatingMotion::transformation(): "

View file

@ -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
@ -107,7 +107,7 @@ void Foam::movingWallVelocityFvPatchVectorField::updateCoeffs()
const fvMesh& mesh = dimensionedInternalField().mesh();
if (mesh.changing())
if (mesh.moving())
{
const fvPatch& p = patch();
const polyPatch& pp = p.patch();

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -531,7 +531,7 @@ void Foam::radiation::viewFactor::calculate()
if (i==j)
{
C[i][j] = invEj - (invEj - 1.0)*Fmatrix_()[i][j];
q[i] += (Fmatrix_()[i][j] - 1.0)*sigmaT4 - QrExt[j];
q[i] += (Fmatrix_()[i][j] - 1.0)*sigmaT4;
}
else
{
@ -580,7 +580,7 @@ void Foam::radiation::viewFactor::calculate()
if (i==j)
{
q[i] += (Fmatrix_()[i][j] - 1.0)*sigmaT4 - QrExt[j];
q[i] += (Fmatrix_()[i][j] - 1.0)*sigmaT4;
}
else
{