TwoResistanceHeatTransferPhaseSystem.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2015-2018 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::TwoResistanceHeatTransferPhaseSystem
28
29Description
30 Class which models interfacial heat transfer between a number of phases.
31 Two heat transfer models are stored at each interface, one for each phase.
32 This permits definition of an interface temperature with which heat transfer
33 occurs. It also allows derived systems to define other thermodynamic
34 properties at the interface and therefore represent phase changes.
35
36See also
37 OneResistanceHeatTransferPhaseSystem
38
39SourceFiles
40 TwoResistanceHeatTransferPhaseSystem.C
41
42\*---------------------------------------------------------------------------*/
43
44#ifndef TwoResistanceHeatTransferPhaseSystem_H
45#define TwoResistanceHeatTransferPhaseSystem_H
46
47#include "phaseSystem.H"
48
49// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50
51namespace Foam
52{
53
54template<class modelType>
55class BlendedInterfacialModel;
56
57class blendingMethod;
58class heatTransferModel;
59
60/*---------------------------------------------------------------------------*\
61 Class TwoResistanceHeatTransferPhaseSystem Declaration
62\*---------------------------------------------------------------------------*/
63
64template<class BasePhaseSystem>
66:
67 public BasePhaseSystem
68{
69protected:
70
71 // Protected typedefs
72
73 typedef HashTable
74 <
79
80
81 // Protected data
82
83 //- Interface temperatures
85
86 // Sub Models
87
88 //- Heat transfer models
90
91
92public:
93
94 // Constructors
95
96 //- Construct from fvMesh
98
99
100 //- Destructor
102
103
104 // Member Functions
105
106 //- Return the heat transfer matrices
108
109 //- Correct the energy transport e.g. alphat and Tf
110 virtual void correctEnergyTransport();
111
112 //- Correct the interface thermodynamics
113 virtual void correctInterfaceThermo();
114
115 //- Read base phaseProperties dictionary
116 virtual bool read();
117};
118
119
120// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121
122} // End namespace Foam
123
124// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125
126#ifdef NoRepository
128#endif
129
130// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131
132#endif
133
134// ************************************************************************* //
A HashTable of pointers to objects of type <T>, with deallocation management of the pointers.
Definition: HashPtrTable.H:68
A HashTable similar to std::unordered_map.
Definition: HashTable.H:123
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:69
Class which models interfacial heat transfer between a number of phases. Two heat transfer models are...
virtual void correctEnergyTransport()
Correct the energy transport e.g. alphat and Tf.
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
virtual void correctInterfaceThermo()
Correct the interface thermodynamics.
HashTable< Pair< autoPtr< BlendedInterfacialModel< heatTransferModel > > >, phasePairKey, phasePairKey::hash > heatTransferModelTable
heatTransferModelTable heatTransferModels_
Heat transfer models.
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > Tf_
Interface temperatures.
virtual bool read()
Read base phaseProperties dictionary.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
An ordered or unorder pair of phase names. Typically specified as follows.
Definition: phasePairKey.H:68
Namespace for OpenFOAM.
Hashing functor for phasePairKey.
Definition: phasePairKey.H:123