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 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  //- Correct the thermodynamics
105  virtual void correctThermo();
106 
107  //- Read base phaseProperties dictionary
108  virtual bool read();
109 };
110 
111 
112 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
113 
114 } // End namespace Foam
115 
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 
118 #ifdef NoRepository
120 #endif
121 
122 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
123 
124 #endif
125 
126 // ************************************************************************* //
Foam::Switch
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Definition: Switch.H:60
Foam::ThermalPhaseChangePhaseSystem::~ThermalPhaseChangePhaseSystem
virtual ~ThermalPhaseChangePhaseSystem()
Destructor.
Foam::word
A class for handling words, derived from string.
Definition: word.H:59
Foam::ThermalPhaseChangePhaseSystem::volatile_
word volatile_
Name of the volatile specie.
Definition: ThermalPhaseChangePhaseSystem.H:67
Foam::ThermalPhaseChangePhaseSystem
Class to provide interfacial heat and mass transfer between a number of phases according the interfac...
Definition: ThermalPhaseChangePhaseSystem.H:57
Foam::saturationModel
Definition: saturationModel.H:50
HeatAndMassTransferPhaseSystem.H
Foam::ThermalPhaseChangePhaseSystem::read
virtual bool read()
Read base phaseProperties dictionary.
Foam::ThermalPhaseChangePhaseSystem::iDmdt_
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > iDmdt_
Interfacial Mass transfer rate.
Definition: ThermalPhaseChangePhaseSystem.H:77
saturationModel.H
Foam::ThermalPhaseChangePhaseSystem::ThermalPhaseChangePhaseSystem
ThermalPhaseChangePhaseSystem(const fvMesh &)
Construct from fvMesh.
ThermalPhaseChangePhaseSystem.C
Switch.H
Foam::ThermalPhaseChangePhaseSystem::saturationModel_
autoPtr< saturationModel > saturationModel_
The saturation model used to evaluate Tsat = Tf.
Definition: ThermalPhaseChangePhaseSystem.H:70
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:117
Foam::HeatAndMassTransferPhaseSystem
Base class to support interfacial heat and mass transfer between a number of phases.
Definition: HeatAndMassTransferPhaseSystem.H:57
Foam::HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash >
Foam::ThermalPhaseChangePhaseSystem::massTransfer
virtual autoPtr< phaseSystem::massTransferTable > massTransfer() const
Return the mass transfer matrices.
Foam::ThermalPhaseChangePhaseSystem::saturation
const saturationModel & saturation() const
Return the saturationModel.
Foam::ThermalPhaseChangePhaseSystem::massTransfer_
Switch massTransfer_
Definition: ThermalPhaseChangePhaseSystem.H:73
Foam::ThermalPhaseChangePhaseSystem::heatTransfer
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
Foam::ThermalPhaseChangePhaseSystem::correctThermo
virtual void correctThermo()
Correct the thermodynamics.