Loading...
Searching...
No Matches
Lookup.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) 2024 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
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
29
30// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
31
32template<class Type>
34(
35 const word& entryName,
36 const dictionary& dict,
37 const objectRegistry* obrPtr
38)
41 Function1<Type>(entryName, dict, obrPtr)
42{}
43
44
45template<class Type>
47:
50{}
51
52
53// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
54
55template<class Type>
56Type Foam::Function1Types::Lookup<Type>::value(const scalar t) const
57{
59 const auto& obj =
61
62 return obj.value();
63}
64
65
66template<class Type>
68(
69 const scalar t1,
70 const scalar t2
71) const
72{
73 return (t2-t1)*value(0.5*(t1+t2));
74}
75
76
77template<class Type>
79{
81 os.endEntry();
82
83 os.beginBlock(word(this->name() + "Coeffs"));
84 writeEntries(os);
85 os.endBlock();
86}
87
88
89// ************************************************************************* //
Function1 to lookup UniformDimensionedField from an objectregistry.
Definition Lookup.H:88
virtual void writeData(Ostream &os) const
Write in dictionary format.
Definition Lookup.C:71
virtual void writeEntries(Ostream &os) const
Write coefficient entries in dictionary format.
Definition lookupBase.C:39
Lookup(const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
Construct from entry name, dictionary and optional registry.
Definition Lookup.C:27
virtual Type value(const scalar t) const
Return value for time t.
Definition Lookup.C:49
virtual Type integrate(const scalar x1, const scalar x2) const
Integrate between two (scalar) values.
Definition Lookup.C:61
virtual void writeData(Ostream &os) const
Write in dictionary format.
Definition Function1.C:156
Function1(const word &entryName, const objectRegistry *obrPtr=nullptr)
Construct from entry name.
Definition Function1.C:31
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
Dimensioned<Type> registered with the database as a registered IOobject which has the functionality o...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
const Type & value() const noexcept
Return const reference to value.
const objectRegistry & obr() const
Return the object registry.
Base level of Lookup and LookupField classes.
Definition lookupBase.H:47
word name_
Key of object.
Definition lookupBase.H:55
lookupBase(const dictionary &dict)
Construct from dictionary.
Definition lookupBase.C:25
Registry of regIOobjects.
const Type & lookupObject(const word &name, const bool recursive=false) const
Lookup and return const reference to the object of the given Type. Fatal if not found or the wrong ty...
A class for handling words, derived from Foam::string.
Definition word.H:66
OBJstream os(runTime.globalPath()/outputName)
auto & name
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
dictionary dict
Various UniformDimensionedField types.