parcelCloud: Renamed volume and mass fractions
A cloud's volume fraction is now generated with parcelCloud::alpha, and the mass fraction with parcelCloud::Y. This is consistent with the rest of OpenFOAM.
This commit is contained in:
@ -225,7 +225,7 @@ incompressibleDenseParticleFluid
|
|||||||
momentumTransport->validate();
|
momentumTransport->validate();
|
||||||
|
|
||||||
// Update alphac from the particle locations
|
// Update alphac from the particle locations
|
||||||
alphac_ = max(1 - clouds.theta(), alphacMin);
|
alphac_ = max(1 - clouds.alpha(), alphacMin);
|
||||||
alphac_.correctBoundaryConditions();
|
alphac_.correctBoundaryConditions();
|
||||||
alphacf = fvc::interpolate(alphac);
|
alphacf = fvc::interpolate(alphac);
|
||||||
alphaPhic = alphacf*phic;
|
alphaPhic = alphacf*phic;
|
||||||
@ -288,7 +288,7 @@ void Foam::solvers::incompressibleDenseParticleFluid::prePredictor()
|
|||||||
clouds.evolve();
|
clouds.evolve();
|
||||||
|
|
||||||
// Update continuous phase volume fraction field
|
// Update continuous phase volume fraction field
|
||||||
alphac_ = max(1 - clouds.theta(), alphacMin);
|
alphac_ = max(1 - clouds.alpha(), alphacMin);
|
||||||
alphac_.correctBoundaryConditions();
|
alphac_.correctBoundaryConditions();
|
||||||
alphacf = fvc::interpolate(alphac);
|
alphacf = fvc::interpolate(alphac);
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013-2023 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -309,7 +309,7 @@ void Foam::MPPICCloud<CloudType>::info()
|
|||||||
{
|
{
|
||||||
CloudType::info();
|
CloudType::info();
|
||||||
|
|
||||||
tmp<volScalarField> alpha = this->theta();
|
tmp<volScalarField> alpha = this->alpha();
|
||||||
|
|
||||||
const scalar alphaMin = gMin(alpha().primitiveField());
|
const scalar alphaMin = gMin(alpha().primitiveField());
|
||||||
const scalar alphaMax = gMax(alpha().primitiveField());
|
const scalar alphaMax = gMax(alpha().primitiveField());
|
||||||
|
|||||||
@ -518,11 +518,11 @@ public:
|
|||||||
|
|
||||||
//- Return the particle volume fraction field
|
//- Return the particle volume fraction field
|
||||||
// Note: for particles belonging to this cloud only
|
// Note: for particles belonging to this cloud only
|
||||||
inline const tmp<volScalarField> theta() const;
|
inline const tmp<volScalarField> alpha() const;
|
||||||
|
|
||||||
//- Return the particle mass fraction field
|
//- Return the particle mass fraction field
|
||||||
// Note: for particles belonging to this cloud only
|
// Note: for particles belonging to this cloud only
|
||||||
inline const tmp<volScalarField> alpha() const;
|
inline const tmp<volScalarField> Y() const;
|
||||||
|
|
||||||
//- Return the particle effective density field
|
//- Return the particle effective density field
|
||||||
// Note: for particles belonging to this cloud only
|
// Note: for particles belonging to this cloud only
|
||||||
|
|||||||
@ -488,30 +488,30 @@ Foam::MomentumCloud<CloudType>::vDotSweep() const
|
|||||||
|
|
||||||
template<class CloudType>
|
template<class CloudType>
|
||||||
inline const Foam::tmp<Foam::volScalarField>
|
inline const Foam::tmp<Foam::volScalarField>
|
||||||
Foam::MomentumCloud<CloudType>::theta() const
|
Foam::MomentumCloud<CloudType>::alpha() const
|
||||||
{
|
{
|
||||||
tmp<volScalarField> ttheta
|
tmp<volScalarField> ttheta
|
||||||
(
|
(
|
||||||
volScalarField::New
|
volScalarField::New
|
||||||
(
|
(
|
||||||
this->name() + ":theta",
|
this->name() + ":alpha",
|
||||||
this->mesh(),
|
this->mesh(),
|
||||||
dimensionedScalar(dimless, 0),
|
dimensionedScalar(dimless, 0),
|
||||||
extrapolatedCalculatedFvPatchScalarField::typeName
|
extrapolatedCalculatedFvPatchScalarField::typeName
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
volScalarField& theta = ttheta.ref();
|
volScalarField& alpha = ttheta.ref();
|
||||||
forAllConstIter(typename MomentumCloud<CloudType>, *this, iter)
|
forAllConstIter(typename MomentumCloud<CloudType>, *this, iter)
|
||||||
{
|
{
|
||||||
const parcelType& p = iter();
|
const parcelType& p = iter();
|
||||||
const label celli = p.cell();
|
const label celli = p.cell();
|
||||||
|
|
||||||
theta[celli] += p.nParticle()*p.volume();
|
alpha[celli] += p.nParticle()*p.volume();
|
||||||
}
|
}
|
||||||
|
|
||||||
theta.primitiveFieldRef() /= this->mesh().V();
|
alpha.primitiveFieldRef() /= this->mesh().V();
|
||||||
theta.correctBoundaryConditions();
|
alpha.correctBoundaryConditions();
|
||||||
|
|
||||||
return ttheta;
|
return ttheta;
|
||||||
}
|
}
|
||||||
@ -519,30 +519,30 @@ Foam::MomentumCloud<CloudType>::theta() const
|
|||||||
|
|
||||||
template<class CloudType>
|
template<class CloudType>
|
||||||
inline const Foam::tmp<Foam::volScalarField>
|
inline const Foam::tmp<Foam::volScalarField>
|
||||||
Foam::MomentumCloud<CloudType>::alpha() const
|
Foam::MomentumCloud<CloudType>::Y() const
|
||||||
{
|
{
|
||||||
tmp<volScalarField> talpha
|
tmp<volScalarField> tY
|
||||||
(
|
(
|
||||||
volScalarField::New
|
volScalarField::New
|
||||||
(
|
(
|
||||||
this->name() + ":alpha",
|
this->name() + ":Y",
|
||||||
this->mesh(),
|
this->mesh(),
|
||||||
dimensionedScalar(dimless, 0)
|
dimensionedScalar(dimless, 0)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
scalarField& alpha = talpha.ref().primitiveFieldRef();
|
scalarField& Y = tY.ref().primitiveFieldRef();
|
||||||
forAllConstIter(typename MomentumCloud<CloudType>, *this, iter)
|
forAllConstIter(typename MomentumCloud<CloudType>, *this, iter)
|
||||||
{
|
{
|
||||||
const parcelType& p = iter();
|
const parcelType& p = iter();
|
||||||
const label celli = p.cell();
|
const label celli = p.cell();
|
||||||
|
|
||||||
alpha[celli] += p.nParticle()*p.mass();
|
Y[celli] += p.nParticle()*p.mass();
|
||||||
}
|
}
|
||||||
|
|
||||||
alpha /= (this->mesh().V()*rho_);
|
Y /= (this->mesh().V()*rho_);
|
||||||
|
|
||||||
return talpha;
|
return tY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -90,10 +90,10 @@ public:
|
|||||||
virtual const tmp<volScalarField> vDotSweep() const = 0;
|
virtual const tmp<volScalarField> vDotSweep() const = 0;
|
||||||
|
|
||||||
//- Return the particle volume fraction field
|
//- Return the particle volume fraction field
|
||||||
virtual const tmp<volScalarField> theta() const = 0;
|
virtual const tmp<volScalarField> alpha() const = 0;
|
||||||
|
|
||||||
//- Return the particle mass fraction field
|
//- Return the particle mass fraction field
|
||||||
virtual const tmp<volScalarField> alpha() const = 0;
|
virtual const tmp<volScalarField> Y() const = 0;
|
||||||
|
|
||||||
//- Return the particle effective density field
|
//- Return the particle effective density field
|
||||||
virtual const tmp<volScalarField> rhoEff() const = 0;
|
virtual const tmp<volScalarField> rhoEff() const = 0;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -154,13 +154,13 @@ Foam::parcelCloudList::~parcelCloudList()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
const Foam::tmp<Foam::volScalarField> Foam::parcelCloudList::theta() const
|
const Foam::tmp<Foam::volScalarField> Foam::parcelCloudList::alpha() const
|
||||||
{
|
{
|
||||||
tmp<volScalarField> ttheta
|
tmp<volScalarField> ttheta
|
||||||
(
|
(
|
||||||
volScalarField::New
|
volScalarField::New
|
||||||
(
|
(
|
||||||
cloudNamesName + ":theta",
|
cloudNamesName + ":alpha",
|
||||||
mesh_,
|
mesh_,
|
||||||
dimensionedScalar(dimless, 0),
|
dimensionedScalar(dimless, 0),
|
||||||
extrapolatedCalculatedFvPatchScalarField::typeName
|
extrapolatedCalculatedFvPatchScalarField::typeName
|
||||||
@ -168,7 +168,7 @@ const Foam::tmp<Foam::volScalarField> Foam::parcelCloudList::theta() const
|
|||||||
);
|
);
|
||||||
forAll(*this, i)
|
forAll(*this, i)
|
||||||
{
|
{
|
||||||
ttheta.ref() += operator[](i).theta();
|
ttheta.ref() += operator[](i).alpha();
|
||||||
}
|
}
|
||||||
return ttheta;
|
return ttheta;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -136,7 +136,7 @@ public:
|
|||||||
// Fields
|
// Fields
|
||||||
|
|
||||||
//- Return the particle volume fraction field
|
//- Return the particle volume fraction field
|
||||||
const tmp<volScalarField> theta() const;
|
const tmp<volScalarField> alpha() const;
|
||||||
|
|
||||||
|
|
||||||
// Sources
|
// Sources
|
||||||
|
|||||||
@ -64,7 +64,7 @@ Foam::PackingModels::Implicit<CloudType>::Implicit
|
|||||||
alphaMin_(this->coeffDict().template lookup<scalar>("alphaMin")),
|
alphaMin_(this->coeffDict().template lookup<scalar>("alphaMin")),
|
||||||
rhoMin_(this->coeffDict().template lookup<scalar>("rhoMin"))
|
rhoMin_(this->coeffDict().template lookup<scalar>("rhoMin"))
|
||||||
{
|
{
|
||||||
alpha_ = this->owner().theta();
|
alpha_ = this->owner().alpha();
|
||||||
alpha_.oldTime();
|
alpha_.oldTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ void Foam::PackingModels::Implicit<CloudType>::cacheFields(const bool store)
|
|||||||
// ~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
// volume fraction field
|
// volume fraction field
|
||||||
alpha_ = max(this->owner().theta(), alphaMin_);
|
alpha_ = max(this->owner().alpha(), alphaMin_);
|
||||||
alpha_.correctBoundaryConditions();
|
alpha_.correctBoundaryConditions();
|
||||||
|
|
||||||
// average density
|
// average density
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2019-2022 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2019-2023 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -91,7 +91,7 @@ void Foam::DenseDragForce<CloudType>::cacheFields(const bool store)
|
|||||||
{
|
{
|
||||||
alphacPtr_.reset
|
alphacPtr_.reset
|
||||||
(
|
(
|
||||||
new volScalarField(alphacName_, 1 - this->owner().theta())
|
new volScalarField(alphacName_, 1 - this->owner().alpha())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user