This class is a simple wrapper around FunctionalBasisInterface, and intended for use by any single functional series like Legendre, Zernike, etc... More...
#include <SingleSeriesBasisInterface.h>
Public Member Functions | |
SingleSeriesBasisInterface () | |
SingleSeriesBasisInterface (const std::vector< MooseEnum > &domains, const std::vector< std::size_t > &orders, const unsigned int number_of_terms) | |
virtual | ~SingleSeriesBasisInterface () |
SingleSeriesBasisInterface (const SingleSeriesBasisInterface &)=delete | |
SingleSeriesBasisInterface (SingleSeriesBasisInterface &&)=delete | |
void | operator= (const SingleSeriesBasisInterface &)=delete |
SingleSeriesBasisInterface & | operator= (SingleSeriesBasisInterface &&)=delete |
virtual bool | isCacheInvalid () const final |
Whether the cached values correspond to the current point. More... | |
virtual void | setLocation (const Point &point) final |
Set the location that will be used by the series to compute values. More... | |
virtual void | setOrder (const std::vector< std::size_t > &orders) final |
Set the order of the series. More... | |
virtual void | setPhysicalBounds (const std::vector< Real > &bounds) final |
Sets the bounds of the series. More... | |
virtual std::size_t | calculatedNumberOfTermsBasedOnOrder (const std::vector< std::size_t > &order) const =0 |
Returns the number of terms in the single series given a value for the order. More... | |
virtual std::vector< Real > | getStandardizedLocation (const std::vector< Real > &location) const =0 |
Standardize the location according to the requirements of the underlying basis, which may actually convert the Cartesian coordinates into a more suitable system. More... | |
std::size_t | getOrder (std::size_t domain) const |
Returns the order of the particular domain index. More... | |
Real | operator[] (std::size_t index) const |
Returns the current evaluation at the given index. More... | |
const std::vector< Real > & | getAllGeneration () |
Returns an array reference containing the value of each generation term. More... | |
const std::vector< Real > & | getAllExpansion () |
Returns an array reference containing the value of each expansion term. More... | |
std::size_t | getNumberOfTerms () const |
Returns the number of terms in the series. More... | |
Real | getGeneration () |
Gets the last term of the generation functional basis. More... | |
Real | getGenerationSeriesSum () |
Gets the sum of all terms in the generation functional basis. More... | |
Real | getExpansion () |
Gets the #_order-th term of the expansion functional basis. More... | |
Real | getExpansionSeriesSum () |
Evaluates the sum of all terms in the expansion functional basis up to #_order. More... | |
virtual const std::vector< Real > & | getStandardizedFunctionLimits () const =0 |
Returns a vector of the lower and upper bounds of the standard functional space. More... | |
virtual Real | getStandardizedFunctionVolume () const =0 |
Returns the volume within the standardized function local_limits. More... | |
bool | isGeneration () const |
Returns true if the current evaluation is generation. More... | |
bool | isExpansion () const |
Returns true if the current evaluation is expansion. More... | |
virtual bool | isInPhysicalBounds (const Point &point) const =0 |
Determines if the point provided is in within the physical bounds. More... | |
Public Attributes | |
const std::vector< MooseEnum > | _domains |
An ordered list of the x, y, and/or z domains needed by the functional basis to convert a point to a standardized location. More... | |
Static Public Attributes | |
static MooseEnum | _domain_options |
An enumeration of the domains available to each functional series. More... | |
Protected Member Functions | |
virtual void | evaluateGeneration () override |
Evaluate the generation form of the functional basis. More... | |
virtual void | evaluateExpansion () override |
Evaluate the expansion form of the functional basis. More... | |
virtual void | checkPhysicalBounds (const std::vector< Real > &bounds) const =0 |
Checks the physical bounds according to the actual implementation. More... | |
std::vector< Real > | extractLocationFromPoint (const Point &point) const |
Convert a spatial point to a location that the series will use to determine the value at which to evaluate the series. More... | |
virtual void | clearBasisEvaluation (const unsigned int &number_of_terms) |
Set all entries of the basis evaluation to zero. More... | |
Real | load (std::size_t index) const |
Helper function to load a value from #_series. More... | |
void | save (std::size_t index, Real value) |
Helper function to store a value in #_series. More... | |
Protected Attributes | |
std::vector< std::size_t > | _orders |
The order of the series. More... | |
std::vector< Real > | _physical_bounds |
The physical bounds of the series. More... | |
std::vector< Real > | _standardized_location |
The standardized location of evaluation. More... | |
std::function< void()> | _evaluateExpansionWrapper |
The expansion evaluation wrapper. More... | |
std::function< void()> | _evaluateGenerationWrapper |
The generation evaluation wrapper. More... | |
unsigned int | _number_of_terms |
The number of terms in the series. More... | |
Private Member Functions | |
virtual void | clearBasisEvaluation (const unsigned int &number_of_terms) |
Set all entries of the basis evaluation to zero. More... | |
Private Attributes | |
bool | _are_physical_bounds_specified |
Flag for if the physical bounds are specified for this series. More... | |
std::vector< Real > | _location |
The domain locations of the current evaluation. More... | |
bool | _is_cache_invalid |
indicates if the evaluated values correspond to the current location More... | |
This class is a simple wrapper around FunctionalBasisInterface, and intended for use by any single functional series like Legendre, Zernike, etc...
Definition at line 19 of file SingleSeriesBasisInterface.h.
SingleSeriesBasisInterface::SingleSeriesBasisInterface | ( | ) |
Definition at line 20 of file SingleSeriesBasisInterface.C.
SingleSeriesBasisInterface::SingleSeriesBasisInterface | ( | const std::vector< MooseEnum > & | domains, |
const std::vector< std::size_t > & | orders, | ||
const unsigned int | number_of_terms | ||
) |
Definition at line 31 of file SingleSeriesBasisInterface.C.
|
virtual |
Definition at line 138 of file SingleSeriesBasisInterface.C.
|
delete |
|
delete |
|
pure virtual |
Returns the number of terms in the single series given a value for the order.
Implemented in Zernike, and Legendre.
Referenced by setOrder().
|
protectedpure virtual |
Checks the physical bounds according to the actual implementation.
Implemented in Zernike, and Legendre.
Referenced by setPhysicalBounds().
|
private |
Set all entries of the basis evaluation to zero.
Definition at line 145 of file FunctionalBasisInterface.C.
|
protectedvirtualinherited |
Set all entries of the basis evaluation to zero.
Definition at line 145 of file FunctionalBasisInterface.C.
Referenced by FunctionalBasisInterface::getAllExpansion(), FunctionalBasisInterface::getAllGeneration(), CompositeSeriesBasisInterface::setNumberOfTerms(), and setOrder().
|
overrideprotectedvirtual |
Evaluate the expansion form of the functional basis.
Implements FunctionalBasisInterface.
Definition at line 57 of file SingleSeriesBasisInterface.C.
|
overrideprotectedvirtual |
Evaluate the generation form of the functional basis.
Implements FunctionalBasisInterface.
Definition at line 51 of file SingleSeriesBasisInterface.C.
|
protected |
Convert a spatial point to a location that the series will use to determine the value at which to evaluate the series.
Definition at line 122 of file SingleSeriesBasisInterface.C.
Referenced by Legendre::isInPhysicalBounds(), Zernike::isInPhysicalBounds(), and setLocation().
|
inherited |
Returns an array reference containing the value of each expansion term.
Definition at line 73 of file FunctionalBasisInterface.C.
Referenced by FunctionalBasisInterface::getExpansion(), and FunctionalBasisInterface::getExpansionSeriesSum().
|
inherited |
Returns an array reference containing the value of each generation term.
Definition at line 57 of file FunctionalBasisInterface.C.
Referenced by FunctionalBasisInterface::getGeneration(), and FunctionalBasisInterface::getGenerationSeriesSum().
|
inherited |
Gets the #_order-th term of the expansion functional basis.
Definition at line 114 of file FunctionalBasisInterface.C.
|
inherited |
Evaluates the sum of all terms in the expansion functional basis up to #_order.
Definition at line 121 of file FunctionalBasisInterface.C.
Referenced by TEST().
|
inherited |
Gets the last term of the generation functional basis.
Definition at line 95 of file FunctionalBasisInterface.C.
|
inherited |
Gets the sum of all terms in the generation functional basis.
Definition at line 102 of file FunctionalBasisInterface.C.
Referenced by TEST().
|
inherited |
Returns the number of terms in the series.
Definition at line 89 of file FunctionalBasisInterface.C.
Referenced by Legendre::evaluateSqrtMu(), and TEST().
std::size_t SingleSeriesBasisInterface::getOrder | ( | std::size_t | domain | ) | const |
Returns the order of the particular domain index.
Definition at line 133 of file SingleSeriesBasisInterface.C.
|
pure virtualinherited |
Returns a vector of the lower and upper bounds of the standard functional space.
Implemented in CompositeSeriesBasisInterface, Zernike, and Legendre.
|
pure virtualinherited |
Returns the volume within the standardized function local_limits.
Implemented in CompositeSeriesBasisInterface, Zernike, and Legendre.
|
pure virtual |
Standardize the location according to the requirements of the underlying basis, which may actually convert the Cartesian coordinates into a more suitable system.
The second version exists simply to return the value.
Implemented in Zernike, and Legendre.
Referenced by setLocation().
|
finalvirtual |
Whether the cached values correspond to the current point.
Implements FunctionalBasisInterface.
Definition at line 45 of file SingleSeriesBasisInterface.C.
|
inherited |
Returns true if the current evaluation is expansion.
Definition at line 51 of file FunctionalBasisInterface.C.
Referenced by FunctionalBasisInterface::getAllGeneration().
|
inherited |
Returns true if the current evaluation is generation.
Definition at line 45 of file FunctionalBasisInterface.C.
Referenced by FunctionalBasisInterface::getAllExpansion().
|
pure virtualinherited |
Determines if the point provided is in within the physical bounds.
Implemented in CompositeSeriesBasisInterface, Zernike, and Legendre.
|
protectedinherited |
Helper function to load a value from #_series.
Definition at line 133 of file FunctionalBasisInterface.C.
Referenced by Legendre::evaluateOrthonormal(), Zernike::evaluateOrthonormal(), Legendre::evaluateSqrtMu(), Zernike::evaluateSqrtMu(), Legendre::evaluateStandard(), Zernike::evaluateStandard(), and Zernike::fillOutNegativeRankAndApplyAzimuthalComponent().
|
delete |
|
delete |
|
inherited |
Returns the current evaluation at the given index.
Definition at line 39 of file FunctionalBasisInterface.C.
Helper function to store a value in #_series.
Definition at line 139 of file FunctionalBasisInterface.C.
Referenced by Legendre::evaluateOrthonormal(), Zernike::evaluateOrthonormal(), CompositeSeriesBasisInterface::evaluateSeries(), Legendre::evaluateSqrtMu(), Zernike::evaluateSqrtMu(), Legendre::evaluateStandard(), Zernike::evaluateStandard(), and Zernike::fillOutNegativeRankAndApplyAzimuthalComponent().
|
finalvirtual |
Set the location that will be used by the series to compute values.
Implements FunctionalBasisInterface.
Definition at line 102 of file SingleSeriesBasisInterface.C.
Referenced by TEST().
|
finalvirtual |
Set the order of the series.
Implements FunctionalBasisInterface.
Definition at line 63 of file SingleSeriesBasisInterface.C.
|
finalvirtual |
Sets the bounds of the series.
Implements FunctionalBasisInterface.
Definition at line 86 of file SingleSeriesBasisInterface.C.
|
private |
Flag for if the physical bounds are specified for this series.
Definition at line 95 of file SingleSeriesBasisInterface.h.
Referenced by setLocation(), and setPhysicalBounds().
|
staticinherited |
An enumeration of the domains available to each functional series.
Definition at line 114 of file FunctionalBasisInterface.h.
Referenced by FunctionSeries::FunctionSeries(), SingleSeriesBasisInterface(), and TEST().
const std::vector<MooseEnum> SingleSeriesBasisInterface::_domains |
An ordered list of the x, y, and/or z domains needed by the functional basis to convert a point to a standardized location.
Definition at line 60 of file SingleSeriesBasisInterface.h.
Referenced by extractLocationFromPoint().
|
protected |
The expansion evaluation wrapper.
Definition at line 88 of file SingleSeriesBasisInterface.h.
Referenced by evaluateExpansion(), Legendre::Legendre(), and Zernike::Zernike().
|
protected |
The generation evaluation wrapper.
Definition at line 91 of file SingleSeriesBasisInterface.h.
Referenced by evaluateGeneration(), Legendre::Legendre(), and Zernike::Zernike().
|
private |
indicates if the evaluated values correspond to the current location
Definition at line 146 of file FunctionalBasisInterface.h.
|
private |
The domain locations of the current evaluation.
This is private so that derived classes will be required to use _standardized_location, essentially forcing location-awareness compliance
Definition at line 99 of file SingleSeriesBasisInterface.h.
Referenced by setLocation().
|
protectedinherited |
The number of terms in the series.
Definition at line 143 of file FunctionalBasisInterface.h.
Referenced by FunctionalBasisInterface::getAllExpansion(), FunctionalBasisInterface::getAllGeneration(), FunctionalBasisInterface::getNumberOfTerms(), CompositeSeriesBasisInterface::setNumberOfTerms(), and setOrder().
|
protected |
The order of the series.
Definition at line 79 of file SingleSeriesBasisInterface.h.
Referenced by Legendre::evaluateOrthonormal(), Zernike::evaluateOrthonormal(), Zernike::evaluateSqrtMu(), Legendre::evaluateStandard(), Zernike::evaluateStandard(), Zernike::fillOutNegativeRankAndApplyAzimuthalComponent(), getOrder(), and setOrder().
|
protected |
The physical bounds of the series.
Definition at line 82 of file SingleSeriesBasisInterface.h.
Referenced by Legendre::getStandardizedLocation(), Zernike::getStandardizedLocation(), Legendre::isInPhysicalBounds(), and setPhysicalBounds().
|
protected |
The standardized location of evaluation.
Definition at line 85 of file SingleSeriesBasisInterface.h.
Referenced by Legendre::evaluateOrthonormal(), Zernike::evaluateOrthonormal(), Legendre::evaluateStandard(), Zernike::evaluateStandard(), Zernike::fillOutNegativeRankAndApplyAzimuthalComponent(), and setLocation().