MFEM v4.7.0
Finite element discretization library
|
Logarithmic spacing function, uniform in log base 10 by default. More...
#include <spacing.hpp>
Public Member Functions | |
LogarithmicSpacingFunction (int n, bool r, bool sym=false, real_t b=10.0) | |
void | SetSize (int size) override |
Sets the size, or number of intervals (elements). | |
real_t | Eval (int p) const override |
Returns the width of interval p (between 0 and Size() - 1). | |
void | Print (std::ostream &os) const override |
Prints all the data necessary to define the spacing function and its current state (size and other parameters). | |
SpacingType | GetSpacingType () const override |
Returns the spacing type, indicating the derived class. | |
int | NumIntParameters () const override |
Returns the number of integer parameters defining the spacing function. | |
int | NumDoubleParameters () const override |
Returns the number of double parameters defining the spacing function. | |
void | GetIntParameters (Array< int > &p) const override |
void | GetDoubleParameters (Vector &p) const override |
bool | Nested () const override |
Returns true if the spacing function is nested during refinement. | |
std::unique_ptr< SpacingFunction > | Clone () const override |
Returns a clone (deep-copy) of this spacing function. | |
Public Member Functions inherited from mfem::SpacingFunction | |
SpacingFunction (int n, bool r=false, bool s=false) | |
Base class constructor. | |
int | Size () const |
Returns the size, or number of intervals (elements). | |
void | SetReverse (bool r) |
Sets the property that determines whether the spacing is reversed. | |
void | EvalAll (Vector &s) const |
Returns the width of all intervals, resizing s to Size(). | |
virtual void | ScaleParameters (real_t a) |
Scales parameters by the factor a associated with Size(). | |
virtual | ~SpacingFunction ()=default |
Additional Inherited Members | |
Protected Attributes inherited from mfem::SpacingFunction | |
int | n |
Size, or number of intervals (elements) | |
bool | reverse |
Whether to reverse the spacing. | |
bool | scale |
Whether to scale parameters in ScaleParameters. | |
Logarithmic spacing function, uniform in log base 10 by default.
The log base can be changed as an input parameter. Decreasing it makes the distribution more uniform, whereas increasing it makes the spacing vary more. Another input option is a flag to make the distribution symmetric (default is non-symmetric). There are no scaled parameters. This function is nested.
Definition at line 535 of file spacing.hpp.
|
inline |
Definition at line 538 of file spacing.hpp.
|
inlineoverridevirtual |
Returns a clone (deep-copy) of this spacing function.
Reimplemented from mfem::SpacingFunction.
Definition at line 584 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the width of interval p (between 0 and Size() - 1).
Implements mfem::SpacingFunction.
Definition at line 550 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the array of double parameters defining the spacing function.
[out] | p | Array of double parameters, resized appropriately. |
Implements mfem::SpacingFunction.
Definition at line 576 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the array of integer parameters defining the spacing function.
[out] | p | Array of integer parameters, resized appropriately. |
Implements mfem::SpacingFunction.
Definition at line 568 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the spacing type, indicating the derived class.
Implements mfem::SpacingFunction.
Definition at line 563 of file spacing.hpp.
|
inlineoverridevirtual |
Returns true if the spacing function is nested during refinement.
Implements mfem::SpacingFunction.
Definition at line 582 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the number of double parameters defining the spacing function.
Implements mfem::SpacingFunction.
Definition at line 566 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the number of integer parameters defining the spacing function.
Implements mfem::SpacingFunction.
Definition at line 565 of file spacing.hpp.
|
inlineoverridevirtual |
Prints all the data necessary to define the spacing function and its current state (size and other parameters).
The format is generally SpacingType numIntParam numDoubleParam {int params} {double params}
Implements mfem::SpacingFunction.
Definition at line 556 of file spacing.hpp.
|
inlineoverridevirtual |
Sets the size, or number of intervals (elements).
Implements mfem::SpacingFunction.
Definition at line 544 of file spacing.hpp.