Loading...
Searching...
No Matches
InputValueMapper< Type > Class Template Reference

Function1 wrapper that maps the input value prior to it being used by another Function1. More...

#include <InputValueMapper.H>

Inheritance diagram for InputValueMapper< Type >:
Collaboration diagram for InputValueMapper< Type >:

Public Types

enum class  mappingMode { NONE , FUNCTION1 , MINMAX }
 Input value mapping mode. More...
Public Types inherited from Function1< Type >
typedef Type returnType
 The return type.
typedef autoPtr< Function1 >(* dictionaryConstructorPtr) (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr)
 Declare runtime constructor selection table.
typedef ::Foam::HashTable< dictionaryConstructorPtr, ::Foam::word, ::Foam::Hash<::Foam::word > > dictionaryConstructorTableType
typedef ::Foam::HashTable< std::pair<::Foam::word, int >, ::Foam::word, ::Foam::Hash<::Foam::word > > dictionaryConstructorCompatTableType

Public Member Functions

 TypeName ("inputValueMapper")
 Runtime type information.
void operator= (const InputValueMapper< Type > &)=delete
 No copy assignment.
 InputValueMapper (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary and optional registry.
 InputValueMapper (const InputValueMapper< Type > &rhs)
 Copy construct.
virtual tmp< Function1< Type > > clone () const
 Return a clone.
virtual ~InputValueMapper ()=default
 Destructor.
virtual Type value (const scalar t) const
 Return value for time t.
virtual Type integrate (const scalar x1, const scalar x2) const
 Integrate between two (scalar) values.
virtual void writeData (Ostream &os) const
 Write in dictionary format.
virtual void writeEntries (Ostream &os) const
 Write coefficient entries in dictionary format.
const::Foam::word typeName (Function1Types::InputValueMapper< scalar >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::InputValueMapper< scalar >::typeName_(), 0))
const::Foam::word typeName (Function1Types::InputValueMapper< vector >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::InputValueMapper< vector >::typeName_(), 0))
const::Foam::word typeName (Function1Types::InputValueMapper< sphericalTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::InputValueMapper< sphericalTensor >::typeName_(), 0))
const::Foam::word typeName (Function1Types::InputValueMapper< symmTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::InputValueMapper< symmTensor >::typeName_(), 0))
const::Foam::word typeName (Function1Types::InputValueMapper< tensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::InputValueMapper< tensor >::typeName_(), 0))
Public Member Functions inherited from Function1< Type >
virtual const wordtype () const
 Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr)
 Construct from entry name.
 Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, (unused) dictionary and optional registry.
 Function1 (const Function1< Type > &rhs)
 Copy construct.
virtual ~Function1 ()=default
 Destructor.
virtual bool constant () const
 Is value constant (i.e. independent of x).
virtual bool good () const
 Can function be evaluated?
virtual tmp< Field< Type > > value (const scalarField &x) const
 Return value as a function of (scalar) independent variable.
virtual tmp< Field< Type > > integrate (const scalarField &x1, const scalarField &x2) const
 Integrate between two (scalar) values.
