OpenFOAM logo
Open Source CFD Toolkit

blobsSwirlInjector.H

Go to the documentation of this file.
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     blobsSwirlInjector
00027 
00028 Description
00029 
00030     Model for parcels injection in pressure Swirl Atomizers. 
00031     Accurate description in:
00032     
00033     Z. Han, S. Parrish, P.V. Farrell, R.D. Reitz
00034     "Modeling Atomization Processes Of Pressure Swirl Hollow-Cone Fuel Sprays"
00035     Atomization and Sprays, vol. 7, pp. 663-684, 1997
00036     
00037     and
00038 
00039     L. Allocca, G. Bella, A. De Vita, L. Di Angelo
00040     "Experimental Validation of a GDI Spray Model"
00041     SAE Technical Paper Series, 2002-01-1137
00042 
00043 \*---------------------------------------------------------------------------*/
00044 
00045 #ifndef blobsSwirlInjector_H
00046 #define blobsSwirlInjector_H
00047 
00048 #include "injectorModel.H"
00049 #include "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     // two perpendicular vectors, perpendicular to injection direction
00093         List<vector> tan1_;
00094         List<vector> tan2_;
00095 
00096     // private member functions
00097         
00098         scalar kv
00099         (
00100             const label inj 
00101         ) const;
00102         
00103         scalar deltaPressureInj(const scalar time, const label inj) const;
00104         scalar averagePressure(const label inj) const;
00105         
00106         void calculateHX
00107         (
00108             const label inj,
00109             const scalar massFlow,
00110             const scalar dPressure,
00111             const scalar time
00112         ) const;
00113 
00114 public:
00115 
00116     //- Runtime type information
00117         TypeName("blobsSwirlInjector");
00118 
00119 
00120     // Constructors
00121 
00122         //- Construct from components
00123         blobsSwirlInjector
00124         (
00125             const dictionary& dict,
00126             spray& sm
00127         );
00128 
00129 
00130     // Destructor
00131 
00132         ~blobsSwirlInjector();
00133 
00134 
00135     // Member Functions
00136 
00137         //- Return the injected droplet diameter
00138         scalar d0(const label injector, const scalar time) const;
00139 
00140         //- Return the spray angle of the injector
00141         vector direction
00142         (
00143             const label injector, 
00144             const scalar time,
00145             const scalar d
00146         ) const;
00147     
00148         scalar velocity
00149         (
00150             const label i,
00151             const scalar time
00152         ) const;
00153         
00154         scalar averageVelocity
00155         (
00156             const label i
00157         ) const;
00158         
00159 
00160 };
00161 
00162 
00163 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00164 
00165 } // End namespace Foam
00166 
00167 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00168 
00169 #endif
00170 
00171 // ************************************************************************* //
For further information go to www.openfoam.org