Product< Type > Class Template Reference

Function2 which returns the product of two independent Function1-s of the two input arguments. The two function1s are specified as value1 and value2. More...

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

Public Member Functions

 TypeName ("product")
 
 Product (const word &name, const unitConversions &units, const dictionary &dict)
 Construct from name and dictionary. More...
 
 Product (const Product< Type > &se)
 Copy constructor. More...
 
virtual ~Product ()
 Destructor. More...
 
virtual Type value (const scalar x, const scalar y) const
 Return value. More...
 
virtual void write (Ostream &os, const unitConversions &units) const
 Write in dictionary format. More...
 
void operator= (const Product< Type > &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from FieldFunction2< Type, Product< Type > >
 FieldFunction2 (const word &name)
 Construct from name. More...
 
virtual tmp< Function2< Type > > clone () const
 Construct and return a clone. More...
 
virtual ~FieldFunction2 ()
 Destructor. More...
 
virtual tmp< Field< Type > > value (const scalarField &x, const scalarField &y) const
 Return value as a function of two scalar fields. More...
 
- Public Member Functions inherited from Function2< Type >
 TypeName ("Function2")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, Function2, dictionary,(const word &name, const Function2s::unitConversions &units, const dictionary &dict),(name, units, dict))
 
 declareRunTimeSelectionTable (autoPtr, Function2, Istream,(const word &name, const Function2s::unitConversions &units, Istream &is),(name, units, is))
 
 Function2 (const word &name)
 Construct from name. More...
 
 Function2 (const Function2< Type > &f2)
 Copy constructor. More...
 
virtual ~Function2 ()
 Destructor. More...
 
const wordname () const
 Return the name of the entry. More...
 
void operator= (const Function2< 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...
 
void operator= (const refCount &)=delete
 Disallow bitwise assignment. More...
 

Additional Inherited Members

- Public Types inherited from Function2< Type >
typedef Type returnType
 
- Static Public Member Functions inherited from Function2< Type >
static autoPtr< Function2< Type > > New (const word &name, const Function2s::unitConversions &units, const dictionary &dict)
 Select from dictionary. More...
 
static autoPtr< Function2< Type > > New (const word &name, const unitConversion &xUnits, const unitConversion &yUnits, const unitConversion &valueUnits, const dictionary &dict)
 Select from dictionary. More...
 
static autoPtr< Function2< Type > > New (const word &name, const Function2s::unitConversions &units, const word &Function2Type, Istream &is)
 Select from Istream. More...
 
static autoPtr< Function2< Type > > New (const word &name, const unitConversion &xUnits, const unitConversion &yUnits, const unitConversion &valueUnits, const word &Function2Type, Istream &is)
 Select from Istream. More...
 
- Protected Member Functions inherited from refCount
 refCount ()
 Construct null initialising count to 0. More...
 
 refCount (const refCount &)=delete
 Disallow copy. More...
 
- Protected Attributes inherited from Function2< Type >
const word name_
 Name of entry. More...
 

Detailed Description

template<class Type>
class Foam::Function2s::Product< Type >

Function2 which returns the product of two independent Function1-s of the two input arguments. The two function1s are specified as value1 and value2.

Example to scale a table of vectors in the first argument with a ramp in the second argument:

    <name>
    {
        type            product;
        value1<vector>  table
        (
            (0.00 (0 0 0))
            (0.25 (1 0 0))
            (0.50 (0 0 0))
        );
        value2<scalar>
        {
            type        linearRamp;
            start       1;
            duration    4;
        }
    }

Note that only one type specification (the <vector>/<scalar>/... part) is needed in general for the value entries, and no type specifications are needed if the function is scalar.

Source files

Definition at line 241 of file Product2.H.

Constructor & Destructor Documentation

◆ Product() [1/2]

Product ( const word name,
const unitConversions units,
const dictionary dict 
)

Construct from name and dictionary.

Definition at line 110 of file Product2.C.

◆ Product() [2/2]

Product ( const Product< Type > &  se)

Copy constructor.

Definition at line 123 of file Product2.C.

◆ ~Product()

~Product
virtual

Destructor.

Definition at line 133 of file Product2.C.

Member Function Documentation

◆ TypeName()

TypeName ( "product"  )

◆ value()

Type value ( const scalar  x,
const scalar  y 
) const
inlinevirtual

Return value.

Implements FieldFunction2< Type, Product< Type > >.

Definition at line 69 of file Product2I.H.

References x, and y.

◆ write()

void write ( Ostream os,
const unitConversions units 
) const
virtual

Write in dictionary format.

Implements Function2< Type >.

Definition at line 176 of file Product2.C.

References Foam::units().

Here is the call graph for this function:

◆ operator=()

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

Disallow default bitwise assignment.


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