/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2017-2018 OpenFOAM Foundation
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see .
Class
Foam::diameterModels::sizeGroup
Description
This class represents a single sizeGroup belonging to a velocityGroup.
The main property of a sizeGroup is its representative diameter. The
corresponding volScalarField f..
gives the volume fraction of the sizeGroup such that all sizeGroup fractions
over a velocityGroup must sum to unity. The field is either read from the
startTime directory if present or constructed from a reference field called
f.. where the boundary condition types
must be specified. All field and boundary condition values are reset to
match the "value" given in the sizeGroup subdictionary.
Usage
\table
Property | Description | Required | Default value
d | Representative diameter | yes |
value | Field and BC value | yes |
\endtable
Example
\verbatim
f1
{
d 3e-3;
value 1.0;
}
\endverbatim
See also
Foam::diameterModels::velocityGroup
Foam::diameterModels::populationBalanceModel
SourceFiles
sizeGroup.C
\*---------------------------------------------------------------------------*/
#ifndef sizeGroup_H
#define sizeGroup_H
#include "dictionaryEntry.H"
#include "velocityGroup.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace diameterModels
{
/*---------------------------------------------------------------------------*\
Class sizeGroup Declaration
\*---------------------------------------------------------------------------*/
class sizeGroup
:
public volScalarField
{
// Private data
//- Phase this sizeGroup belongs to
const phaseModel& phase_;
//- VelocityGroup this sizeGroup belongs to
const velocityGroup& velocityGroup_;
//- Representative diameter of the sizeGroup
const dimensionedScalar d_;
//- Representative volume of the sizeGroup
const dimensionedScalar x_;
//- Initial value and value at boundaries
const scalar value_;
public:
// Constructors
sizeGroup
(
const word& name,
const dictionary& dict,
const phaseModel& phase,
const velocityGroup& velocityGroup,
const fvMesh& mesh
);
//- Return clone
autoPtr clone() const;
//- Return a pointer to a new sizeGroup created on freestore
// from Istream
class iNew
{
const phaseModel& phase_;
const velocityGroup& velocityGroup_;
public:
iNew
(
const phaseModel& phase,
const velocityGroup& velocityGroup
)
:
phase_(phase),
velocityGroup_(velocityGroup)
{}
autoPtr operator()(Istream& is) const
{
dictionaryEntry ent(dictionary::null, is);
return autoPtr
(
new sizeGroup
(
ent.keyword(),
ent,
phase_,
velocityGroup_,
phase_.mesh()
)
);
}
};
//- Destructor
virtual ~sizeGroup();
// Member Functions
inline const word& keyword() const;
//- Return const-reference to the phase
inline const phaseModel& phase() const;
//- Return const-reference to the velocityGroup
inline const velocityGroup& VelocityGroup() const;
//- Return representative diameter of the sizeGroup
inline const dimensionedScalar& d() const;
//- Return representative volume of the sizeGroup
inline const dimensionedScalar& x() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace diameterModels
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "sizeGroupI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //