multiValveEngineState.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) 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::multiValveEngineState
26 
27 Description
28  Writes the multi-valve engine motion state
29 
30  providing details of the position and speed of the piston and valves.
31 
32 Usage
33  \table
34  Property | Description | Required | Default value
35  type | type name: multiValveEngineState | yes |
36  \endtable
37 
38  Example of function object specification:
39  \verbatim
40  multiValveEngineState
41  {
42  type multiValveEngineState;
43  libs ("libfvMeshMoversMultiValveEngine.so");
44  }
45  \endverbatim
46 
47 See also
48  Foam::functionObjects::fvMeshFunctionObject
49  Foam::functionObjects::logFiles
50  Foam::fvMeshMovers::multiValveEngine
51 
52 SourceFiles
53  multiValveEngineState.C
54 
55 \*---------------------------------------------------------------------------*/
56 
57 #ifndef multiValveEngineState_H
58 #define multiValveEngineState_H
59 
60 #include "fvMeshFunctionObject.H"
61 #include "logFiles.H"
62 #include "multiValveEngine.H"
63 
64 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
65 
66 namespace Foam
67 {
68 namespace functionObjects
69 {
70 
71 /*---------------------------------------------------------------------------*\
72  Class multiValveEngineState Declaration
73 \*---------------------------------------------------------------------------*/
74 
75 class multiValveEngineState
76 :
77  public fvMeshFunctionObject,
78  public logFiles
79 {
80  // Private Member Functions
81 
82  const fvMeshMovers::multiValveEngine& mve() const;
83 
84 
85 protected:
86 
87  // Protected Member Functions
88 
89  //- File header information
90  virtual void writeFileHeader(const label i);
91 
92 
93 public:
94 
95  //- Runtime type information
96  TypeName("multiValveEngineState");
97 
98 
99  // Constructors
100 
101  //- Construct from Time and dictionary
103  (
104  const word& name,
105  const Time& runTime,
106  const dictionary& dict
107  );
108 
109  //- Disallow default bitwise copy construction
111 
112 
113  //- Destructor
114  virtual ~multiValveEngineState();
115 
116 
117  // Member Functions
118 
119  //- Read the multiValveEngineState data
120  virtual bool read(const dictionary&);
121 
122  //- Return the list of fields required
123  virtual wordList fields() const
124  {
125  return wordList::null();
126  }
127 
128  //- Execute, currently does nothing
129  virtual bool execute();
130 
131  //- Write the multiValveEngineState
132  virtual bool write();
133 
134 
135  // Member Operators
136 
137  //- Disallow default bitwise assignment
138  void operator=(const multiValveEngineState&) = delete;
139 };
140 
141 
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 
144 } // End namespace functionObjects
145 } // End namespace Foam
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 #endif
150 
151 // ************************************************************************* //
static const List< word > & null()
Return a null List.
Definition: ListI.H:118
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.
Writes the multi-valve engine motion state.
virtual wordList fields() const
Return the list of fields required.
void operator=(const multiValveEngineState &)=delete
Disallow default bitwise assignment.
multiValveEngineState(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
virtual void writeFileHeader(const label i)
File header information.
TypeName("multiValveEngineState")
Runtime type information.
virtual bool execute()
Execute, currently does nothing.
virtual bool write()
Write the multiValveEngineState.
virtual bool read(const dictionary &)
Read the multiValveEngineState data.
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
dictionary dict