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 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::TwoResistanceHeatTransferPhaseSystem
28 
29 Description
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 
36 See also
37  OneResistanceHeatTransferPhaseSystem
38 
39 SourceFiles
40  TwoResistanceHeatTransferPhaseSystem.C
41 
42 \*---------------------------------------------------------------------------*/
43 
44 #ifndef TwoResistanceHeatTransferPhaseSystem_H
45 #define TwoResistanceHeatTransferPhaseSystem_H
46 
47 #include "phaseSystem.H"
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 namespace Foam
52 {
53 
54 template<class modelType>
55 class BlendedInterfacialModel;
56 
57 class blendingMethod;
58 class heatTransferModel;
59 
60 /*---------------------------------------------------------------------------*\
61  Class TwoResistanceHeatTransferPhaseSystem Declaration
62 \*---------------------------------------------------------------------------*/
63 
64 template<class BasePhaseSystem>
66 :
67  public BasePhaseSystem
68 {
69 protected:
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 
92 public:
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 // ************************************************************************* //
Foam::TwoResistanceHeatTransferPhaseSystem::heatTransferModels_
heatTransferModelTable heatTransferModels_
Heat transfer models.
Definition: TwoResistanceHeatTransferPhaseSystem.H:88
Foam::TwoResistanceHeatTransferPhaseSystem::TwoResistanceHeatTransferPhaseSystem
TwoResistanceHeatTransferPhaseSystem(const fvMesh &)
Construct from fvMesh.
Definition: TwoResistanceHeatTransferPhaseSystem.C:45
Foam::phasePairKey::hasher
Hashing functor for phasePairKey.
Definition: phasePairKey.H:122
TwoResistanceHeatTransferPhaseSystem.C
Foam::TwoResistanceHeatTransferPhaseSystem
Class which models interfacial heat transfer between a number of phases. Two heat transfer models are...
Definition: TwoResistanceHeatTransferPhaseSystem.H:64
Foam::TwoResistanceHeatTransferPhaseSystem::correctEnergyTransport
virtual void correctEnergyTransport()
Correct the energy transport e.g. alphat and Tf.
Definition: TwoResistanceHeatTransferPhaseSystem.C:248
Foam::phasePairKey
An ordered or unorder pair of phase names. Typically specified as follows.
Definition: phasePairKey.H:65
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::TwoResistanceHeatTransferPhaseSystem::heatTransfer
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
Definition: TwoResistanceHeatTransferPhaseSystem.C:137
Foam::TwoResistanceHeatTransferPhaseSystem::~TwoResistanceHeatTransferPhaseSystem
virtual ~TwoResistanceHeatTransferPhaseSystem()
Destructor.
Definition: TwoResistanceHeatTransferPhaseSystem.C:128
Foam::TwoResistanceHeatTransferPhaseSystem::heatTransferModelTable
HashTable< Pair< autoPtr< BlendedInterfacialModel< heatTransferModel > > >, phasePairKey, phasePairKey::hash > heatTransferModelTable
Definition: TwoResistanceHeatTransferPhaseSystem.H:77
Foam::HashTable
A HashTable similar to std::unordered_map.
Definition: HashTable.H:105
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::Pair
An ordered pair of two objects of type <T> with first() and second() elements.
Definition: Pair.H:54
Foam::HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash >
Foam::TwoResistanceHeatTransferPhaseSystem::read
virtual bool read()
Read base phaseProperties dictionary.
Definition: TwoResistanceHeatTransferPhaseSystem.C:315
Foam::TwoResistanceHeatTransferPhaseSystem::correctInterfaceThermo
virtual void correctInterfaceThermo()
Correct the interface thermodynamics.
Definition: TwoResistanceHeatTransferPhaseSystem.C:258
Foam::TwoResistanceHeatTransferPhaseSystem::Tf_
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > Tf_
Interface temperatures.
Definition: TwoResistanceHeatTransferPhaseSystem.H:83