const::Foam::word typeName (Function1< label >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< label >::typeName_(), 0))
Function1< label >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< label >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< label >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< label >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< scalar >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< scalar >::typeName_(), 0))
Function1< scalar >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< scalar >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< scalar >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< scalar >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< vector >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< vector >::typeName_(), 0))
Function1< vector >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< vector >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< vector >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< vector >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< sphericalTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< sphericalTensor >::typeName_(), 0))
Function1< sphericalTensor >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< sphericalTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< sphericalTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< sphericalTensor >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< symmTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< symmTensor >::typeName_(), 0))
Function1< symmTensor >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< symmTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< symmTensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< symmTensor >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< tensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< tensor >::typeName_(), 0))
Function1< tensor >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< tensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< tensor >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< tensor >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
const::Foam::word typeName (Function1< scalarField >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1< scalarField >::typeName_(), 0))
Function1< scalarField >::dictionaryConstructorTableTypedictionaryConstructorTablePtr_ (nullptr)
std::unique_ptr< Function1< scalarField >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_ (nullptr)
Function1< scalarField >::dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
void dictionaryConstructorTablePtr_construct (bool load)
Function1< scalarField >::dictionaryConstructorPtr dictionaryConstructorTable (const::Foam::word &k)
Public Member Functions inherited from function1Base
 function1Base (const word &entryName, const objectRegistry *obrPtr=nullptr)
 Construct from entry name and optional registry.
 function1Base (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary (unused) and optional registry.
 function1Base (const function1Base &rhs)
 Copy construct.
virtual ~function1Base ()
 Destructor.
const wordname () const noexcept
 The name of the entry.
const objectRegistrywhichDb () const noexcept
 Return the associated registry or nullptr.
void resetDb (const objectRegistry *obrPtr=nullptr) noexcept
 Reset the associated objectRegistry.
void resetDb (const objectRegistry &db) noexcept
 Reset the associated objectRegistry.
const objectRegistryobr () const
 Return the object registry.
bool isTime () const noexcept
 Return true if this function was created with the time database.
const Timetime () const
 Return the time database.
template<class MeshType>
const MeshType & mesh (const word &regionName=word::null) const
 Return the mesh database if this Function1 was created using a mesh.
virtual void userTimeToTime (const Time &t)
 Convert time.
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.

Static Public Attributes

static const Enum< mappingModemappingModeNames_
 Names for the input value mapping modes.
Static Public Attributes inherited from Function1< Type >
static const ::Foam::word typeName
static int debug
static dictionaryConstructorTableTypedictionaryConstructorTablePtr_
static std::unique_ptr< dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_

Additional Inherited Members

Static Public Member Functions inherited from Function1< Type >
static const char * typeName_ ()
 Runtime type information.
static dictionaryConstructorCompatTableTypedictionaryConstructorCompatTable ()
static void dictionaryConstructorTablePtr_construct (bool load)
static dictionaryConstructorPtr dictionaryConstructorTable (const ::Foam::word &k)
template<class Derived>
static tmp< Function1< Type > > Clone (const Derived &fun)
 Clone a Function1.
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector, with fallback redirection.
static autoPtr< Function1< Type > > NewCompat (const word &entryName, std::initializer_list< std::pair< const char *, int > > compat, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Compatibility selector, with fallback redirection.
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector, without fallback redirection.
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr)
 An optional selector, with fallback redirection.
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 An optional selector, without fallback redirection.
static refPtr< Function1< Type > > New (HashPtrTable< Function1< Type > > &cache, const word &entryName, const dictionary &dict, enum keyType::option matchOpt=keyType::LITERAL, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector with external storage of Function1. This also allows wildcard matches in a dictionary.
Protected Member Functions inherited from Function1< Type >
void operator= (const Function1< Type > &)=delete
 No copy assignment.
Protected Member Functions inherited from function1Base
void operator= (const function1Base &)=delete
 No copy assignment.
Protected Attributes inherited from function1Base
const word name_
 Name of entry.
const objectRegistryobrPtr_
 Pointer to an object registry.

Detailed Description

template<class Type>
class Foam::Function1Types::InputValueMapper< Type >

Function1 wrapper that maps the input value prior to it being used by another Function1.

Example usage for limiting a polynomial:

    <entryName>
    {
        type            inputValueMapper;
        mode            minMax;

        min             0.4;
        max             1.4;

        value polynomial
        (
            (5 1)
            (-2 2)
            (-2 3)
            (1 4)
        );
    }

Here the return value will be:

  • poly(0.4) for x <= 0.4;
  • poly(1.4) for x >= 1.4; and
  • poly(x) for 0.4 < x < 1.4.

Example usage for supplying a patch mass flux for a table lookup:

    <entryName>
    {
        type            inputValueMapper;
        mode            function;

        function
        {
            type            functionObjectValue;
            functionObject  surfaceFieldValue1;
            functionObjectResult sum(outlet,phi);
        }

        value
        {
            type        table;
            file        "<system>/fanCurve.txt";
        }
    }

Where:

Property Description Required
mode Mapping mode (see below) yes
function Mapping Function1 no*
min Minimum input value no*
max Maximum input value no*
value Function of type Function1<Type> yes

Mapping modes include

  • none : the input value is simply passed to the 'value' Function1
  • function : the input value is passed through the 'function' Function1 before being passed to the 'value' Function1
  • minMax : limits the input value to 'min' and 'max' values before being passed to the 'value' Function1
Note
Replaces the LimitRange Function1 (v2106 and earlier)
Source files

Definition at line 144 of file InputValueMapper.H.

Member Enumeration Documentation

◆ mappingMode

template<class Type>
enum class mappingMode
strong

Input value mapping mode.

Enumerator
NONE 
FUNCTION1 
MINMAX 

Definition at line 155 of file InputValueMapper.H.

Constructor & Destructor Documentation

◆ InputValueMapper() [1/2]

template<class Type>
InputValueMapper ( const word & entryName,
const dictionary & dict,
const objectRegistry * obrPtr = nullptr )

Construct from entry name, dictionary and optional registry.

Definition at line 84 of file InputValueMapper.C.

References dict, and Function1< Type >::Function1().

Referenced by InputValueMapper(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InputValueMapper() [2/2]

template<class Type>
InputValueMapper ( const InputValueMapper< Type > & rhs)
explicit

Copy construct.

Definition at line 103 of file InputValueMapper.C.

References clone(), Function1< Type >::Function1(), InputValueMapper(), and Foam::rhs().

Here is the call graph for this function:

◆ ~InputValueMapper()

template<class Type>
virtual ~InputValueMapper ( )
virtualdefault

Destructor.

References os().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "inputValueMapper" )

Runtime type information.

◆ operator=()

template<class Type>
void operator= ( const InputValueMapper< Type > & )
delete

No copy assignment.

References dict, InputValueMapper(), and Foam::rhs().

Here is the call graph for this function:

◆ clone()

template<class Type>
virtual tmp< Function1< Type > > clone ( ) const
inlinevirtual

Return a clone.

Implements Function1< Type >.

Definition at line 250 of file InputValueMapper.H.

References Function1< Type >::Clone().

Referenced by InputValueMapper().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ value()

template<class Type>
Type value ( const scalar t) const
inlinevirtual

Return value for time t.

Reimplemented from Function1< Type >.

Definition at line 26 of file InputValueMapperI.H.

References Foam::abort(), Foam::clamp(), Foam::FatalError, FatalErrorInFunction, FUNCTION1, mappingModeNames_, MINMAX, and NONE.

Referenced by integrate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ integrate()

template<class Type>
Type integrate ( const scalar x1,
const scalar x2 ) const
inlinevirtual

Integrate between two (scalar) values.

Reimplemented from Function1< Type >.

Definition at line 61 of file InputValueMapperI.H.

References Foam::abort(), Foam::clamp(), Foam::FatalError, FatalErrorInFunction, FUNCTION1, mappingModeNames_, Foam::max(), Foam::min(), MINMAX, NONE, and value().

Here is the call graph for this function:

◆ writeData()

template<class Type>
void writeData ( Ostream & os) const
virtual

Write in dictionary format.

Reimplemented from Function1< Type >.

Definition at line 160 of file InputValueMapper.C.

References name, os(), Function1< Type >::writeData(), and writeEntries().

Here is the call graph for this function:

◆ writeEntries()

template<class Type>
void writeEntries ( Ostream & os) const
virtual

Write coefficient entries in dictionary format.

Reimplemented from Function1< Type >.

Definition at line 120 of file InputValueMapper.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, FUNCTION1, mappingModeNames_, MINMAX, NONE, and os().

Referenced by writeData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ typeName() [1/5]

const::Foam::word typeName ( Function1Types::InputValueMapper< scalar > ::typeName_())

◆ debug() [1/5]

◆ typeName() [2/5]

const::Foam::word typeName ( Function1Types::InputValueMapper< vector > ::typeName_())

◆ debug() [2/5]

◆ typeName() [3/5]

const::Foam::word typeName ( Function1Types::InputValueMapper< sphericalTensor > ::typeName_())

◆ debug() [3/5]

◆ typeName() [4/5]

const::Foam::word typeName ( Function1Types::InputValueMapper< symmTensor > ::typeName_())

◆ debug() [4/5]

◆ typeName() [5/5]

const::Foam::word typeName ( Function1Types::InputValueMapper< tensor > ::typeName_())

◆ debug() [5/5]

Member Data Documentation

◆ mappingModeNames_

template<class Type>
const Foam::Enum< typename Foam::Function1Types::InputValueMapper< Type >::mappingMode > mappingModeNames_
static

Names for the input value mapping modes.

Definition at line 165 of file InputValueMapper.H.

Referenced by integrate(), value(), and writeEntries().


The documentation for this class was generated from the following files: