A templated sine function, with support for offset etc. More...
Public Member Functions | |
TypeName ("sine") | |
void | operator= (const Sine< Type > &)=delete |
Sine (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Sine (const Sine< Type > &rhs) | |
virtual | ~Sine ()=default |
virtual void | userTimeToTime (const Time &t) |
virtual Type | value (const scalar t) const |
virtual void | writeData (Ostream &os) const |
void | writeEntries (Ostream &os) const |
![]() | |
Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr) | |
Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Function1 (const Function1< Type > &rhs) | |
TypeName ("Function1") declareRunTimeSelectionTable(autoPtr | |
virtual tmp< Function1< Type > > | clone () const=0 |
virtual | ~Function1 ()=default |
virtual bool | constant () const |
virtual tmp< Field< Type > > | value (const scalarField &x) const |
virtual Type | integrate (const scalar x1, const scalar x2) const |
virtual tmp< Field< Type > > | integrate (const scalarField &x1, const scalarField &x2) const |
void | writeEntries (Ostream &os) const |
Protected Member Functions | |
scalar | cycle (const scalar t) const |
scalar | cosForm (const scalar t) const |
scalar | sinForm (const scalar t) const |
scalar | squareForm (const scalar t, const scalar posFrac) const |
Type | cosValue (const scalar t) const |
Type | sinValue (const scalar t) const |
Type | squareValue (const scalar t, const scalar posFrac) const |
![]() | |
void | operator= (const Function1< Type > &)=delete |
Protected Attributes | |
scalar | t0_ |
autoPtr< Function1< scalar > > | amplitude_ |
autoPtr< Function1< scalar > > | period_ |
autoPtr< Function1< scalar > > | frequency_ |
autoPtr< Function1< Type > > | scale_ |
autoPtr< Function1< Type > > | level_ |
Additional Inherited Members | |
![]() | |
typedef Type | returnType |
![]() | |
static autoPtr< Function1< Type > > | New (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
static autoPtr< Function1< Type > > | New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
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) |
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) |
static autoPtr< Function1< Type > > | NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr) |
![]() | |
Function1 | |
dictionary | |
const word & | entryName |
const word const dictionary const objectRegistry | entryName |
const word const dictionary & | dict |
const word const dictionary const objectRegistry | dict |
const word const dictionary const objectRegistry * | obrPtr |
const word const dictionary const objectRegistry | obrPtr |
A templated sine function, with support for offset etc.
The wave period can be specified directly
Or it can be specified by the frequency
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 sine; frequency 10; amplitude 0.1; // A scalar Function1 scale 2e-6; level 2e-6; } entry2 { type sine; 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: sine | 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 |
Sine | ( | const word & | entryName, |
const dictionary & | dict, | ||
const objectRegistry * | obrPtr = nullptr |
||
) |
Definition at line 28 of file Sine.C.
References dict, and Foam::New().
|
virtualdefault |
|
inlineprotected |
Definition at line 44 of file SineI.H.
References Foam::cos(), and Foam::constant::mathematical::twoPi().
|
inlineprotected |
Definition at line 56 of file SineI.H.
References Foam::sin(), and Foam::constant::mathematical::twoPi().
|
inlineprotected |
|
inlineprotected |
Definition at line 86 of file SineI.H.
Referenced by Cosine< Type >::value().
|
inlineprotected |
Definition at line 96 of file SineI.H.
Referenced by Sine< Type >::value().
|
inlineprotected |
Definition at line 107 of file SineI.H.
Referenced by Square< Type >::value().
TypeName | ( | "sine" | ) |
|
virtual |
Definition at line 71 of file Sine.C.
References TimeState::userTimeToTime().
|
inlinevirtual |
Reimplemented from Function1< Type >.
Reimplemented in Square< Type >, and Cosine< Type >.
Definition at line 289 of file Sine.H.
References Sine< Type >::sinValue().
|
virtual |
Reimplemented from Function1< Type >.
Reimplemented in Square< Type >.
Definition at line 99 of file Sine.C.
References Foam::name(), os(), and Function1::writeData().
void writeEntries | ( | Ostream & | os | ) | const |
Definition at line 78 of file Sine.C.
References os().
Referenced by Square< Type >::writeEntries().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.