A templated square-wave function with support for offset, etc. More...
Public Member Functions | |
TypeName ("square") | |
void | operator= (const Square< Type > &)=delete |
No copy assignment. More... | |
Square (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name, dictionary and optional registry. More... | |
Square (const Square< Type > &rhs) | |
Copy construct. More... | |
virtual | ~Square ()=default |
Destructor. More... | |
virtual Type | value (const scalar t) const |
Return value for time t. More... | |
virtual void | writeData (Ostream &os) const |
Write in dictionary format. More... | |
void | writeEntries (Ostream &os) const |
Write coefficient entries in dictionary format. More... | |
![]() | |
TypeName ("sine") | |
void | operator= (const Sine< Type > &)=delete |
No copy assignment. More... | |
Sine (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name, dictionary and optional registry. More... | |
Sine (const Sine< Type > &rhs) | |
Copy construct. More... | |
virtual | ~Sine ()=default |
Destructor. More... | |
virtual void | userTimeToTime (const Time &t) |
Convert time. More... | |
void | writeEntries (Ostream &os) const |
Write coefficient entries in dictionary format. More... | |
![]() | |
TypeName ("Function1") declareRunTimeSelectionTable(autoPtr | |
Runtime type information. More... | |
Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr) | |
Construct from entry name. More... | |
Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr) | |
Function1 (const Function1< Type > &rhs) | |
Copy construct. More... | |
virtual tmp< Function1< Type > > | clone () const =0 |
Construct and return a clone. More... | |
virtual | ~Function1 ()=default |
Destructor. More... | |
virtual bool | constant () const |
Is value constant (i.e. independent of x) More... | |
virtual tmp< Field< Type > > | value (const scalarField &x) const |
Return value as a function of (scalar) independent variable. More... | |
virtual Type | integrate (const scalar x1, const scalar x2) const |
Integrate between two (scalar) values. More... | |
virtual tmp< Field< Type > > | integrate (const scalarField &x1, const scalarField &x2) const |
Integrate between two (scalar) values. More... | |
void | writeEntries (Ostream &os) const |
Write coefficient entries in dictionary format. More... | |
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) |
Selector, with fallback redirection. More... | |
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. More... | |
static autoPtr< Function1< Type > > | New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true) |
Selector, without fallback redirection. More... | |
static autoPtr< Function1< Type > > | NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr) |
An optional selector. More... | |
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) |
![]() | |
Function1 | |
dictionary | |
const word & | entryName |
const word const dictionary & | dict |
const word const dictionary const objectRegistry * | obrPtr |
const word const dictionary const objectRegistry | entryName |
const word const dictionary const objectRegistry | dict |
const word const dictionary const objectRegistry | obrPtr |
![]() | |
scalar | cycle (const scalar t) const |
The cycle: (freq * time) or (time / period) More... | |
scalar | cosForm (const scalar t) const |
Calculated cos value at time t. More... | |
scalar | sinForm (const scalar t) const |
Calculated sin value at time t. More... | |
scalar | squareForm (const scalar t, const scalar posFrac) const |
Calculated square value at time t. More... | |
Type | cosValue (const scalar t) const |
Return value for time t, using cos form. More... | |
Type | sinValue (const scalar t) const |
Return value for time t, using sin form. More... | |
Type | squareValue (const scalar t, const scalar posFrac) const |
Return value for time t, using square form. More... | |
![]() | |
void | operator= (const Function1< Type > &)=delete |
No copy assignment. More... | |
![]() | |
scalar | t0_ |
Start-time for the function. More... | |
autoPtr< Function1< scalar > > | amplitude_ |
Scalar amplitude of the function (optional) More... | |
autoPtr< Function1< scalar > > | period_ |
Period of the function (or specify frequency) More... | |
autoPtr< Function1< scalar > > | frequency_ |
Frequency of the function (or specify period) More... | |
autoPtr< Function1< Type > > | scale_ |
Scaling factor for the function. More... | |
autoPtr< Function1< Type > > | level_ |
Level to add to the scaled function. More... | |
A templated square-wave function with support for offset, etc.
The wave period can be specified directly
\[ a square((t - t0) / p)) s + l \]
Or it can be specified by the frequency
\[ a square(f (t - t0)) s + l \]
where
\( square(t) \) is the square-wave function in range \( [-1, 1] \) with a mark/space ratio of \( r \)
\( 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] |
\( r \) | = | mark/space ratio | - |
The dictionary specification would typically resemble this:
entry1 { type square; frequency 10; amplitude 0.1; // A scalar Function1 scale 2e-6; level 2e-6; } entry2 { type square; 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: square | 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 |
mark | Positive amount | scalar | no | 1 |
space | Negative amount | scalar | no | 1 |
Square | ( | const word & | entryName, |
const dictionary & | dict, | ||
const objectRegistry * | obrPtr = nullptr |
||
) |
|
virtualdefault |
Destructor.
TypeName | ( | "square" | ) |
|
inlinevirtual |
Return value for time t.
Reimplemented from Sine< Type >.
Definition at line 270 of file Square.H.
References Sine< Type >::squareValue().
|
virtual |
Write in dictionary format.
Reimplemented from Sine< Type >.
Definition at line 68 of file Square.C.
References Foam::name(), os(), and Function1< Type >::writeData().
void writeEntries | ( | Ostream & | os | ) | const |
Write coefficient entries in dictionary format.
Definition at line 59 of file Square.C.
References os(), and Sine< Type >::writeEntries().