OpenFOAM
v2606
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-2022 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.cxx
35
lagrangianReconstructor.txx
36
37
\*---------------------------------------------------------------------------*/
38
39
#ifndef Foam_lagrangianReconstructor_H
40
#define Foam_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
polyMesh
& mesh_;
63
64
//- List of processor meshes
65
const
UPtrList<fvMesh>
& procMeshes_;
66
67
//- List of processor face addressing lists
68
const
UPtrList<labelIOList>
& faceProcAddressing_;
69
70
//- List of processor cell addressing lists
71
const
UPtrList<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
// Static Data
86
87
//- Output verbosity when writing
88
static
int
verbose_
;
89
90
91
// Constructors
92
93
//- Construct from components
94
lagrangianReconstructor
95
(
96
const
polyMesh
&
mesh
,
97
const
UPtrList<fvMesh>
& procMeshes,
98
const
UPtrList<labelIOList>
& faceProcAddressing,
99
const
UPtrList<labelIOList>
& cellProcAddressing
100
);
101
102
103
// Member Functions
104
105
//- Reconstruct positions for given cloud
106
label
reconstructPositions
(
const
word
&
cloudName
)
const
;
107
108
//- Reconstruct a single field for given cloud
109
template
<
class
Type>
110
tmp<IOField<Type>
>
111
reconstructField
112
(
113
const
word
&
cloudName
,
114
const
word
& fieldName
115
);
116
117
//- Reconstruct a single field-field for given cloud
118
template
<
class
Type>
119
tmp<CompactIOField<Field<Type>
>>
120
reconstructFieldField
121
(
122
const
word
&
cloudName
,
123
const
word
& fieldName
124
);
125
126
//- Reconstruct multiple fields for given cloud
127
template
<
class
Type>
128
label
reconstructFields
129
(
130
const
word
&
cloudName
,
131
const
UPtrList<const IOobject>
& fieldObjects
132
);
133
134
//- Reconstruct multiple fields for given cloud
135
template
<
class
Type>
136
label
reconstructFields
137
(
138
const
word
&
cloudName
,
139
const
IOobjectList
& objects,
140
const
wordRes
& selectedFields =
wordRes
()
141
);
142
143
//- Reconstruct multiple field-field for given cloud
144
template
<
class
Type>
145
label
reconstructFieldFields
146
(
147
const
word
&
cloudName
,
148
const
IOobjectList
& objects,
149
const
wordRes
& selectedFields =
wordRes
()
150
);
151
152
//- Reconstruct all fields for known cloud field types
153
void
reconstructAllFields
154
(
155
const
word
&
cloudName
,
156
const
IOobjectList
& cloudObjs,
157
const
wordRes
& selectedFields =
wordRes
()
158
);
159
};
160
161
162
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163
164
}
// End namespace Foam
165
166
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167
168
#ifdef NoRepository
169
#include "lagrangianReconstructor.txx"
170
#endif
171
172
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174
#endif
175
176
// ************************************************************************* //
Foam::lagrangianReconstructor::reconstructFieldFields
label reconstructFieldFields(const word &cloudName, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Reconstruct multiple field-field for given cloud.
Foam::IOobjectList
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable, so the various sorted methods should be used if traversing in parallel.
Definition:
IOobjectList.H:55
Foam::lagrangianReconstructor::reconstructAllFields
void reconstructAllFields(const word &cloudName, const IOobjectList &cloudObjs, const wordRes &selectedFields=wordRes())
Reconstruct all fields for known cloud field types.
CompactIOField.H
polyMesh.H
fvMesh.H
Foam::lagrangianReconstructor::reconstructField
tmp< IOField< Type > > reconstructField(const word &cloudName, const word &fieldName)
Reconstruct a single field for given cloud.
IOobjectList.H
cloud.H
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
cloudName
const word cloudName(propsDict.get< word >("cloud"))
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:63
Foam::wordRes
A List of wordRe with additional matching capabilities.
Definition:
wordRes.H:53
Foam::UPtrList
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Definition:
HashTable.H:106
Foam::lagrangianReconstructor::verbose_
static int verbose_
Output verbosity when writing.
Definition:
lagrangianReconstructor.H:97
Foam::lagrangianReconstructor::reconstructFieldField
tmp< CompactIOField< Field< Type > > > reconstructFieldField(const word &cloudName, const word &fieldName)
Reconstruct a single field-field for given cloud.
Foam::lagrangianReconstructor::reconstructPositions
label reconstructPositions(const word &cloudName) const
Reconstruct positions for given cloud.
Foam::lagrangianReconstructor::reconstructFields
label reconstructFields(const word &cloudName, const UPtrList< const IOobject > &fieldObjects)
Reconstruct multiple fields for given cloud.
Foam::polyMesh
Mesh consisting of general polyhedral cells.
Definition:
polyMesh.H:76
Foam::tmp
A class for managing temporary objects.
Definition:
HashPtrTable.H:50
Foam::lagrangianReconstructor
Reconstructor for lagrangian positions and fields.
Definition:
lagrangianReconstructor.H:52
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:26
src
parallel
reconstruct
reconstruct
lagrangianReconstructor.H
Generated by
1.8.14