00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 00024 Class 00025 Foam::LiquidEvaporation 00026 00027 Description 00028 Liquid evaporation model 00029 - uses ideal gas assumption 00030 00031 \*---------------------------------------------------------------------------*/ 00032 00033 #ifndef LiquidEvaporation_H 00034 #define LiquidEvaporation_H 00035 00036 #include <lagrangianIntermediate/PhaseChangeModel.H> 00037 #include <liquidMixture/liquidMixture.H> 00038 00039 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00040 00041 namespace Foam 00042 { 00043 /*---------------------------------------------------------------------------*\ 00044 Class LiquidEvaporation Declaration 00045 \*---------------------------------------------------------------------------*/ 00046 00047 template<class CloudType> 00048 class LiquidEvaporation 00049 : 00050 public PhaseChangeModel<CloudType> 00051 { 00052 protected: 00053 00054 // Protected data 00055 00056 //- Global liquid properties data 00057 autoPtr<liquidMixture> liquids_; 00058 00059 //- List of active liquid names 00060 List<word> activeLiquids_; 00061 00062 //- Mapping between liquid and carrier species 00063 List<label> liqToCarrierMap_; 00064 00065 //- Mapping between local and global liquid species 00066 List<label> liqToLiqMap_; 00067 00068 00069 // Protected member functions 00070 00071 //- Sherwood number as a function of Reynolds and Schmidt numbers 00072 scalar Sh(const scalar Re, const scalar Sc) const; 00073 00074 //- Calculate the carrier phase component volume fractions at cellI 00075 scalarField calcXc(const label cellI) const; 00076 00077 00078 public: 00079 00080 //- Runtime type information 00081 TypeName("LiquidEvaporation"); 00082 00083 00084 // Constructors 00085 00086 //- Construct from dictionary 00087 LiquidEvaporation 00088 ( 00089 const dictionary& dict, 00090 CloudType& cloud 00091 ); 00092 00093 00094 //- Destructor 00095 virtual ~LiquidEvaporation(); 00096 00097 00098 // Member Functions 00099 00100 //- Flag to indicate whether model activates phase change model 00101 virtual bool active() const; 00102 00103 //- Update model 00104 virtual void calculate 00105 ( 00106 const scalar dt, 00107 const label cellI, 00108 const scalar Re, 00109 const scalar d, 00110 const scalar nu, 00111 const scalar T, 00112 const scalar Ts, 00113 const scalar pc, 00114 scalarField& dMassPC 00115 ) const; 00116 }; 00117 00118 00119 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00120 00121 } // End namespace Foam 00122 00123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00124 00125 #ifdef NoRepository 00126 # include "LiquidEvaporation.C" 00127 #endif 00128 00129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00130 00131 #endif 00132 00133 // ************************ vim: set sw=4 sts=4 et: ************************ //