Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / lagrangian / intermediate / submodels / Reacting / PhaseChangeModel / LiquidEvaporation / LiquidEvaporation.H
blobba10e5cca1ba2b6fb85975e9b5f55f545cc9cc3a
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::LiquidEvaporation
27 Description
28     Liquid evaporation model
29     - uses ideal gas assumption
31 \*---------------------------------------------------------------------------*/
33 #ifndef LiquidEvaporation_H
34 #define LiquidEvaporation_H
36 #include "PhaseChangeModel.H"
37 #include "liquidMixture.H"
39 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 namespace Foam
43 /*---------------------------------------------------------------------------*\
44                      Class LiquidEvaporation Declaration
45 \*---------------------------------------------------------------------------*/
47 template<class CloudType>
48 class LiquidEvaporation
50     public PhaseChangeModel<CloudType>
52 protected:
54     // Protected data
56         //- Global liquid properties data
57         autoPtr<liquidMixture> liquids_;
59         //- List of active liquid names
60         List<word> activeLiquids_;
62         //- Mapping between liquid and carrier species
63         List<label> liqToCarrierMap_;
65         //- Mapping between local and global liquid species
66         List<label> liqToLiqMap_;
69     // Protected member functions
71         //- Sherwood number as a function of Reynolds and Schmidt numbers
72         scalar Sh(const scalar Re, const scalar Sc) const;
74         //- Calculate the carrier phase component volume fractions at cellI
75         scalarField calcXc(const label cellI) const;
78 public:
80     //- Runtime type information
81     TypeName("LiquidEvaporation");
84     // Constructors
86         //- Construct from dictionary
87         LiquidEvaporation
88         (
89             const dictionary& dict,
90             CloudType& cloud
91         );
94     //- Destructor
95     virtual ~LiquidEvaporation();
98     // Member Functions
100         //- Flag to indicate whether model activates phase change model
101         virtual bool active() const;
103         //- Update model
104         virtual void calculate
105         (
106             const scalar dt,
107             const label cellI,
108             const scalar Re,
109             const scalar d,
110             const scalar nu,
111             const scalar T,
112             const scalar Ts,
113             const scalar pc,
114             scalarField& dMassPC
115         ) const;
119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121 } // End namespace Foam
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 #ifdef NoRepository
126 #   include "LiquidEvaporation.C"
127 #endif
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131 #endif
133 // ************************************************************************* //