![]() |
MFEM v4.8.0
Finite element discretization library
|
Linear spacing function, defining the width of interval i as s + i * d. More...
#include <spacing.hpp>
Public Member Functions | |
| LinearSpacingFunction (int n, bool r, real_t s, bool scale) | |
| void | SetSize (int size) override |
| Sets the size, or number of intervals (elements). | |
| void | ScaleParameters (real_t a) override |
| Scales parameters by the factor a associated with Size(). | |
| 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 | ~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. | |
Linear spacing function, defining the width of interval i as s + i * d.
The initial interval width s is prescribed as a parameter, which can be scaled, and d is computed as a function of Size(), to ensure that the widths sum to 1. This function is not nested.
Definition at line 179 of file spacing.hpp.
|
inline |
Definition at line 182 of file spacing.hpp.
|
inlineoverridevirtual |
Returns a clone (deep-copy) of this spacing function.
Reimplemented from mfem::SpacingFunction.
Definition at line 239 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the width of interval p (between 0 and Size() - 1).
Implements mfem::SpacingFunction.
Definition at line 204 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 231 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 223 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the spacing type, indicating the derived class.
Implements mfem::SpacingFunction.
Definition at line 219 of file spacing.hpp.
|
inlineoverridevirtual |
Returns true if the spacing function is nested during refinement.
Implements mfem::SpacingFunction.
Definition at line 237 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the number of double parameters defining the spacing function.
Implements mfem::SpacingFunction.
Definition at line 221 of file spacing.hpp.
|
inlineoverridevirtual |
Returns the number of integer parameters defining the spacing function.
Implements mfem::SpacingFunction.
Definition at line 220 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 212 of file spacing.hpp.
|
inlineoverridevirtual |
Scales parameters by the factor a associated with Size().
Note that parameters may be scaled inversely during coarsening and refining, so the scaling should be linear in the sense that scaling by a number followed by scaling by its inverse has no effect on parameters.
Reimplemented from mfem::SpacingFunction.
Definition at line 195 of file spacing.hpp.
|
inlineoverridevirtual |
Sets the size, or number of intervals (elements).
Implements mfem::SpacingFunction.
Definition at line 189 of file spacing.hpp.