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
63e294c5
Commit
63e294c5
authored
Dec 10, 2021
by
sergio
Committed by
Andrew Heather
Dec 15, 2021
Browse files
ENH: Tatsumoto: new CHF sub-cooling model
parent
c51fc017
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/phaseSystemModels/reactingEuler/multiphaseSystem/Make/files
View file @
63e294c5
...
...
@@ -210,6 +210,7 @@ $(CHFModels)/Zuber/Zuber.C
CHFSubCoolModels = $(wallBoilingSubModels)/CHFSubCoolModels
$(CHFSubCoolModels)/CHFSubCoolModel/CHFSubCoolModel.C
$(CHFSubCoolModels)/HuaXu/HuaXu.C
$(CHFSubCoolModels)/Tatsumoto/Tatsumoto.C
filmBoiling = $(wallBoilingSubModels)/filmBoilingModels
$(filmBoiling)/filmBoilingModel/filmBoilingModel.C
...
...
src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/wallBoilingSubModels/CHFSubCoolModels/Tatsumoto/Tatsumoto.C
0 → 100644
View file @
63e294c5
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2021 OpenCFD Ltd
-------------------------------------------------------------------------------
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
"Tatsumoto.H"
#include
"addToRunTimeSelectionTable.H"
#include
"uniformDimensionedFields.H"
#include
"phasePairKey.H"
#include
"phaseSystem.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace
Foam
{
namespace
wallBoilingModels
{
namespace
CHFModels
{
defineTypeNameAndDebug
(
Tatsumoto
,
0
);
addToRunTimeSelectionTable
(
CHFSubCoolModel
,
Tatsumoto
,
dictionary
);
}
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam
::
wallBoilingModels
::
CHFModels
::
Tatsumoto
::
Tatsumoto
(
const
dictionary
&
dict
)
:
CHFSubCoolModel
(),
K_
(
dict
.
getOrDefault
<
scalar
>
(
"K"
,
0
.
23
))
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam
::
tmp
<
Foam
::
scalarField
>
Foam
::
wallBoilingModels
::
CHFModels
::
Tatsumoto
::
CHFSubCool
(
const
phaseModel
&
liquid
,
const
phaseModel
&
vapor
,
const
label
patchi
,
const
scalarField
&
Tl
,
const
scalarField
&
Tsatw
,
const
scalarField
&
L
)
const
{
const
labelUList
&
cells
=
liquid
.
mesh
().
boundary
()[
patchi
].
faceCells
();
const
scalarField
&
pw
=
liquid
.
thermo
().
p
().
boundaryField
()[
patchi
];
tmp
<
scalarField
>
trhoVapor
=
vapor
.
thermo
().
rhoEoS
(
Tsatw
,
pw
,
cells
);
const
scalarField
&
rhoVapor
=
trhoVapor
.
ref
();
tmp
<
scalarField
>
trhoLiq
=
liquid
.
thermo
().
rhoEoS
(
Tsatw
,
pw
,
cells
);
const
scalarField
&
rhoLiq
=
trhoLiq
.
ref
();
tmp
<
scalarField
>
tCp
=
liquid
.
thermo
().
CpThermo
(
Tsatw
,
pw
,
cells
);
const
scalarField
&
Cp
=
tCp
();
return
1
+
K_
*
pow
(
rhoVapor
/
rhoLiq
,
0
.
8
)
*
Cp
*
max
(
Tsatw
-
Tl
,
scalar
(
0
))
/
L
;
}
void
Foam
::
wallBoilingModels
::
CHFModels
::
Tatsumoto
::
write
(
Ostream
&
os
)
const
{
CHFSubCoolModel
::
write
(
os
);
os
.
writeEntry
(
"K"
,
K_
);
}
// ************************************************************************* //
src/phaseSystemModels/reactingEuler/multiphaseSystem/derivedFvPatchFields/wallBoilingSubModels/CHFSubCoolModels/Tatsumoto/Tatsumoto.H
0 → 100644
View file @
63e294c5
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2021 OpenCFD Ltd
-------------------------------------------------------------------------------
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::wallBoilingModels::CHFModels::Tatsumoto
Description
A critical heat flux (CHF) sub-cooling correlation model.
Usage
Example of the model specification:
\verbatim
CHFSubCoolModel
{
// Mandatory entries
type Tatsumoto;
// Optional entries
K <scalar>;
}
\endverbatim
where the entries mean:
\table
Property | Description | Type | Reqd | Deflt
type | Type name: Tatsumoto | word | yes | -
K | Model coefficient | scalar | no | 0.23
\endtable
SourceFiles
Tatsumoto.C
\*---------------------------------------------------------------------------*/
#ifndef Tatsumoto_H
#define Tatsumoto_H
#include
"CHFSubCoolModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
namespace
wallBoilingModels
{
namespace
CHFModels
{
/*---------------------------------------------------------------------------*\
Class Tatsumoto Declaration
\*---------------------------------------------------------------------------*/
class
Tatsumoto
:
public
CHFSubCoolModel
{
// Private Data
//- Model coefficient
scalar
K_
;
// Private Member Functions
//- No copy construct
Tatsumoto
(
const
Tatsumoto
&
)
=
delete
;
//- No copy assignment
void
operator
=
(
const
Tatsumoto
&
)
=
delete
;
public:
//- Runtime type information
TypeName
(
"Tatsumoto"
);
// Constructors
//- Construct from a dictionary
Tatsumoto
(
const
dictionary
&
dict
);
//- Destructor
virtual
~
Tatsumoto
()
=
default
;
// Member Functions
//- Calculate and return the nucleation-site density
virtual
tmp
<
scalarField
>
CHFSubCool
(
const
phaseModel
&
liquid
,
const
phaseModel
&
vapor
,
const
label
patchi
,
const
scalarField
&
Tl
,
const
scalarField
&
Tsatw
,
const
scalarField
&
L
)
const
;
//- Write
virtual
void
write
(
Ostream
&
os
)
const
;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace CHFModels
}
// End namespace wallBoilingModels
}
// 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