/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2014 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::phasePair
Description
SourceFiles
phasePair.C
\*---------------------------------------------------------------------------*/
#ifndef phasePair_H
#define phasePair_H
#include "phaseModel.H"
#include "phasePairKey.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class phasePair Declaration
\*---------------------------------------------------------------------------*/
class phasePair
:
public phasePairKey
{
public:
// Hash table types
//- Dictionary hash table
typedef HashTable
dictTable;
//- Scalar hash table
typedef HashTable
scalarTable;
private:
// Private data
//- Phase 1
const phaseModel& phase1_;
//- Phase 2
const phaseModel& phase2_;
//- Gravitational acceleration
const dimensionedVector& g_;
//- Surface tension coefficient
const dimensionedScalar sigma_;
// Private member functions
// Etvos number for given diameter
tmp EoH(const volScalarField& d) const;
public:
// Constructors
//- Construct from two phases, gravity and surface tension table
phasePair
(
const phaseModel& phase1,
const phaseModel& phase2,
const dimensionedVector& g,
const scalarTable& sigmaTable,
const bool ordered = false
);
//- Destructor
virtual ~phasePair();
// Member Functions
//- Dispersed phase
virtual const phaseModel& dispersed() const;
//- Continuous phase
virtual const phaseModel& continuous() const;
//- Pair name
virtual word name() const;
//- Average density
tmp rho() const;
//- Relative velocity magnitude
tmp magUr() const;
//- Relative velocity
tmp Ur() const;
//- Reynolds number
tmp Re() const;
//- Prandtl number
tmp Pr() const;
//- Eotvos number
tmp Eo() const;
//- Eotvos number based on hydraulic diameter type 1
tmp EoH1() const;
//- Eotvos number based on hydraulic diameter type 2
tmp EoH2() const;
//- Morton Number
tmp Mo() const;
//- Takahashi Number
tmp Ta() const;
//- Aspect ratio
virtual tmp E() const;
// Access
// Phase 1
inline const phaseModel& phase1() const;
// Phase 2
inline const phaseModel& phase2() const;
// Gravitational acceleration
inline const dimensionedVector& g() const;
// Surface tension coefficient
inline const dimensionedScalar& sigma() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "phasePairI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //