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

A templated cosine function, with support for offset etc. More...

#include <Cosine.H>

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

Public Member Functions

 TypeName ("cosine")
void operator= (const Cosine< Type > &)=delete
 No copy assignment.
 Cosine (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary and optional registry.
 Cosine (const Cosine< Type > &rhs)
 Copy construct.
virtual tmp< Function1< Type > > clone () const
 Return a clone.
virtual ~Cosine ()=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.
const::Foam::word typeName (Function1Types::Cosine< scalar >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Cosine< scalar >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Cosine< vector >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Cosine< vector >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Cosine< sphericalTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Cosine< sphericalTensor >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Cosine< symmTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Cosine< symmTensor >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Cosine< tensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Cosine< tensor >::typeName_(), 0))
Public Member Functions inherited from Sine< Type >
 TypeName ("sine")
void operator= (const Sine< Type > &)=delete
 No copy assignment.
 Sine (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 Construct from entry name, dictionary and optional registry.
 Sine (const Sine< Type > &rhs)
 Copy construct.
virtual ~Sine ()=default
 Destructor.
virtual void userTimeToTime (const Time &t)
 Convert time.
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::Sine< scalar >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Sine< scalar >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Sine< vector >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Sine< vector >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Sine< sphericalTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Sine< sphericalTensor >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Sine< symmTensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Sine< symmTensor >::typeName_(), 0))
const::Foam::word typeName (Function1Types::Sine< tensor >::typeName_())
int debug (::Foam::debug::debugSwitch(Function1Types::Sine< 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.
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.

Additional Inherited Members

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
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.
Static Public Attributes inherited from Function1< Type >
static const ::Foam::word typeName
static int debug
static dictionaryConstructorTableTypedictionaryConstructorTablePtr_
static std::unique_ptr< dictionaryConstructorCompatTableTypedictionaryConstructorCompatTablePtr_
Protected Member Functions inherited from Sine< Type >
scalar cycle (const scalar t) const
 The cycle: (freq * time) or (time / period).
scalar cosForm (const scalar t) const
 Calculated cos value at time t.
scalar sinForm (const scalar t) const
 Calculated sin value at time t.
scalar squareForm (const scalar t, const scalar posFrac) const
 Calculated square value at time t.
Type cosValue (const scalar t) const
 Return value for time t, using cos form.
Type sinValue (const scalar t) const
 Return value for time t, using sin form.
Type squareValue (const scalar t, const scalar posFrac) const
 Return value for time t, using square form.
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 Sine< Type >
scalar t0_
 Start-time for the function.
autoPtr< Function1< scalar > > amplitude_
 Scalar amplitude of the function (optional).
autoPtr< Function1< scalar > > period_
 Period of the function (or specify frequency).
autoPtr< Function1< scalar > > frequency_
 Frequency of the function (or specify period).
autoPtr< Function1< Type > > scale_
 Scaling factor for the function.
autoPtr< Function1< Type > > level_
 Level to add to the scaled function.
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::Cosine< Type >

A templated cosine function, with support for offset etc.

The wave period can be specified directly

\‍[        a cos(2 \pi (t - t0) / p)) s + l
\‍]

Or it can be specified by the frequency

\‍[        a cos(2 \pi f (t - t0)) s + l
\‍]

where

$        Symbol  $=Description Units
$        a       $=Amplitude -
$        f       $=Frequency [1/s]
$        p       $=Period [s]
$        s       $=Type scale factor -
$        l       $=Type offset level -
$        t       $=Time [s]
$        t0      $=Start time offset [s]

The dictionary specification would typically resemble this:

    entry1
    {
        type        cosine;
        frequency   10;
        amplitude   0.1;

        // A scalar Function1
        scale       2e-6;
        level       2e-6;
    }
    entry2
    {
        type        cosine;
        frequency   10;

        // A vector Function1
        scale       (1 0.1 0);
        level       (10 1 0);
    }

where the entries mean:

Property Description Type Reqd Default
type Function type: cosine word yes
amplitude Amplitude Function1<scalar> no 1
frequency Frequency [1/s] Function1<scalar> or period
period Period [s] Function1<scalar> or frequency
scale Scale factor (Type) Function1<Type> yes
level Offset level (Type) Function1<Type> yes
t0 Start time offset scalar no 0
Note
For slow oscillations it can be more intuitive to specify the period.
Source files

Definition at line 199 of file Cosine.H.

Constructor & Destructor Documentation

◆ Cosine() [1/2]

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

Construct from entry name, dictionary and optional registry.

Definition at line 222 of file Cosine.H.

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

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

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

◆ Cosine() [2/2]

template<class Type>
Cosine ( const Cosine< Type > & rhs)
inlineexplicit

Copy construct.

Definition at line 235 of file Cosine.H.

References Cosine(), Foam::rhs(), and Sine< Type >::Sine().

Here is the call graph for this function:

◆ ~Cosine()

template<class Type>
virtual ~Cosine ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "cosine" )

◆ operator=()

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

No copy assignment.

References Cosine().

Here is the call graph for this function:

◆ clone()

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

Return a clone.

Reimplemented from Sine< Type >.

Definition at line 243 of file Cosine.H.

References Function1< Type >::Clone().

Here is the call graph for this function:

◆ value()

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

Return value for time t.

Reimplemented from Sine< Type >.

Definition at line 260 of file Cosine.H.

References Sine< Type >::cosValue().

Here is the call graph for this function:

◆ integrate()

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

Integrate between two (scalar) values.

Reimplemented from Sine< Type >.

Definition at line 268 of file Cosine.H.

References Sine< Type >::sinValue().

Here is the call graph for this function:

◆ typeName() [1/5]

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

◆ debug() [1/5]

◆ typeName() [2/5]

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

◆ debug() [2/5]

◆ typeName() [3/5]

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

◆ debug() [3/5]

◆ typeName() [4/5]

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

◆ debug() [4/5]

◆ typeName() [5/5]

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

◆ debug() [5/5]


The documentation for this class was generated from the following file:
  • src/OpenFOAM/primitives/functions/Function1/Cosine/Cosine.H