Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
postProcessing
functionObjects
systemCall
systemCall.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 | Copyright (C) 2009-2010 OpenCFD Ltd.
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::systemCall
26
27
Description
28
Executes system calls, entered in the form of a string list
29
30
SourceFiles
31
systemCall.C
32
IOsystemCall.H
33
34
\*---------------------------------------------------------------------------*/
35
36
#ifndef systemCall_H
37
#define systemCall_H
38
39
#include <
OpenFOAM/stringList.H
>
40
#include <
OpenFOAM/pointFieldFwd.H
>
41
42
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44
namespace
Foam
45
{
46
47
// Forward declaration of classes
48
class
objectRegistry;
49
class
dictionary;
50
class
mapPolyMesh;
51
52
/*---------------------------------------------------------------------------*\
53
Class systemCall Declaration
54
\*---------------------------------------------------------------------------*/
55
56
class
systemCall
57
{
58
protected
:
59
60
// Private data
61
62
//- Name of this set of system calls
63
word
name_
;
64
65
//- List of calls to execute - every step
66
stringList
executeCalls_
;
67
68
//- List of calls to execute when exiting the time-loop
69
stringList
endCalls_
;
70
71
//- List of calls to execute - write steps
72
stringList
writeCalls_
;
73
74
75
// Private Member Functions
76
77
//- Disallow default bitwise copy construct
78
systemCall
(
const
systemCall
&);
79
80
//- Disallow default bitwise assignment
81
void
operator=
(
const
systemCall
&);
82
83
84
public
:
85
86
//- Runtime type information
87
TypeName
(
"systemCall"
);
88
89
90
// Constructors
91
92
//- Construct for given objectRegistry and dictionary.
93
// Allow the possibility to load fields from files
94
systemCall
95
(
96
const
word
&
name
,
97
const
objectRegistry
& unused,
98
const
dictionary
&,
99
const
bool
loadFromFilesUnused =
false
100
);
101
102
103
// Destructor
104
105
virtual
~systemCall
();
106
107
108
// Member Functions
109
110
//- Return name of the system call set
111
virtual
const
word
&
name
()
const
112
{
113
return
name_
;
114
}
115
116
//- Read the system calls
117
virtual
void
read
(
const
dictionary
&);
118
119
//- Execute the "executeCalls" at each time-step
120
virtual
void
execute
();
121
122
//- Execute the "endCalls" at the final time-loop
123
virtual
void
end
();
124
125
//- Write, execute the "writeCalls"
126
virtual
void
write
();
127
128
//- Update for changes of mesh
129
virtual
void
updateMesh
(
const
mapPolyMesh
&)
130
{}
131
132
//- Update for changes of mesh
133
virtual
void
movePoints
(
const
pointField
&)
134
{}
135
};
136
137
138
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139
140
}
// End namespace Foam
141
142
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143
144
#endif
145
146
// ************************ vim: set sw=4 sts=4 et: ************************ //