![]() |
|
00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2005 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 the 00013 Free Software Foundation; either version 2 of the License, or (at your 00014 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, write to the Free Software Foundation, 00023 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00024 00025 Class 00026 ChomiakInjector 00027 00028 Description 00029 Injector model based on an idea of Jerzy Chomiak. 00030 00031 Given the initial droplet size pdf in an interval d = (d0, d1), 00032 the spray angle phi = phi(d), such that 00033 the largest droplets have zero spray angle 00034 and the smallest droplets have maximum spray angle. 00035 i.e. phi(d=d1) = 0, phi(d=d0) = phiMax, 00036 where phiMax is a model parameter. 00037 00038 \*---------------------------------------------------------------------------*/ 00039 00040 #ifndef ChomiakInjector_H 00041 #define ChomiakInjector_H 00042 00043 #include "injectorModel.H" 00044 #include "scalarList.H" 00045 #include "pdf.H" 00046 00047 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00048 00049 namespace Foam 00050 { 00051 00052 /*---------------------------------------------------------------------------*\ 00053 Class ChomiakInjector Declaration 00054 \*---------------------------------------------------------------------------*/ 00055 00056 class ChomiakInjector 00057 : 00058 public injectorModel 00059 { 00060 00061 private: 00062 00063 // Private data 00064 00065 dictionary ChomiakDict_; 00066 00067 autoPtr<pdf> dropletPDF_; 00068 scalarList maxSprayAngle_; 00069 00070 // two perpendicular vectors, perpendicular to injection direction 00071 List<vector> tan1_; 00072 List<vector> tan2_; 00073 00074 public: 00075 00076 //- Runtime type information 00077 TypeName("ChomiakInjector"); 00078 00079 00080 // Constructors 00081 00082 //- Construct from components 00083 ChomiakInjector 00084 ( 00085 const dictionary& dict, 00086 spray& sm 00087 ); 00088 00089 00090 // Destructor 00091 00092 ~ChomiakInjector(); 00093 00094 00095 // Member Functions 00096 00097 //- Return the injected droplet diameter 00098 scalar d0(const label injector, const scalar time) const; 00099 00100 //- Return the spray angle of the injector 00101 vector direction 00102 ( 00103 const label injector, 00104 const scalar time, 00105 const scalar d 00106 ) const; 00107 00108 scalar velocity 00109 ( 00110 const label i, 00111 const scalar time 00112 ) const; 00113 00114 scalar averageVelocity 00115 ( 00116 const label i 00117 ) const; 00118 }; 00119 00120 00121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00122 00123 } // End namespace Foam 00124 00125 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00126 00127 #endif 00128 00129 // ************************************************************************* //