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