log.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) 2018-2019 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::log
26 
27 Description
28  Calculates the natural logarithm of the specified scalar field.
29 
30  Performs \f$ln(max(x, a))\f$ where \f$x\f$ is the field and \f$a\f$ an
31  optional clip to handle 0 or negative \f$x\f$.
32 
33 See also
34  Foam::functionObjects::fieldExpression
35  Foam::functionObjects::fvMeshFunctionObject
36 
37 SourceFiles
38  log.C
39 
40 \*---------------------------------------------------------------------------*/
41 
42 #ifndef functionObjects_log_H
43 #define functionObjects_log_H
44 
45 #include "fieldExpression.H"
46 
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 
49 namespace Foam
50 {
51 namespace functionObjects
52 {
53 
54 /*---------------------------------------------------------------------------*\
55  Class log Declaration
56 \*---------------------------------------------------------------------------*/
57 
58 class log
59 :
60  public fieldExpression
61 {
62  // Private Data
63 
64  //- Optional clip (default is 0)
65  scalar clip_;
66 
67 
68  // Private Member Functions
69 
70  //- Calculate the log field and return true if successful
71  virtual bool calc();
72 
73 
74 public:
75 
76  //- Runtime type information
77  TypeName("log");
78 
79 
80  // Constructors
81 
82  //- Construct from Time and dictionary
83  log
84  (
85  const word& name,
86  const Time& runTime,
87  const dictionary& dict
88  );
89 
90 
91  //- Destructor
92  virtual ~log();
93 
94 
95  // Member Functions
96 
97  //- Read the randomise data
98  virtual bool read(const dictionary&);
99 };
100 
101 
102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103 
104 } // End namespace functionObjects
105 } // End namespace Foam
106 
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 
109 #endif
110 
111 // ************************************************************************* //
Calculates the natural logarithm of the specified scalar field.
Definition: log.H:57
dictionary dict
TypeName("log")
Runtime type information.
const word & name() const
Return the name of this functionObject.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
engineTime & runTime
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:68
A class for handling words, derived from string.
Definition: word.H:59
virtual bool read(const dictionary &)
Read the randomise data.
Definition: log.C:94
log(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
Definition: log.C:74
virtual ~log()
Destructor.
Definition: log.C:88
Namespace for OpenFOAM.