ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / lagrangian / dieselSpray / spraySubModels / injectorModel / blobsSwirl / blobsSwirlInjector.H
blobd693a14ec6f562bbd44bf956ee4b41b95dabfda2
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
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
13     the Free Software Foundation, either version 3 of the License, or
14     (at your 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, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::blobsSwirlInjector
27 Description
28     Model for parcels injection in pressure Swirl Atomizers.
30     Accurate description in:
31     \verbatim
32         Z. Han, S. Parrish, P.V. Farrell, R.D. Reitz
33         "Modeling Atomization Processes Of Pressure
34         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
58 /*---------------------------------------------------------------------------*\
59                      Class blobsSwirlInjector Declaration
60 \*---------------------------------------------------------------------------*/
62 class blobsSwirlInjector
64     public injectorModel
67 private:
69     // Private data
71         dictionary blobsSwirlInjectorDict_;
73         scalarList coneAngle_;
74         scalarList coneInterval_;
76         scalarList cD_;
77         scalarList cTau_;
78         scalarList A_;
80         //- Initial spray angle for the parcels
81         mutable scalar angle_;
83         //- Initial velocity for the parcels
84         mutable scalar u_;
86         //- Orifice-air cone area ratio
87         mutable scalar x_;
89         //- Initial sheet tickness
90         mutable scalar h_;
93     // Private Member Functions
95         scalar kv(const label inj) const;
97         scalar deltaPressureInj(const scalar time, const label inj) const;
98         scalar averagePressure(const label inj) const;
100         void calculateHX
101         (
102             const label inj,
103             const scalar massFlow,
104             const scalar dPressure,
105             const scalar time
106         ) const;
109 public:
111     //- Runtime type information
112     TypeName("blobsSwirlInjector");
115     // Constructors
117         //- Construct from components
118         blobsSwirlInjector(const dictionary& dict, spray& sm);
121     //- Destructor
122     virtual ~blobsSwirlInjector();
125     // Member Functions
127         //- Return the injected droplet diameter
128         scalar d0(const label injector, const scalar time) const;
130         //- Return the spray angle of the injector
131         vector direction
132         (
133             const label injector,
134             const label hole,
135             const scalar time,
136             const scalar d
137         ) const;
139         scalar velocity
140         (
141             const label i,
142             const scalar time
143         ) const;
145         scalar averageVelocity
146         (
147             const label i
148         ) const;
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 } // End namespace Foam
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 #endif
160 // ************************************************************************* //