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-------------------------------------------------------------------------------
13License
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
29Class
30 Foam::IOMRFZoneList
31
32Description
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
52SourceFiles
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
65namespace Foam
66{
67
68/*---------------------------------------------------------------------------*\
69 Class IOMRFZoneList Declaration
70\*---------------------------------------------------------------------------*/
72class IOMRFZoneList
73:
74 public IOdictionary,
75 public MRFZoneList
76{
77private:
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
95public:
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// ************************************************************************* //
List of MRF zones with IO functionality. MRF zones are specified by a list of dictionary entries,...
Definition: IOMRFZoneList.H:75
virtual ~IOMRFZoneList()=default
Destructor.
virtual bool read()
Read dictionary.
Definition: IOMRFZoneList.C:82
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:57
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition: IOobject.H:170
List container for MRF zomes.
Definition: MRFZoneList.H:61
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
A class for handling words, derived from Foam::string.
Definition: word.H:68
dynamicFvMesh & mesh
Namespace for OpenFOAM.