initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / lagrangian / intermediate / submodels / Reacting / PhaseChangeModel / LiquidEvaporation / LiquidEvaporation.H
blob6f0bf06c4b6387202d42aa66ae90988a5bf0c41e
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2009-2009 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
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.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::LiquidEvaporation
28 Description
29     Liquid evaporation model
30     - uses ideal gas assumption
32 \*---------------------------------------------------------------------------*/
34 #ifndef LiquidEvaporation_H
35 #define LiquidEvaporation_H
37 #include "PhaseChangeModel.H"
38 #include "liquidMixture.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 namespace Foam
44 /*---------------------------------------------------------------------------*\
45                      Class LiquidEvaporation Declaration
46 \*---------------------------------------------------------------------------*/
48 template<class CloudType>
49 class LiquidEvaporation
51     public PhaseChangeModel<CloudType>
53 protected:
55     // Protected data
57         //- Global liquid properties data
58         autoPtr<liquidMixture> liquids_;
60         //- List of active liquid names
61         List<word> activeLiquids_;
63         //- Mapping between liquid and carrier species
64         List<label> liqToCarrierMap_;
66         //- Mapping between local and global liquid species
67         List<label> liqToLiqMap_;
70     // Protected member functions
72         //- Sherwood number as a function of Reynolds and Schmidt numbers
73         scalar Sh(const scalar Re, const scalar Sc) const;
75         //- Calculate the carrier phase component volume fractions at cellI
76         scalarField calcXc(const label cellI) const;
79 public:
81     //- Runtime type information
82     TypeName("LiquidEvaporation");
85     // Constructors
87         //- Construct from dictionary
88         LiquidEvaporation
89         (
90             const dictionary& dict,
91             CloudType& cloud
92         );
95     //- Destructor
96     virtual ~LiquidEvaporation();
99     // Member Functions
101         //- Flag to indicate whether model activates phase change model
102         virtual bool active() const;
104         //- Update model
105         virtual void calculate
106         (
107             const scalar dt,
108             const label cellI,
109             const scalar d,
110             const scalar T,
111             const scalar pc,
112             const scalar Tc,
113             const scalar nuc,
114             const vector& Ur,
115             scalarField& dMassPC
116         ) const;
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 } // End namespace Foam
124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
126 #ifdef NoRepository
127 #   include "LiquidEvaporation.C"
128 #endif
130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132 #endif
134 // ************************************************************************* //