InputValueMapper< Type > Class Template Reference

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

Inheritance diagram for InputValueMapper< Type >:
[legend]
Collaboration diagram for InputValueMapper< Type >:
[legend]

Public Types

enum  mappingMode { NONE, FUNCTION1, MINMAX }
 Input value mapping mode. More...
 
- Public Types inherited from Function1< Type >
typedef Type returnType
 

Public Member Functions

 TypeName ("inputValueMapper")
 Runtime type information. More...
 
void operator= (const InputValueMapper< Type > &)=delete
 No copy assignment. More...
 
 InputValueMapper (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary and optional registry. More...
 
 InputValueMapper (const InputValueMapper< Type > &rhs)
 Copy construct. More...
 
virtual ~InputValueMapper ()=default
 Destructor. More...
 
virtual Type value (const scalar t) const
 Return value for time t. More...
 
virtual Type integrate (const scalar x1, const scalar x2) const
 Integrate between two (scalar) values. More...
 
virtual void writeData (Ostream &os) const
 Write in dictionary format. More...
 
void writeEntries (Ostream &os) const
 Write coefficient entries in dictionary format. More...
 
- Public Member Functions inherited from Function1< Type >
 TypeName ("Function1") declareRunTimeSelectionTable(autoPtr
 Runtime type information. More...
 
 Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr)
 Construct from entry name. More...
 
 Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 
 Function1 (const Function1< Type > &rhs)
 Copy construct. More...
 
virtual tmp< Function1< Type > > clone () const =0
 Construct and return a clone. More...
 
virtual ~Function1 ()=default
 Destructor. More...
 
virtual bool constant () const
 Is value constant (i.e. independent of x) More...
 
virtual tmp< Field< Type > > value (const scalarField &x) const
 Return value as a function of (scalar) independent variable. More...
 
virtual tmp< Field< Type > > integrate (const scalarField &x1, const scalarField &x2) const
 Integrate between two (scalar) values. More...
 
void writeEntries (Ostream &os) const
 Write coefficient entries in dictionary format. More...
 

Static Public Attributes

static const Enum< mappingModemappingModeNames_
 Names for the input value mapping modes. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Function1< Type >
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. More...
 
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. More...
 
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 Selector, without fallback redirection. More...
 
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr)
 An optional selector. More...
 
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)
 
- Public Attributes inherited from Function1< Type >
 Function1
 
 dictionary
 
const wordentryName
 
const word const dictionarydict
 
const word const dictionary const objectRegistryobrPtr
 
const word const dictionary const objectRegistry entryName
 
const word const dictionary const objectRegistry dict
 
const word const dictionary const objectRegistry obrPtr
 
- Protected Member Functions inherited from Function1< Type >
void operator= (const Function1< Type > &)=delete
 No copy assignment. More...
 

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 148 of file InputValueMapper.H.

Member Enumeration Documentation

◆ mappingMode

enum mappingMode
strong

Input value mapping mode.

Enumerator
NONE 
FUNCTION1 
MINMAX 

Definition at line 157 of file InputValueMapper.H.

Constructor & Destructor Documentation

◆ InputValueMapper() [1/2]

InputValueMapper ( const word entryName,
const dictionary dict,
const objectRegistry obrPtr = nullptr 
)

Construct from entry name, dictionary and optional registry.

Definition at line 92 of file InputValueMapper.C.

References dict, and Foam::blockMeshTools::read().

Here is the call graph for this function:

◆ InputValueMapper() [2/2]

InputValueMapper ( const InputValueMapper< Type > &  rhs)
explicit

Copy construct.

Definition at line 111 of file InputValueMapper.C.

◆ ~InputValueMapper()

virtual ~InputValueMapper ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "inputValueMapper"  )

Runtime type information.

◆ operator=()

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

No copy assignment.

◆ value()

Type value ( const scalar  t) const
inlinevirtual

Return value for time t.

Reimplemented from Function1< Type >.

Definition at line 34 of file InputValueMapperI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::max(), and Foam::min().

Here is the call graph for this function:

◆ integrate()

Type integrate ( const scalar  x1,
const scalar  x2 
) const
inlinevirtual

Integrate between two (scalar) values.

Reimplemented from Function1< Type >.

Definition at line 69 of file InputValueMapperI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::max(), and Foam::min().

Here is the call graph for this function:

◆ writeData()

void writeData ( Ostream os) const
virtual

Write in dictionary format.

Reimplemented from Function1< Type >.

Definition at line 167 of file InputValueMapper.C.

References Foam::name(), os(), and writeData().

Here is the call graph for this function:

◆ writeEntries()

void writeEntries ( Ostream os) const

Write coefficient entries in dictionary format.

Definition at line 128 of file InputValueMapper.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and os().

Here is the call graph for this function:

Member Data Documentation

◆ mappingModeNames_

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.


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