ThermalPhaseChangePhaseSystem.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 | Copyright (C) 2015-2016 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::ThermalPhaseChangePhaseSystem
26 
27 Description
28  Class to provide interfacial heat and mass transfer between a number of
29  phases according the interfacial temperature approximated by the saturation
30  temperature.
31 
32  Currently only a single specified specie is considered volatile and changes
33  phase, all other species are considered nonvolatile and do not
34  affect the mass-transfer.
35 
36 SourceFiles
37  ThermalPhaseChangePhaseSystem.C
38 
39 \*---------------------------------------------------------------------------*/
40 
41 #ifndef ThermalPhaseChangePhaseSystem_H
42 #define ThermalPhaseChangePhaseSystem_H
43 
45 #include "saturationModel.H"
46 #include "Switch.H"
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace Foam
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class ThermalPhaseChangePhaseSystem Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 template<class BasePhaseSystem>
59 :
60  public HeatAndMassTransferPhaseSystem<BasePhaseSystem>
61 {
62 
63 protected:
64 
65  // Protected data
66 
67  //- Name of the volatile specie
69 
70  //- The saturation model used to evaluate Tsat = Tf
72 
73  // Mass transfer enabled
75 
76  //- Interfacial Mass transfer rate
78  iDmdt_;
79 
80 
81 public:
82 
83  // Constructors
84 
85  //- Construct from fvMesh
87 
88 
89  //- Destructor
91 
92 
93  // Member Functions
94 
95  //- Return the saturationModel
96  const saturationModel& saturation() const;
97 
98  //- Return the heat transfer matrices
100 
101  //- Return the mass transfer matrices
103 
104  //- Return the interfacial mass flow rate
105  virtual tmp<volScalarField> iDmdt(const phasePairKey& key) const;
106 
107  //- Return the total interfacial mass transfer rate for phase
108  virtual tmp<volScalarField> iDmdt(const phaseModel& phase) const;
109 
110  //- Correct the thermodynamics
111  virtual void correctThermo();
112 
113  //- Read base phaseProperties dictionary
114  virtual bool read();
115 };
116 
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 } // End namespace Foam
121 
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 
124 #ifdef NoRepository
126 #endif
127 
128 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 
130 #endif
131 
132 // ************************************************************************* //
autoPtr< saturationModel > saturationModel_
The saturation model used to evaluate Tsat = Tf.
Base class to support interfacial heat and mass transfer between a number of phases.
ThermalPhaseChangePhaseSystem(const fvMesh &)
Construct from fvMesh.
virtual void correctThermo()
Correct the thermodynamics.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none.
Definition: Switch.H:60
virtual autoPtr< phaseSystem::massTransferTable > massTransfer() const
Return the mass transfer matrices.
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > iDmdt_
Interfacial Mass transfer rate.
Class to provide interfacial heat and mass transfer between a number of phases according the interfac...
A class for handling words, derived from string.
Definition: word.H:59
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
virtual bool read()
Read base phaseProperties dictionary.
const saturationModel & saturation() const
Return the saturationModel.
virtual ~ThermalPhaseChangePhaseSystem()
Destructor.
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phase.H:52
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 tmp< volScalarField > iDmdt(const phasePairKey &key) const
Return the interfacial mass flow rate.
A class for managing temporary objects.
Definition: PtrList.H:53
word volatile_
Name of the volatile specie.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:53
Namespace for OpenFOAM.