00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-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::blobsSwirlInjector 00026 00027 Description 00028 Model for parcels injection in pressure Swirl Atomizers. 00029 00030 Accurate description in: 00031 @verbatim 00032 Z. Han, S. Parrish, P.V. Farrell, R.D. Reitz 00033 "Modeling Atomization Processes Of Pressure Swirl Hollow-Cone Fuel Sprays" 00034 Atomization and Sprays, vol. 7, pp. 663-684, 1997 00035 @endverbatim 00036 and 00037 @verbatim 00038 L. Allocca, G. Bella, A. De Vita, L. Di Angelo 00039 "Experimental Validation of a GDI Spray Model" 00040 SAE Technical Paper Series, 2002-01-1137 00041 @endverbatim 00042 00043 \*---------------------------------------------------------------------------*/ 00044 00045 #ifndef blobsSwirlInjector_H 00046 #define blobsSwirlInjector_H 00047 00048 #include <dieselSpray/injectorModel.H> 00049 #include <OpenFOAM/scalarList.H> 00050 00051 00052 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00053 00054 namespace Foam 00055 { 00056 /*---------------------------------------------------------------------------*\ 00057 Class blobsSwirlInjector Declaration 00058 \*---------------------------------------------------------------------------*/ 00059 00060 class blobsSwirlInjector 00061 : 00062 public injectorModel 00063 { 00064 00065 private: 00066 00067 // Private data 00068 00069 dictionary blobsSwirlInjectorDict_; 00070 00071 scalarList coneAngle_; 00072 scalarList coneInterval_; 00073 00074 scalarList cD_; 00075 scalarList cTau_; 00076 scalarList A_; 00077 00078 // The initial spray angle for the parcels 00079 mutable scalar angle_; 00080 00081 // The initial velocity for the parcels 00082 mutable scalar u_; 00083 00084 // The orifice-air cone area ratio 00085 00086 mutable scalar x_; 00087 00088 // The initial sheet tickness 00089 00090 mutable scalar h_; 00091 00092 // private member functions 00093 00094 scalar kv 00095 ( 00096 const label inj 00097 ) const; 00098 00099 scalar deltaPressureInj(const scalar time, const label inj) const; 00100 scalar averagePressure(const label inj) const; 00101 00102 void calculateHX 00103 ( 00104 const label inj, 00105 const scalar massFlow, 00106 const scalar dPressure, 00107 const scalar time 00108 ) const; 00109 00110 public: 00111 00112 //- Runtime type information 00113 TypeName("blobsSwirlInjector"); 00114 00115 00116 // Constructors 00117 00118 //- Construct from components 00119 blobsSwirlInjector 00120 ( 00121 const dictionary& dict, 00122 spray& sm 00123 ); 00124 00125 00126 // Destructor 00127 00128 ~blobsSwirlInjector(); 00129 00130 00131 // Member Functions 00132 00133 //- Return the injected droplet diameter 00134 scalar d0(const label injector, const scalar time) const; 00135 00136 //- Return the spray angle of the injector 00137 vector direction 00138 ( 00139 const label injector, 00140 const label hole, 00141 const scalar time, 00142 const scalar d 00143 ) const; 00144 00145 scalar velocity 00146 ( 00147 const label i, 00148 const scalar time 00149 ) const; 00150 00151 scalar averageVelocity 00152 ( 00153 const label i 00154 ) const; 00155 00156 00157 }; 00158 00159 00160 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00161 00162 } // End namespace Foam 00163 00164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00165 00166 #endif 00167 00168 // ************************ vim: set sw=4 sts=4 et: ************************ //