OpenFOAM logo
Open Source CFD Toolkit

Chomiak.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     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 // ************************************************************************* //
For further information go to www.openfoam.org