IOMRFZoneList.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) 2012 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
10  Copyright (C) 2020 PCOpt/NTUA
11  Copyright (C) 2020 FOSS GP
12 -------------------------------------------------------------------------------
13 License
14  This file is part of OpenFOAM.
15 
16  OpenFOAM is free software: you can redistribute it and/or modify it
17  under the terms of the GNU General Public License as published by
18  the Free Software Foundation, either version 3 of the License, or
19  (at your option) any later version.
20 
21  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
22  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
23  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24  for more details.
25 
26  You should have received a copy of the GNU General Public License
27  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
28 
29 Class
30  Foam::IOMRFZoneList
31 
32 Description
33  List of MRF zones with IO functionality. MRF zones are specified by a list
34  of dictionary entries, e.g.
35 
36  \verbatim
37  zone1
38  {
39  cellZone rotor1;
40  active yes;
41  ...
42  }
43 
44  zone2
45  {
46  cellZone rotor2;
47  active yes;
48  ...
49  }
50  \endverbatim
51 
52 SourceFiles
53  IOMRFZoneList.C
54 
55 \*---------------------------------------------------------------------------*/
56 
57 #ifndef IOMRFZoneList_H
58 #define IOMRFZoneList_H
59 
60 #include "IOdictionary.H"
61 #include "MRFZoneList.H"
62 
63 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
64 
65 namespace Foam
66 {
67 
68 /*---------------------------------------------------------------------------*\
69  Class IOMRFZoneList Declaration
70 \*---------------------------------------------------------------------------*/
71 
72 class IOMRFZoneList
73 :
74  public IOdictionary,
75  public MRFZoneList
76 {
77 private:
78 
79  // Private Member Functions
80 
81  //- Create IO object if dictionary is present
82  IOobject createIOobject
83  (
84  const fvMesh& mesh,
85  const word& solverName
86  ) const;
87 
88  //- No copy construct
89  IOMRFZoneList(const IOMRFZoneList&) = delete;
90 
91  //- No copy assignment
92  void operator=(const IOMRFZoneList&) = delete;
93 
94 
95 public:
96 
97  // Constructors
98 
99  //- Construct from mesh
101  (
102  const fvMesh& mesh,
103  const word& solverName = word::null
104  );
105 
106 
107  //- Destructor
108  virtual ~IOMRFZoneList() = default;
109 
110 
111  // Member Functions
112 
113  //- Read dictionary
114  virtual bool read();
115 };
116 
117 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 
119 } // End namespace Foam
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 #endif
124 
125 // ************************************************************************* //
Foam::IOdictionary
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:54
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition: IOobject.H:169
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::IOMRFZoneList::~IOMRFZoneList
virtual ~IOMRFZoneList()=default
Destructor.
Foam::MRFZoneList
List container for MRF zomes.
Definition: MRFZoneList.H:58
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
IOdictionary.H
Foam::IOMRFZoneList::read
virtual bool read()
Read dictionary.
Definition: IOMRFZoneList.C:82
MRFZoneList.H
Foam::IOMRFZoneList
List of MRF zones with IO functionality. MRF zones are specified by a list of dictionary entries,...
Definition: IOMRFZoneList.H:71
Foam::word::null
static const word null
An empty word.
Definition: word.H:80