/usr/include/freefoam/finiteVolume/fvMeshLduAddressing.H is in libfreefoam-dev 0.1.0+dfsg-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | /*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 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 3 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, see <http://www.gnu.org/licenses/>.
Class
Foam::fvMeshLduAddressing
Description
Foam::fvMeshLduAddressing
SourceFiles
fvMeshLduAddressing.C
\*---------------------------------------------------------------------------*/
#ifndef fvMeshLduAddressing_H
#define fvMeshLduAddressing_H
#include <OpenFOAM/lduAddressing.H>
#include "fvMesh.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class fvMeshLduAddressing Declaration
\*---------------------------------------------------------------------------*/
class fvMeshLduAddressing
:
public lduAddressing
{
// Private data
//- Lower as a subList of allOwner
labelList::subList lowerAddr_;
//- Upper as a reference to neighbour
const labelList& upperAddr_;
//- Patch addressing as a list of sublists
List<const unallocLabelList*> patchAddr_;
//- Patch field evaluation schedule
const lduSchedule& patchSchedule_;
// Private Member Functions
//- Disallow default bitwise copy construct
fvMeshLduAddressing(const fvMeshLduAddressing&);
//- Disallow default bitwise assignment
void operator=(const fvMeshLduAddressing&);
public:
// Constructors
//- Construct from components
fvMeshLduAddressing(const fvMesh& mesh)
:
lduAddressing(mesh.nCells()),
lowerAddr_
(
labelList::subList
(
mesh.faceOwner(),
mesh.nInternalFaces()
)
),
upperAddr_(mesh.faceNeighbour()),
patchAddr_(mesh.boundary().size()),
patchSchedule_(mesh.globalData().patchSchedule())
{
forAll (mesh.boundary(), patchI)
{
patchAddr_[patchI] = &mesh.boundary()[patchI].faceCells();
}
}
// Destructor
~fvMeshLduAddressing()
{}
// Member Functions
//- Return lower addressing (i.e. lower label = upper triangle)
const unallocLabelList& lowerAddr() const
{
return lowerAddr_;
}
//- Return upper addressing (i.e. upper label)
const unallocLabelList& upperAddr() const
{
return upperAddr_;
}
//- Return patch addressing
const unallocLabelList& patchAddr(const label i) const
{
return *patchAddr_[i];
}
// Return patch field evaluation schedule
const lduSchedule& patchSchedule() const
{
return patchSchedule_;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************ vim: set sw=4 sts=4 et: ************************ //
|