fvMeshFunctionObject.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2016-2024 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 Class
25  Foam::functionObjects::fvMeshFunctionObject
26 
27 Description
28  Specialisation of Foam::functionObject for an Foam::fvMesh, providing a
29  reference to the Foam::fvMesh.
30 
31  If the selected region is not an Foam::fvMesh a Foam::FatalError will be
32  generated.
33 
34 See also
35  Foam::regionFunctionObject
36  Foam::functionObject
37 
38 SourceFiles
39  fvMeshFunctionObject.C
40 
41 \*---------------------------------------------------------------------------*/
42 
43 #ifndef functionObjects_fvMeshFunctionObject_H
44 #define functionObjects_fvMeshFunctionObject_H
45 
46 #include "regionFunctionObject.H"
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace Foam
51 {
52 
53 // Forward declaration of classes
54 class fvMesh;
55 
56 namespace functionObjects
57 {
58 
59 /*---------------------------------------------------------------------------*\
60  Class fvMeshFunctionObject Declaration
61 \*---------------------------------------------------------------------------*/
62 
64 :
66 {
67 
68 protected:
69 
70  // Protected member data
71 
72  //- Reference to the fvMesh
73  const fvMesh& mesh_;
74 
75 
76  // Protected member functions
77 
78  //- Return the patch set corresponding to the patch selection entries
79  // in the given dictionary
81  (
82  const dictionary&,
83  const bool optional = false
84  ) const;
85 
86 
87 public:
88 
89  //- Runtime type information
90  TypeName("fvMeshFunctionObject");
91 
92 
93  // Constructors
94 
95  //- Construct from Time and dictionary
97  (
98  const word& name,
99  const Time& runTime,
100  const dictionary& dict
101  );
102 
103  //- Construct from the region objectRegistry and dictionary
105  (
106  const word& name,
107  const objectRegistry& obr,
108  const dictionary& dict
109  );
110 
111  //- Disallow default bitwise copy construction
113 
114 
115  //- Destructor
116  virtual ~fvMeshFunctionObject();
117 
118 
119  // Member Operators
120 
121  //- Disallow default bitwise assignment
122  void operator=(const fvMeshFunctionObject&) = delete;
123 };
124 
125 
126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 
128 } // End namespace functionObjects
129 } // End namespace Foam
130 
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132 
133 #endif
134 
135 // ************************************************************************* //
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:76
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
const word & name() const
Return the name of this functionObject.
Specialisation of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
fvMeshFunctionObject(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
const fvMesh & mesh_
Reference to the fvMesh.
void operator=(const fvMeshFunctionObject &)=delete
Disallow default bitwise assignment.
labelHashSet patchSet(const dictionary &, const bool optional=false) const
Return the patch set corresponding to the patch selection entries.
TypeName("fvMeshFunctionObject")
Runtime type information.
Specialisation of Foam::functionObject for a region and providing a reference to the region Foam::obj...
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:99
Registry of regIOobjects.
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
dictionary dict