From Niklas Nordin:
[OpenFOAM-1.5.x.git] / src / lagrangian / dieselSpray / spraySubModels / injectorModel / blobsSwirl / blobsSwirlInjector.H
blob200a6cb1d42b1224f5285a5ab3ee3a04b817579b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software; you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::blobsSwirlInjector
28 Description
29     Model for parcels injection in pressure Swirl Atomizers.
31     Accurate description in:
32     @verbatim
33         Z. Han, S. Parrish, P.V. Farrell, R.D. Reitz
34         "Modeling Atomization Processes Of Pressure Swirl Hollow-Cone Fuel Sprays"
35         Atomization and Sprays, vol. 7, pp. 663-684, 1997
36     @endverbatim
37     and
38     @verbatim
39         L. Allocca, G. Bella, A. De Vita, L. Di Angelo
40         "Experimental Validation of a GDI Spray Model"
41         SAE Technical Paper Series, 2002-01-1137
42     @endverbatim
44 \*---------------------------------------------------------------------------*/
46 #ifndef blobsSwirlInjector_H
47 #define blobsSwirlInjector_H
49 #include "injectorModel.H"
50 #include "scalarList.H"
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 namespace Foam
57 /*---------------------------------------------------------------------------*\
58                            Class blobsSwirlInjector Declaration
59 \*---------------------------------------------------------------------------*/
61 class blobsSwirlInjector
63     public injectorModel
66 private:
68     // Private data
70         dictionary blobsSwirlInjectorDict_;
72         scalarList coneAngle_;
73         scalarList coneInterval_;
75         scalarList cD_;
76         scalarList cTau_;
77         scalarList A_;
79     // The initial spray angle for the parcels
80         mutable scalar angle_;
82     // The initial velocity for the parcels
83         mutable scalar u_;
85     // The orifice-air cone area ratio
87         mutable scalar x_;
89     // The initial sheet tickness
91         mutable scalar h_;
93     // private member functions
95         scalar kv
96         (
97             const label inj
98         ) const;
100         scalar deltaPressureInj(const scalar time, const label inj) const;
101         scalar averagePressure(const label inj) const;
103         void calculateHX
104         (
105             const label inj,
106             const scalar massFlow,
107             const scalar dPressure,
108             const scalar time
109         ) const;
111 public:
113     //- Runtime type information
114         TypeName("blobsSwirlInjector");
117     // Constructors
119         //- Construct from components
120         blobsSwirlInjector
121         (
122             const dictionary& dict,
123             spray& sm
124         );
127     // Destructor
129         ~blobsSwirlInjector();
132     // Member Functions
134         //- Return the injected droplet diameter
135         scalar d0(const label injector, const scalar time) const;
137         //- Return the spray angle of the injector
138         vector direction
139         (
140             const label injector,
141             const label hole,
142             const scalar time,
143             const scalar d
144         ) const;
146         scalar velocity
147         (
148             const label i,
149             const scalar time
150         ) const;
152         scalar averageVelocity
153         (
154             const label i
155         ) const;
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 } // End namespace Foam
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167 #endif
169 // ************************************************************************* //