Skip to content
Snippets Groups Projects
Commit a752d3e5 authored by Henry Weller's avatar Henry Weller
Browse files

saturationModels: Added Tsat function

Currently this is implemented only for the Antoine equation, for the
other more complex models an iterative inversion from pressure to
temperature is required.
parent 7c6e1386
Branches
Tags
No related merge requests found
Showing
with 56 additions and 1 deletion
...@@ -89,4 +89,14 @@ Foam::saturationModels::Antoine::lnPSat ...@@ -89,4 +89,14 @@ Foam::saturationModels::Antoine::lnPSat
} }
Foam::tmp<Foam::volScalarField>
Foam::saturationModels::Antoine::Tsat
(
const volScalarField& p
) const
{
return B_/(A_ - log10(p)) - C_;
}
// ************************************************************************* // // ************************************************************************* //
...@@ -98,6 +98,9 @@ public: ...@@ -98,6 +98,9 @@ public:
//- Natural log of the saturation pressure //- Natural log of the saturation pressure
virtual tmp<volScalarField> lnPSat(const volScalarField& T) const; virtual tmp<volScalarField> lnPSat(const volScalarField& T) const;
//- Saturation temperature
virtual tmp<volScalarField> Tsat(const volScalarField& p) const;
}; };
......
...@@ -102,4 +102,19 @@ Foam::saturationModels::AntoineExtended::lnPSat ...@@ -102,4 +102,19 @@ Foam::saturationModels::AntoineExtended::lnPSat
} }
Foam::tmp<Foam::volScalarField>
Foam::saturationModels::AntoineExtended::Tsat
(
const volScalarField& p
) const
{
notImplemented
(
"saturationModels::AntoineExtended::Tsat(const volScalarField& p)"
);
return volScalarField::null();
}
// ************************************************************************* // // ************************************************************************* //
...@@ -100,6 +100,9 @@ public: ...@@ -100,6 +100,9 @@ public:
//- Natural log of the saturation pressure //- Natural log of the saturation pressure
virtual tmp<volScalarField> lnPSat(const volScalarField& T) const; virtual tmp<volScalarField> lnPSat(const volScalarField& T) const;
//- Saturation temperature
virtual tmp<volScalarField> Tsat(const volScalarField& p) const;
}; };
......
...@@ -109,4 +109,19 @@ Foam::saturationModels::ArdenBuck::lnPSat ...@@ -109,4 +109,19 @@ Foam::saturationModels::ArdenBuck::lnPSat
} }
Foam::tmp<Foam::volScalarField>
Foam::saturationModels::ArdenBuck::Tsat
(
const volScalarField& p
) const
{
notImplemented
(
"saturationModels::ArdenBuck::Tsat(const volScalarField& p)"
);
return volScalarField::null();
}
// ************************************************************************* // // ************************************************************************* //
...@@ -25,7 +25,7 @@ Class ...@@ -25,7 +25,7 @@ Class
Foam::saturationModels::ArdenBuck Foam::saturationModels::ArdenBuck
Description Description
ArdenBuck equation for the vapour pressure of steam. ArdenBuck equation for the vapour pressure of moist air.
SourceFiles SourceFiles
ArdenBuck.C ArdenBuck.C
...@@ -85,6 +85,9 @@ public: ...@@ -85,6 +85,9 @@ public:
//- Natural log of the saturation pressure //- Natural log of the saturation pressure
virtual tmp<volScalarField> lnPSat(const volScalarField& T) const; virtual tmp<volScalarField> lnPSat(const volScalarField& T) const;
//- Saturation temperature
virtual tmp<volScalarField> Tsat(const volScalarField& p) const;
}; };
......
...@@ -113,6 +113,12 @@ public: ...@@ -113,6 +113,12 @@ public:
( (
const volScalarField& T const volScalarField& T
) const = 0; ) const = 0;
//- Saturation temperature
virtual tmp<volScalarField> Tsat
(
const volScalarField& p
) const = 0;
}; };
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment