OpenFOAM: API Guide
v2112
The open source CFD toolbox
lagrangianReconstructor.H
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) 2011-2016 OpenFOAM Foundation
9
Copyright (C) 2018 OpenCFD Ltd.
10
-------------------------------------------------------------------------------
11
License
12
This file is part of OpenFOAM.
13
14
OpenFOAM is free software: you can redistribute it and/or modify it
15
under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22
for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
Class
28
Foam::lagrangianReconstructor
29
30
Description
31
Reconstructor for lagrangian positions and fields
32
33
SourceFiles
34
lagrangianReconstructor.C
35
lagrangianReconstructorFields.C
36
37
\*---------------------------------------------------------------------------*/
38
39
#ifndef lagrangianReconstructor_H
40
#define lagrangianReconstructor_H
41
42
#include "
cloud.H
"
43
#include "
polyMesh.H
"
44
#include "
IOobjectList.H
"
45
#include "
CompactIOField.H
"
46
#include "
fvMesh.H
"
47
48
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49
50
namespace
Foam
51
{
52
53
/*---------------------------------------------------------------------------*\
54
Class lagrangianReconstructor Declaration
55
\*---------------------------------------------------------------------------*/
56
57
class
lagrangianReconstructor
58
{
59
// Private data
60
61
//- Mesh reference
62
const
fvMesh
& mesh_;
63
64
//- List of processor meshes
65
const
PtrList<fvMesh>
& procMeshes_;
66
67
//- List of processor face addressing lists
68
const
PtrList<labelIOList>
& faceProcAddressing_;
69
70
//- List of processor cell addressing lists
71
const
PtrList<labelIOList>
& cellProcAddressing_;
72
73
74
// Private Member Functions
75
76
//- No copy construct
77
lagrangianReconstructor
(
const
lagrangianReconstructor
&) =
delete
;
78
79
//- No copy assignment
80
void
operator=(
const
lagrangianReconstructor
&) =
delete
;
81
82
83
public
:
84
85
// Constructors
86
87
//- Construct from components
88
lagrangianReconstructor
89
(
90
const
fvMesh
&
mesh
,
91
const
PtrList<fvMesh>
& procMeshes,
92
const
PtrList<labelIOList>
&
faceProcAddressing
,
93
const
PtrList<labelIOList>
& cellProcAddressing
94
);
95
96
97
// Member Functions
98
99
//- Reconstruct positions for given cloud
100
label
reconstructPositions
(
const
word
&
cloudName
)
const
;
101
102
//- Reconstruct a single field for given cloud
103
template
<
class
Type>
104
tmp<IOField<Type>
>
reconstructField
105
(
106
const
word
&
cloudName
,
107
const
word
& fieldName
108
);
109
110
//- Reconstruct a single field-field for given cloud
111
template
<
class
Type>
112
tmp<CompactIOField<Field<Type>
, Type>>
reconstructFieldField
113
(
114
const
word
&
cloudName
,
115
const
word
& fieldName
116
);
117
118
//- Reconstruct multiple fields for given cloud
119
template
<
class
Type>
120
label
reconstructFields
121
(
122
const
word
&
cloudName
,
123
const
IOobjectList
& objects,
124
const
UList<word>
&
fieldNames
125
);
126
127
//- Reconstruct multiple fields for given cloud
128
template
<
class
Type>
129
label
reconstructFields
130
(
131
const
word
&
cloudName
,
132
const
IOobjectList
& objects,
133
const
wordRes
& selectedFields =
wordRes
()
134
);
135
136
//- Reconstruct multiple field-field for given cloud
137
template
<
class
Type>
138
label
reconstructFieldFields
139
(
140
const
word
&
cloudName
,
141
const
IOobjectList
& objects,
142
const
wordRes
& selectedFields =
wordRes
()
143
);
144
};
145
146
147
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148
149
}
// End namespace Foam
150
151
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152
153
#ifdef NoRepository
154
#include "
lagrangianReconstructorFields.C
"
155
#endif
156
157
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158
159
#endif
160
161
// ************************************************************************* //
Foam::lagrangianReconstructor::reconstructPositions
label reconstructPositions(const word &cloudName) const
Reconstruct positions for given cloud.
Definition:
lagrangianReconstructor.C:53
Foam::lagrangianReconstructor::reconstructFieldField
tmp< CompactIOField< Field< Type >, Type > > reconstructFieldField(const word &cloudName, const word &fieldName)
Reconstruct a single field-field for given cloud.
faceProcAddressing
PtrList< labelIOList > & faceProcAddressing
Definition:
checkFaceAddressingComp.H:9
cloudName
const word cloudName(propsDict.get< word >("cloud"))
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:65
lagrangianReconstructorFields.C
Foam::tmp
A class for managing temporary objects.
Definition:
PtrList.H:61
Foam::lagrangianReconstructor::reconstructFieldFields
label reconstructFieldFields(const word &cloudName, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Reconstruct multiple field-field for given cloud.
cloud.H
Foam::lagrangianReconstructor::reconstructFields
label reconstructFields(const word &cloudName, const IOobjectList &objects, const UList< word > &fieldNames)
Reconstruct multiple fields for given cloud.
IOobjectList.H
Foam::lagrangianReconstructor::reconstructField
tmp< IOField< Type > > reconstructField(const word &cloudName, const word &fieldName)
Reconstruct a single field for given cloud.
polyMesh.H
Foam::PtrList
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition:
List.H:59
fieldNames
const wordRes fieldNames(propsDict.getOrDefault< wordRes >("fields", wordRes()))
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition:
fvMesh.H:85
fvMesh.H
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:33
Foam::IOobjectList
List of IOobjects with searching and retrieving facilities.
Definition:
IOobjectList.H:55
Foam::lagrangianReconstructor
Reconstructor for lagrangian positions and fields.
Definition:
lagrangianReconstructor.H:56
Foam::UList
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Definition:
HashTable.H:103
Foam::wordRes
A List of wordRe with additional matching capabilities.
Definition:
wordRes.H:51
CompactIOField.H
src
parallel
reconstruct
reconstruct
lagrangianReconstructor.H
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.