Forward compatibility: flex
[foam-extend-3.2.git] / applications / utilities / parallelProcessing / decomposePar / readFields.C
blob8333454608f71aab57892d8d45298a79e6cb21c8
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "readFields.H"
28 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
30 template<class Mesh, class GeoField>
31 void Foam::readFields
33     const Mesh& mesh,
34     const IOobjectList& objects,
35     PtrList<GeoField>& fields
38     // Search list of objects for volScalarFields
39     IOobjectList fieldObjects(objects.lookupClass(GeoField::typeName));
41     // Remove the cellDist field
42     IOobjectList::iterator celDistIter = fieldObjects.find("cellDist");
43     if (celDistIter != fieldObjects.end())
44     {
45         fieldObjects.erase(celDistIter);
46     }
48     // Construct the vol scalar fields
49     fields.setSize(fieldObjects.size());
51     label fieldi=0;
52     for
53     (
54         IOobjectList::iterator iter = fieldObjects.begin();
55         iter != fieldObjects.end();
56         ++iter
57     )
58     {
59         fields.set
60         (
61             fieldi++,
62             new GeoField
63             (
64                 *iter(),
65                 mesh
66             )
67         );
68     }
72 // ************************************************************************* //