OpenFOAM
4.1
The OpenFOAM Foundation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
parallel
reconstruct
reconstruct
reconstructLagrangianPositions.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 | Copyright (C) 2011-2016 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
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
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
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
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
\*---------------------------------------------------------------------------*/
25
26
#include "
reconstructLagrangian.H
"
27
#include "
labelIOList.H
"
28
#include "
passiveParticleCloud.H
"
29
30
// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
31
32
void
Foam::reconstructLagrangianPositions
33
(
34
const
polyMesh
& mesh,
35
const
word
& cloudName,
36
const
PtrList<fvMesh>
& meshes,
37
const
PtrList<labelIOList>
& faceProcAddressing,
38
const
PtrList<labelIOList>
& cellProcAddressing
39
)
40
{
41
passiveParticleCloud
lagrangianPositions
42
(
43
mesh,
44
cloudName,
45
IDLList<passiveParticle>
()
46
);
47
48
forAll
(meshes, i)
49
{
50
const
labelList
& cellMap = cellProcAddressing[i];
51
52
// faceProcAddressing not required currently.
53
// const labelList& faceMap = faceProcAddressing[i];
54
55
Cloud<passiveParticle>
lpi(meshes[i], cloudName,
false
);
56
57
forAllConstIter
(
Cloud<passiveParticle>
, lpi, iter)
58
{
59
const
passiveParticle
& ppi = iter();
60
61
// // Inverting sign if necessary and subtracting 1 from
62
// // faceProcAddressing
63
// label mappedTetFace = mag(faceMap[ppi.tetFace()]) - 1;
64
65
lagrangianPositions.
append
66
(
67
new
passiveParticle
68
(
69
mesh,
70
ppi.
position
(),
71
cellMap[ppi.
cell
()],
72
false
73
)
74
);
75
}
76
}
77
78
IOPosition<Cloud<passiveParticle>
>(lagrangianPositions).
write
();
79
}
80
81
82
// ************************************************************************* //
forAll
#define forAll(list, i)
Loop across all elements in list.
Definition:
UList.H:428
Foam::List< label >
Foam::reconstructLagrangianPositions
void reconstructLagrangianPositions(const polyMesh &mesh, const word &cloudName, const PtrList< fvMesh > &meshes, const PtrList< labelIOList > &faceProcAddressing, const PtrList< labelIOList > &cellProcAddressing)
Definition:
reconstructLagrangianPositions.C:33
Foam::passiveParticleCloud
A Cloud of passive particles.
Definition:
passiveParticleCloud.H:49
Foam::particle::position
const vector & position() const
Return current particle position.
Definition:
particleI.H:586
Foam::word
A class for handling words, derived from string.
Definition:
word.H:59
forAllConstIter
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
Definition:
pEqn.H:29
Foam::Cloud< passiveParticle >
Foam::DLListBase::append
void append(link *)
Add at tail of list.
Definition:
DLListBase.C:73
Foam::IDLList< passiveParticle >
passiveParticleCloud.H
Foam::PtrList
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Definition:
List.H:62
Foam::particle::cell
label & cell()
Return current cell particle is in.
Definition:
particleI.H:604
reconstructLagrangian.H
Foam::polyMesh
Mesh consisting of general polyhedral cells.
Definition:
polyMesh.H:74
Foam::IOPosition
Helper IO class to read and write particle positions.
Definition:
Cloud.H:55
Foam::passiveParticle
Copy of base particle.
Definition:
passiveParticle.H:50
write
runTime write()
labelIOList.H
Generated by
1.8.11