Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
3d1f1267
Commit
3d1f1267
authored
Oct 29, 2015
by
Henry Weller
Browse files
reactingEulerFoam: Add polynomial saturation model
Provided by Juho Peltola
parent
f09df9f9
Changes
4
Hide whitespace changes
Inline
Side-by-side
applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files
View file @
3d1f1267
...
...
@@ -16,6 +16,7 @@ saturationModels/saturationModel/newSaturationModel.C
saturationModels/Antoine/Antoine.C
saturationModels/AntoineExtended/AntoineExtended.C
saturationModels/ArdenBuck/ArdenBuck.C
saturationModels/polynomial/polynomial.C
saturationModels/constantSaturationConditions/constantSaturationConditions.C
LIB = $(FOAM_LIBBIN)/libreactingEulerianInterfacialCompositionModels
applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H
View file @
3d1f1267
...
...
@@ -61,7 +61,7 @@ class Antoine
{
protected:
// Pr
ivate
data
// Pr
otected
data
//- Constant A
dimensionedScalar
A_
;
...
...
applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.C
0 → 100644
View file @
3d1f1267
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2015 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"polynomial.H"
#include
"addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace
Foam
{
namespace
saturationModels
{
defineTypeNameAndDebug
(
polynomial
,
0
);
addToRunTimeSelectionTable
(
saturationModel
,
polynomial
,
dictionary
);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam
::
saturationModels
::
polynomial
::
polynomial
(
const
dictionary
&
dict
)
:
saturationModel
(),
C_
(
dict
.
lookup
(
"C<8>"
))
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam
::
saturationModels
::
polynomial
::~
polynomial
()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam
::
tmp
<
Foam
::
volScalarField
>
Foam
::
saturationModels
::
polynomial
::
pSat
(
const
volScalarField
&
T
)
const
{
NotImplemented
;
return
volScalarField
::
null
();
}
Foam
::
tmp
<
Foam
::
volScalarField
>
Foam
::
saturationModels
::
polynomial
::
pSatPrime
(
const
volScalarField
&
T
)
const
{
NotImplemented
;
return
volScalarField
::
null
();
}
Foam
::
tmp
<
Foam
::
volScalarField
>
Foam
::
saturationModels
::
polynomial
::
lnPSat
(
const
volScalarField
&
T
)
const
{
NotImplemented
;
return
volScalarField
::
null
();
}
Foam
::
tmp
<
Foam
::
volScalarField
>
Foam
::
saturationModels
::
polynomial
::
Tsat
(
const
volScalarField
&
p
)
const
{
tmp
<
volScalarField
>
tTsat
(
new
volScalarField
(
IOobject
(
"Tsat"
,
p
.
mesh
().
time
().
timeName
(),
p
.
mesh
(),
IOobject
::
NO_READ
,
IOobject
::
NO_WRITE
),
p
.
mesh
(),
dimensionedScalar
(
"zero"
,
dimTemperature
,
0
)
)
);
volScalarField
&
Tsat
=
tTsat
();
forAll
(
Tsat
,
celli
)
{
Tsat
[
celli
]
=
C_
.
value
(
p
[
celli
]);
}
forAll
(
Tsat
.
boundaryField
(),
patchi
)
{
scalarField
&
Tsatp
=
Tsat
.
boundaryField
()[
patchi
];
const
scalarField
&
pp
=
p
.
boundaryField
()[
patchi
];
forAll
(
Tsatp
,
facei
)
{
Tsatp
[
facei
]
=
C_
.
value
(
pp
[
facei
]);
}
}
return
tTsat
;
}
// ************************************************************************* //
applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/polynomial/polynomial.H
0 → 100644
View file @
3d1f1267
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2015 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
Class
Foam::saturationModels::polynomial
Description
Polynomial equation for the saturation vapour temperature in terms of
the vapour pressure (in Pa).
\f[
T_sat = \sum_i C_i p^i
\f]
where \f$p\f$ is the pressure in Pa and \f$C\f$ are the coefficients.
Currently this class only provides \f$T_sat\f$, the inverse function to
return the vapour pressure for a given temperature are not implemented.
SourceFiles
polynomial.C
\*---------------------------------------------------------------------------*/
#ifndef polynomial_H
#define polynomial_H
#include
"saturationModel.H"
#include
"Polynomial.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
namespace
saturationModels
{
/*---------------------------------------------------------------------------*\
Class polynomial Declaration
\*---------------------------------------------------------------------------*/
class
polynomial
:
public
saturationModel
{
// Private data
//- Polynomial coefficients
Polynomial
<
8
>
C_
;
public:
//- Runtime type information
TypeName
(
"polynomial"
);
// Constructors
//- Construct from a dictionary
polynomial
(
const
dictionary
&
dict
);
//- Destructor
virtual
~
polynomial
();
// Member Functions
//- Saturation pressure
virtual
tmp
<
volScalarField
>
pSat
(
const
volScalarField
&
T
)
const
;
//- Saturation pressure derivetive w.r.t. temperature
virtual
tmp
<
volScalarField
>
pSatPrime
(
const
volScalarField
&
T
)
const
;
//- Natural log of the saturation pressure
virtual
tmp
<
volScalarField
>
lnPSat
(
const
volScalarField
&
T
)
const
;
//- Saturation temperature
virtual
tmp
<
volScalarField
>
Tsat
(
const
volScalarField
&
p
)
const
;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace saturationModels
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment