FunctionObjectTrigger.C
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) 2021 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "FunctionObjectTrigger.H"
29 
30 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
31 
32 template<class Type>
34 (
35  const dictionary& coeffs
36 )
37 {
38  triggers_ = coeffs.get<labelList>("triggers", keyType::LITERAL);
39  defaultValue_ =
40  coeffs.getOrDefault("defaultValue", false, keyType::LITERAL);
41 }
42 
43 
44 template<class Type>
46 (
47  const word& entryName,
48  const dictionary& dict,
49  const objectRegistry* obrPtr
50 )
51 :
52  Function1<Type>(entryName, dict, obrPtr),
53  triggers_(),
54  defaultValue_(false)
55 {
56  read(dict);
57 }
58 
59 
60 template<class Type>
62 (
64 )
65 :
66  Function1<Type>(rhs),
67  triggers_(rhs.triggers_),
68  defaultValue_(rhs.defaultValue_)
69 {}
70 
71 
72 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
73 
74 template<class Type>
76 (
77  Ostream& os
78 ) const
79 {
80  os.writeKeyword("triggers");
81  os << flatOutput(triggers_);
82  os.endEntry();
83 
84  if (defaultValue_)
85  {
86  os.writeEntry("default", "true");
87  }
88 }
89 
90 
91 template<class Type>
93 (
94  Ostream& os
95 ) const
96 {
98  os.endEntry();
99 
100  os.beginBlock(word(this->name() + "Coeffs"));
101  writeEntries(os);
102  os.endBlock();
103 }
104 
105 
106 // ************************************************************************* //
Foam::labelList
List< label > labelList
A List of labels.
Definition: List.H:67
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
writeData
const bool writeData(pdfDictionary.get< bool >("writeData"))
FunctionObjectTrigger.H
Foam::Function1Types::FunctionObjectTrigger::writeData
virtual void writeData(Ostream &os) const
Write in dictionary format.
Definition: FunctionObjectTrigger.C:93
Foam::Function1
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
Definition: propellerInfo.H:291
Foam::objectRegistry
Registry of regIOobjects.
Definition: objectRegistry.H:60
Foam::blockMeshTools::read
void read(Istream &, label &val, const dictionary &)
In-place read with dictionary lookup.
Definition: blockMeshTools.C:57
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
os
OBJstream os(runTime.globalPath()/outputName)
Foam::Function1Types::FunctionObjectTrigger
Returns a 0/1 value corresponding to function object trigger levels.
Definition: FunctionObjectTrigger.H:92
Foam::flatOutput
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
Definition: FlatOutput.H:216
Foam::Function1Types::FunctionObjectTrigger::writeEntries
void writeEntries(Ostream &os) const
Write coefficient entries in dictionary format.
Definition: FunctionObjectTrigger.C:76
Foam::name
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Definition: exprTraits.C:59
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::Function1Types::FunctionObjectTrigger::FunctionObjectTrigger
FunctionObjectTrigger(const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
Construct from entry name, dictionary and optional registry.
Definition: FunctionObjectTrigger.C:46