1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
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
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
26 Foam::extendedCentredCellToFaceStencil
31 extendedCentredCellToFaceStencil.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef extendedCentredCellToFaceStencil_H
36 #define extendedCentredCellToFaceStencil_H
38 #include "extendedCellToFaceStencil.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 class cellToFaceStencil;
47 /*---------------------------------------------------------------------------*\
48 Class extendedCentredCellToFaceStencil Declaration
49 \*---------------------------------------------------------------------------*/
51 class extendedCentredCellToFaceStencil
53 public extendedCellToFaceStencil
57 //- Swap map for getting neigbouring data
58 autoPtr<mapDistribute> mapPtr_;
60 //- Per face the stencil.
61 labelListList stencil_;
64 // Private Member Functions
66 //- Disallow default bitwise copy construct
67 extendedCentredCellToFaceStencil
69 const extendedCentredCellToFaceStencil&
72 //- Disallow default bitwise assignment
73 void operator=(const extendedCentredCellToFaceStencil&);
80 //- Construct from uncompacted face stencil
81 explicit extendedCentredCellToFaceStencil(const cellToFaceStencil&);
86 //- Return reference to the parallel distribution map
87 const mapDistribute& map() const
92 //- Return reference to the stencil
93 const labelListList& stencil() const
98 //- After removing elements from the stencil adapt the schedule (map).
101 //- Use map to get the data into stencil order
105 const GeometricField<T, fvPatchField, volMesh>& fld,
106 List<List<T> >& stencilFld
109 extendedCellToFaceStencil::collectData
118 //- Sum vol field contributions to create face values
120 tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > weightedSum
122 const GeometricField<Type, fvPatchField, volMesh>& fld,
123 const List<List<scalar> >& stencilWeights
126 return extendedCellToFaceStencil::weightedSum
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 } // End namespace Foam
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 // ************************ vim: set sw=4 sts=4 et: ************************ //