OpenFOAM: API Guide
v2012
The open source CFD toolbox
faPatchTemplates.C
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2016-2017 Wikki Ltd
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
\*----------------------------------------------------------------------------*/
27
28
#include "
faPatch.H
"
29
30
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
31
32
template
<
class
Type>
33
Foam::tmp<Foam::Field<Type>
>
Foam::faPatch::patchInternalField
34
(
35
const
UList<Type>
&
f
36
)
const
37
{
38
tmp<Field<Type>
> tpif (
new
Field<Type>
(size()));
39
Field<Type>
& pif = tpif.
ref
();
40
41
const
labelUList
& edgeFaces = this->edgeFaces();
42
43
forAll
(pif, facei)
44
{
45
pif[facei] =
f
[edgeFaces[facei]];
46
}
47
48
return
tpif;
49
}
50
51
52
template
<
class
GeometricField,
class
Type>
53
const
typename
GeometricField::Patch
&
Foam::faPatch::patchField
54
(
55
const
GeometricField
& gf
56
)
const
57
{
58
return
gf.
boundaryField
()[index()];
59
}
60
61
62
// ************************************************************************* //
Foam::tmp
A class for managing temporary objects.
Definition:
PtrList.H:61
Foam::faPatch::patchInternalField
tmp< Field< Type > > patchInternalField(const UList< Type > &) const
Return given internal field next to patch as patch field.
forAll
#define forAll(list, i)
Loop across all elements in list.
Definition:
stdFoam.H:296
Foam::tmp::ref
T & ref() const
Definition:
tmpI.H:228
Foam::Field
Generic templated field type.
Definition:
Field.H:63
Foam::faPatch::patchField
const GeometricField::Patch & patchField(const GeometricField &) const
Return the corresponding patchField of the named field.
Definition:
faPatchTemplates.C:54
f
labelList f(nPoints)
faPatch.H
Foam::UList< Type >
Foam::GeometricField
Generic GeometricField class.
Definition:
areaFieldsFwd.H:53
Foam::GeometricField::Patch
PatchField< Type > Patch
Definition:
GeometricField.H:111
Foam::GeometricField::boundaryField
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Definition:
GeometricFieldI.H:62
src
finiteArea
faMesh
faPatches
faPatch
faPatchTemplates.C
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.