initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / lagrangian / intermediate / parcels / include / createReactingMultiphaseParcelTypes.H
blobde8d5a04caa4633e833f33b58f7d564b2043a030
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2008-2009 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 \*---------------------------------------------------------------------------*/
27 #ifndef createReactingMultiphaseParcelTypes_H
28 #define createReactingMultiphaseParcelTypes_H
30 #include "makeParcelIOList.H"
31 #include "thermoPhysicsTypes.H"
33 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
35 #define createReactingMultiphaseParcelType(ParcelType)                        \
36                                                                               \
37     createReactingMultiphaseParcelThermoType                                  \
38     (                                                                         \
39         ParcelType,                                                           \
40         constGasThermoPhysics                                                 \
41     );                                                                        \
42     createReactingMultiphaseParcelThermoType                                  \
43     (                                                                         \
44         ParcelType,                                                           \
45         gasThermoPhysics                                                      \
46     );                                                                        \
47     createReactingMultiphaseParcelThermoType                                  \
48     (                                                                         \
49         ParcelType,                                                           \
50         icoPoly8ThermoPhysics                                                 \
51     );
54 #define createReactingMultiphaseParcelThermoType(ParcelType, ThermoType)      \
55                                                                               \
56     typedef ParcelType<ThermoType> ParcelType##ThermoType;                    \
57                                                                               \
58     makeParcelIOList(ParcelType##ThermoType);                                 \
59                                                                               \
60     defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0);                \
61     defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0);      \
62     defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0);         \
63                                                                               \
64     defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \
65     defineTemplateTypeNameAndDebug                                            \
66     (                                                                         \
67         KinematicParcel<ParcelType##ThermoType>,                              \
68         0                                                                     \
69     );                                                                        \
70     defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0);    \
71     defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0);  \
72     defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);  \
73     defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\
74     defineParcelTypeNameAndDebug                                              \
75     (                                                                         \
76         ReactingMultiphaseParcel<ParcelType##ThermoType>,                     \
77         0                                                                     \
78     );                                                                        \
79     defineTemplateTypeNameAndDebug                                            \
80     (                                                                         \
81         ReactingMultiphaseParcel<ParcelType##ThermoType>,                     \
82         0                                                                     \
83     );                                                                        \
84                                                                               \
85     defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0);  \
86     defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0);     \
87     defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0);   \
88     defineParcelTypeNameAndDebug                                              \
89     (                                                                         \
90         ReactingMultiphaseCloud<ParcelType##ThermoType>,                      \
91         0                                                                     \
92     );
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
97 #endif
99 // ************************************************************************* //