From ca767e30457c331dcd6bef9bd9feb181a659bd6b Mon Sep 17 00:00:00 2001
From: andy <a.heather@opencfd.co.uk>
Date: Fri, 22 May 2009 13:42:50 +0100
Subject: [PATCH] adding IOList for partcels

---
 .../submodels/IO/IOList/makeParcelIOList.H    | 53 +++++++++++++++++++
 .../submodels/IO/IOList/makeParcelIOLists.C   | 49 +++++++++++++++++
 2 files changed, 102 insertions(+)
 create mode 100644 src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOList.H
 create mode 100644 src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C

diff --git a/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOList.H b/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOList.H
new file mode 100644
index 00000000000..fb463a8289e
--- /dev/null
+++ b/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOList.H
@@ -0,0 +1,53 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software; you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by the
+    Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Description
+    Macros for defining parcel IOLists
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef makeParcelIOList_H
+#define makeParcelIOList_H
+
+#include "IOPtrList.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#define makeParcelIOList(ParcelType)                                          \
+                                                                              \
+    typedef IOPtrList<ParcelType> IOPtrList##ParcelType;                      \
+                                                                              \
+    defineTemplateTypeNameAndDebugWithName                                    \
+    (                                                                         \
+        IOPtrList##ParcelType,                                                \
+        "IOPtrList<"#ParcelType">",                                           \
+        0                                                                     \
+    );
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
+
diff --git a/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C b/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C
new file mode 100644
index 00000000000..ebf246f6d80
--- /dev/null
+++ b/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software; you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by the
+    Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+\*---------------------------------------------------------------------------*/
+
+#include "makeParcelIOList.H"
+
+#include "basicKinematicParcel.H"
+#include "basicThermoParcel.H"
+#include "basicReactingParcel.H"
+#include "basicReactingMultiphaseParcel.H"
+
+#include "trackedReactingParcel.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    makeParcelIOList(basicKinematicParcel);
+    makeParcelIOList(basicThermoParcel);
+    makeParcelIOList(basicReactingParcel);
+    makeParcelIOList(basicReactingMultiphaseParcel);
+
+    makeParcelIOList(trackedReactingParcel);
+};
+
+
+// ************************************************************************* //
-- 
GitLab