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-------------------------------------------------------------------------------
11License
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
27Class
28 Foam::lagrangianReconstructor
29
30Description
31 Reconstructor for lagrangian positions and fields
32
33SourceFiles
34 lagrangianReconstructor.C
35 lagrangianReconstructorTemplates.C
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
50namespace Foam
51{
52
53/*---------------------------------------------------------------------------*\
54 Class lagrangianReconstructor Declaration
55\*---------------------------------------------------------------------------*/
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
78
79 //- No copy assignment
80 void operator=(const lagrangianReconstructor&) = delete;
81
82
83public:
84
85 // Static Data
86
87 //- Output verbosity when writing
88 static int verbose_;
89
90
91 // Constructors
92
93 //- Construct from components
95 (
96 const fvMesh& mesh,
97 const PtrList<fvMesh>& procMeshes,
98 const PtrList<labelIOList>& faceProcAddressing,
99 const PtrList<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>
112 (
113 const word& cloudName,
114 const word& fieldName
115 );
116
117 //- Reconstruct a single field-field for given cloud
118 template<class Type>
121 (
122 const word& cloudName,
123 const word& fieldName
124 );
125
126 //- Reconstruct multiple fields for given cloud
127 template<class Type>
129 (
130 const word& cloudName,
131 const UPtrList<const IOobject>& fieldObjects
132 );
133
134 //- Reconstruct multiple fields for given cloud
135 template<class Type>
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>
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
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
170#endif
171
172// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174#endif
175
176// ************************************************************************* //
List of IOobjects with searching and retrieving facilities.
Definition: IOobjectList.H:59
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition: PtrList.H:73
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Definition: UPtrList.H:71
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
Reconstructor for lagrangian positions and fields.
void reconstructAllFields(const word &cloudName, const IOobjectList &cloudObjs, const wordRes &selectedFields=wordRes())
Reconstruct all fields for known cloud field types.
label reconstructFields(const word &cloudName, const UPtrList< const IOobject > &fieldObjects)
Reconstruct multiple fields for given cloud.
label reconstructPositions(const word &cloudName) const
Reconstruct positions for given cloud.
label reconstructFields(const word &cloudName, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Reconstruct multiple fields for given cloud.
tmp< IOField< Type > > reconstructField(const word &cloudName, const word &fieldName)
Reconstruct a single field for given cloud.
label reconstructFieldFields(const word &cloudName, const IOobjectList &objects, const wordRes &selectedFields=wordRes())
Reconstruct multiple field-field for given cloud.
static int verbose_
Output verbosity when writing.
tmp< CompactIOField< Field< Type >, Type > > reconstructFieldField(const word &cloudName, const word &fieldName)
Reconstruct a single field-field for given cloud.
A class for managing temporary objects.
Definition: tmp.H:65
A List of wordRe with additional matching capabilities.
Definition: wordRes.H:54
A class for handling words, derived from Foam::string.
Definition: word.H:68
dynamicFvMesh & mesh
Namespace for OpenFOAM.
const word cloudName(propsDict.get< word >("cloud"))