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

This commit is contained in:
Henry Weller
2018-04-14 11:05:24 +01:00
14 changed files with 45 additions and 86 deletions

View File

@ -52,7 +52,10 @@ Foam::dragModels::AttouFerschneider::KGasLiquid
const phaseModel& solid = gas.fluid().phases()[solidName_];
const volScalarField oneMinusGas(max(1 - gas, liquid.residualAlpha()));
const volScalarField cbrtR(solid/oneMinusGas);
const volScalarField cbrtR
(
cbrt(max(solid, solid.residualAlpha())/oneMinusGas)
);
const volScalarField magURel(mag(gas.U() - liquid.U()));
return
@ -70,7 +73,10 @@ Foam::dragModels::AttouFerschneider::KGasSolid
) const
{
const volScalarField oneMinusGas(max(1 - gas, solid.residualAlpha()));
const volScalarField cbrtR(solid/oneMinusGas);
const volScalarField cbrtR
(
cbrt(max(solid, solid.residualAlpha())/oneMinusGas)
);
return
E1_*gas.mu()*sqr(oneMinusGas/solid.d())*sqr(cbrtR)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -42,6 +42,7 @@ SourceFiles
#include "word.H"
#include "contiguous.H"
#include "pointField.H"
#include "transformField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -148,6 +149,10 @@ public:
template<class Type>
tmp<Field<Type>> transform(const Field<Type>&) const;
//- Inverse transform the given field
template<class Type>
tmp<Field<Type>> invTransform(const Field<Type>&) const;
// Member operators

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -33,7 +33,24 @@ Foam::tmp<Foam::Field<Type>> Foam::vectorTensorTransform::transform
{
if (hasR_)
{
return R() & fld;
return Foam::transform(R(), fld);
}
else
{
return fld;
}
}
template<class Type>
Foam::tmp<Foam::Field<Type>> Foam::vectorTensorTransform::invTransform
(
const Field<Type>& fld
) const
{
if (hasR_)
{
return Foam::transform(R().T(), fld);
}
else
{

View File

@ -77,7 +77,6 @@ Foam::Cloud<ParticleType>::Cloud
cloud(pMesh, cloudName),
IDLList<ParticleType>(),
polyMesh_(pMesh),
labels_(),
globalPositionsPtr_()
{
checkPatches();
@ -356,10 +355,6 @@ void Foam::Cloud<ParticleType>::autoMap(const mapPolyMesh& mapper)
<< exit(FatalError);
}
// Reset stored data that relies on the mesh
// polyMesh_.clearCellTree();
cellWallFacesPtr_.clear();
// Ask for the tetBasePtIs to trigger all processors to build
// them, otherwise, if some processors have no particles then
// there is a comms mismatch.

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -75,14 +75,9 @@ class Cloud
{
// Private data
//- Reference to the mesh
const polyMesh& polyMesh_;
//- Temporary storage for addressing. Used in findTris.
mutable DynamicList<label> labels_;
//- Does the cell have wall faces
mutable autoPtr<PackedBoolList> cellWallFacesPtr_;
//- Temporary storage for the global particle positions
mutable autoPtr<vectorField> globalPositionsPtr_;
@ -95,9 +90,6 @@ class Cloud
//- Initialise cloud on IO constructor
void initCloud(const bool checkClass);
//- Find all cells which have wall faces
void calcCellWallFaces() const;
//- Read cloud properties dictionary
void readCloudUniformProperties();
@ -162,12 +154,6 @@ public:
return IDLList<ParticleType>::size();
};
//- Return temporary addressing
DynamicList<label>& labels() const
{
return labels_;
}
// Iterators

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -149,8 +149,7 @@ Foam::Cloud<ParticleType>::Cloud
:
cloud(pMesh, cloudName),
polyMesh_(pMesh),
labels_(),
cellWallFacesPtr_()
globalPositionsPtr_()
{
checkPatches();

View File

@ -20,14 +20,7 @@ internalField uniform 300;
boundaryField
{
bottom
{
type inletOutlet;
phi phi.air;
inletValue $internalField;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type zeroGradient;
}

View File

@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class volScalarField;
object T.solid;
object T.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -20,14 +20,7 @@ internalField uniform 300;
boundaryField
{
bottom
{
type inletOutlet;
phi phi.water;
inletValue $internalField;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type zeroGradient;
}

View File

@ -20,13 +20,7 @@ internalField uniform (0 0 0);
boundaryField
{
bottom
{
type pressureInletOutletVelocity;
phi phi.air;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type noSlip;
}

View File

@ -20,13 +20,7 @@ internalField uniform (0 0 0);
boundaryField
{
bottom
{
type pressureInletOutletVelocity;
phi phi.water;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type noSlip;
}

View File

@ -20,14 +20,7 @@ internalField uniform 0.5;
boundaryField
{
bottom
{
type inletOutlet;
phi phi.air;
inletValue $internalField;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type zeroGradient;
}

View File

@ -20,14 +20,7 @@ internalField uniform 0;
boundaryField
{
bottom
{
type inletOutlet;
phi phi.water;
inletValue $internalField;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type zeroGradient;
}

View File

@ -20,16 +20,7 @@ internalField uniform 1e5;
boundaryField
{
bottom
{
type prghTotalPressure;
p0 $internalField;
U U.air;
phi phi.air;
rho thermo:rho.air;
value $internalField;
}
"(top|walls)"
"(bottom|top|walls)"
{
type fixedFluxPressure;
value $internalField;