A templated cosine function, with support for offset etc. More...
#include <Cosine.H>


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 dictionaryConstructorCompatTableType & | dictionaryConstructorCompatTable () |
| 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 dictionaryConstructorTableType * | dictionaryConstructorTablePtr_ |
| static std::unique_ptr< dictionaryConstructorCompatTableType > | dictionaryConstructorCompatTablePtr_ |
| 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 objectRegistry * | obrPtr_ |
| Pointer to an object registry. | |
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
\]](form_697.png)
Or it can be specified by the frequency
![\[ a cos(2 \pi f (t - t0)) s + l
\]](form_698.png)
where
![]() | = | Description | Units |
![]() | = | Amplitude | - |
![]() | = | Frequency | [1/s] |
![]() | = | Period | [s] |
![]() | = | Type scale factor | - |
![]() | = | Type offset level | - |
![]() | = | Time | [s] |
![]() | = | 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 |
|
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=().


|
inlineexplicit |
Copy construct.
Definition at line 235 of file Cosine.H.
References Cosine(), Foam::rhs(), and Sine< Type >::Sine().

|
virtualdefault |
Destructor.
| TypeName | ( | "cosine" | ) |
|
delete |
Return a clone.
Reimplemented from Sine< Type >.
Definition at line 243 of file Cosine.H.
References Function1< Type >::Clone().

|
inlinevirtual |
Return value for time t.
Reimplemented from Sine< Type >.
Definition at line 260 of file Cosine.H.
References Sine< Type >::cosValue().

|
inlinevirtual |
Integrate between two (scalar) values.
Reimplemented from Sine< Type >.
Definition at line 268 of file Cosine.H.
References Sine< Type >::sinValue().

| 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) | ) |