initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / src / lagrangian / dieselSpray / spraySubModels / injectorModel / blobsSwirl / blobsSwirlInjector.H
blobde0e2f278f719f44f55a39a31e1e0e8a0c0f615f
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     // two perpendicular vectors, perpendicular to injection direction
94         List<vector> tan1_;
95         List<vector> tan2_;
97     // private member functions
99         scalar kv
100         (
101             const label inj
102         ) const;
104         scalar deltaPressureInj(const scalar time, const label inj) const;
105         scalar averagePressure(const label inj) const;
107         void calculateHX
108         (
109             const label inj,
110             const scalar massFlow,
111             const scalar dPressure,
112             const scalar time
113         ) const;
115 public:
117     //- Runtime type information
118         TypeName("blobsSwirlInjector");
121     // Constructors
123         //- Construct from components
124         blobsSwirlInjector
125         (
126             const dictionary& dict,
127             spray& sm
128         );
131     // Destructor
133         ~blobsSwirlInjector();
136     // Member Functions
138         //- Return the injected droplet diameter
139         scalar d0(const label injector, const scalar time) const;
141         //- Return the spray angle of the injector
142         vector direction
143         (
144             const label injector,
145             const scalar time,
146             const scalar d
147         ) const;
149         scalar velocity
150         (
151             const label i,
152             const scalar time
153         ) const;
155         scalar averageVelocity
156         (
157             const label i
158         ) const;
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
166 } // End namespace Foam
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 #endif
172 // ************************************************************************* //