All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Scale< Type > Class Template Reference

Function1 which scales a given 'value' function by a 'scale' scalar function and scales the 'x' argument of the 'value' and 'scale' functions by the optional 'xScale' scalar function. More...

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

Public Member Functions

 TypeName ("scale")
 
 Scale (const word &name, const Function1< scalar > &scale, const Function1< scalar > &xScale, const Function1< Type > &value)
 Construct from name and functions. More...
 
 Scale (const word &name, const dictionary &dict)
 Construct from name and dictionary. More...
 
 Scale (const Scale< Type > &se)
 Copy constructor. More...
 
virtual ~Scale ()
 Destructor. More...
 
virtual Type value (const scalar x) const
 Return value. More...
 
virtual Type integral (const scalar x1, const scalar x2) const
 Integrate between two values. More...
 
virtual void write (Ostream &os) const
 Write data to dictionary stream. More...
 
void operator= (const Scale< Type > &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from FieldFunction1< Type, Scale< Type > >
 FieldFunction1 (const word &name)
 Construct from name. More...
 
virtual tmp< Function1< Type > > clone () const
 Construct and return a clone. More...
 
virtual ~FieldFunction1 ()
 Destructor. More...
 
virtual tmp< Field< Type > > value (const scalarField &x) const
 Return value as a function of one scalar field. More...
 
virtual tmp< Field< Type > > integral (const scalarField &x1, const scalarField &x2) const
 Integrate between two scalar fields. More...
 
- Public Member Functions inherited from Function1< Type >
 TypeName ("Function1") declareRunTimeSelectionTable(autoPtr
 Runtime type information. More...
 
 Function1 (const word &name)
 Construct from name. More...
 
 Function1 (const Function1< Type > &f1)
 Copy constructor. More...
 
virtual ~Function1 ()
 Destructor. More...
 
const wordname () const
 Return the name of the entry. More...
 
void operator= (const Function1< Type > &)
 Assignment. More...
 
- Public Member Functions inherited from refCount
int count () const
 Return the current reference count. More...
 
bool unique () const
 Return true if the reference count is zero. More...
 
void operator++ ()
 Increment the reference count. More...
 
void operator++ (int)
 Increment the reference count. More...
 
void operator-- ()
 Decrement the reference count. More...
 
void operator-- (int)
 Decrement the reference count. More...
 

Additional Inherited Members

- Public Types inherited from Function1< Type >
typedef Type returnType
 
- Static Public Member Functions inherited from Function1< Type >
static autoPtr< Function1< Type > > New (const word &name, const dictionary &dict)
 Selector. More...
 
- Public Attributes inherited from Function1< Type >
 Function1
 
 dictionary
 
const wordname
 
const word const dictionarydict
 
const word const dictionary name
 
const word const dictionary dict
 
- Protected Member Functions inherited from refCount
 refCount ()
 Construct null initialising count to 0. More...
 
- Protected Attributes inherited from Function1< Type >
const word name_
 Name of entry. More...
 

Detailed Description

template<class Type>
class Foam::Function1s::Scale< Type >

Function1 which scales a given 'value' function by a 'scale' scalar function and scales the 'x' argument of the 'value' and 'scale' functions by the optional 'xScale' scalar function.

This is particularly useful to ramp a time-varying value by one of the monotonic ramp functions.

Usage for a vector:

    <name>
    {
        type      scale;

        scale
        {
            type        linearRamp;

            start       0;
            duration    10;
        }

        value
        {
            type        sine;

            frequency   10;
            amplitude   1;
            scale       (1 0.1 0);
            level       (10 1 0);
        }
    }

Simplified usage to scale by a constant factor, e.g. 2:

    <name>
    {
        type      scale;

        scale     2;

        value
        {
            type        sine;

            frequency   10;
            amplitude   1;
            scale       (1 0.1 0);
            level       (10 1 0);
        }
    }

Usage including the optional 'xScale' function:

    <name>
    {
        type      scale;

        xScale    0.5;
        scale     2;

        value
        {
            type        sine;

            frequency   10;
            amplitude   1;
            scale       (1 0.1 0);
            level       (10 1 0);
        }
    }

Where:

Property Description Required
value Function of type Function1<Type> yes
scale Scaling function of type Function1<scalar> yes
xScale 'x' scaling function of type Function1<scalar> no
See also
Foam::Function1s::ramp Foam::Function1s::reverseRamp
Source files

Definition at line 151 of file Scale.H.

Constructor & Destructor Documentation

◆ Scale() [1/3]

Scale ( const word name,
const Function1< scalar > &  scale,
const Function1< scalar > &  xScale,
const Function1< Type > &  value 
)

Construct from name and functions.

Definition at line 54 of file Scale.C.

◆ Scale() [2/3]

Scale ( const word name,
const dictionary dict 
)

Construct from name and dictionary.

Definition at line 80 of file Scale.C.

References Foam::blockMeshTools::read().

Here is the call graph for this function:

◆ Scale() [3/3]

Scale ( const Scale< Type > &  se)

Copy constructor.

Definition at line 92 of file Scale.C.

◆ ~Scale()

~Scale ( )
virtual

Destructor.

Definition at line 106 of file Scale.C.

Member Function Documentation

◆ TypeName()

TypeName ( "scale"  )

◆ value()

Type value ( const scalar  x) const
inlinevirtual

Return value.

Implements FieldFunction1< Type, Scale< Type > >.

Definition at line 31 of file ScaleI.H.

References Scale< Type >::integral(), and x.

Here is the call graph for this function:

◆ integral()

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

Integrate between two values.

Implements FieldFunction1< Type, Scale< Type > >.

Definition at line 40 of file ScaleI.H.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::type(), and Foam::Zero.

Referenced by Scale< Type >::value().

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

◆ write()

void write ( Ostream os) const
virtual

Write data to dictionary stream.

Implements Function1< Type >.

Definition at line 113 of file Scale.C.

References Foam::writeEntry().

Here is the call graph for this function:

◆ operator=()

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

Disallow default bitwise assignment.


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