All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
includeFuncEntry.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::functionEntries::includeFuncEntry
26 
27 Description
28  Specify a functionObject dictionary file to include, expects the
29  functionObject name to follow with option arguments (without quotes).
30 
31  Searches for functionObject dictionary file in user/group/shipped
32  directories allowing for version-specific and version-independent files
33  using the following hierarchy:
34  - \b user settings:
35  - ~/.OpenFOAM/<VERSION>/caseDicts/functions
36  - ~/.OpenFOAM/caseDicts/functions
37  - \b group (site) settings (when $WM_PROJECT_SITE is set):
38  - $WM_PROJECT_SITE/<VERSION>/etc/caseDicts/functions
39  - $WM_PROJECT_SITE/etc/caseDicts/functions
40  - \b group (site) settings (when $WM_PROJECT_SITE is not set):
41  - $WM_PROJECT_INST_DIR/site/<VERSION>/etc/caseDicts/functions
42  - $WM_PROJECT_INST_DIR/site/etc/caseDicts/functions
43  - \b other (shipped) settings:
44  - $WM_PROJECT_DIR/etc/caseDicts/functions
45 
46  The optional field arguments included in the name are inserted in 'field' or
47  'fields' entries in the functionObject dictionary and included in the name
48  of the functionObject entry to avoid conflict.
49 
50  Examples:
51  \verbatim
52  #includeFunc Q
53  #includeFunc components(U)
54  #includeFunc mag(Ux)
55  #includeFunc mag(p)
56  \endverbatim
57 
58  Other dictionary entries may also be specified using named arguments.
59 
60 SourceFiles
61  includeFuncEntry.C
62 
63 \*---------------------------------------------------------------------------*/
64 
65 #ifndef includeFuncEntry_H
66 #define includeFuncEntry_H
67 
68 #include "functionEntry.H"
69 
70 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
71 
72 namespace Foam
73 {
74 namespace functionEntries
75 {
76 
77 /*---------------------------------------------------------------------------*\
78  Class includeFuncEntry Declaration
79 \*---------------------------------------------------------------------------*/
80 
81 class includeFuncEntry
82 :
83  public functionEntry
84 {
85 
86 public:
87 
88  //- Runtime type information
89  ClassName("includeFunc");
90 
91 
92  // Static Data Members
93 
94  //- Default relative path to the directory structure
95  // containing the functionObject dictionary files
97 
98  //- Default relative path to the directory structure
99  // containing the functionObject template files
101 
102 
103  // Member Functions
104 
105  //- Execute the functionEntry in a sub-dict context
106  static bool execute(dictionary& parentDict, Istream&);
107 };
108 
109 
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 
112 } // End namespace functionEntries
113 } // End namespace Foam
114 
115 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116 
117 #endif
118 
119 // ************************************************************************* //
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:60
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
A class for handling file names.
Definition: fileName.H:82
Specify a functionObject dictionary file to include, expects the functionObject name to follow with o...
static bool execute(dictionary &parentDict, Istream &)
Execute the functionEntry in a sub-dict context.
ClassName("includeFunc")
Runtime type information.
static fileName functionObjectTemplatePath
Default relative path to the directory structure.
static fileName functionObjectDictPath
Default relative path to the directory structure.
A functionEntry causes entries to be added/manipulated on the specified dictionary given an input str...
Definition: functionEntry.H:66
Namespace for OpenFOAM.