This class is the basis for constructing a composite—or convolved—functional series by combining multiple other series together. More...
#include <CompositeSeriesBasisInterface.h>
Public Member Functions | |
CompositeSeriesBasisInterface (const std::string &who_is_using_me) | |
CompositeSeriesBasisInterface (const std::vector< std::size_t > &orders, std::vector< MooseEnum > series_types, const std::string &who_is_using_me) | |
virtual | ~CompositeSeriesBasisInterface () |
CompositeSeriesBasisInterface (const CompositeSeriesBasisInterface &)=delete | |
CompositeSeriesBasisInterface (CompositeSeriesBasisInterface &&)=delete | |
void | operator= (const CompositeSeriesBasisInterface &)=delete |
CompositeSeriesBasisInterface & | operator= (CompositeSeriesBasisInterface &&)=delete |
virtual const std::vector< Real > & | getStandardizedFunctionLimits () const final |
Returns a vector of the lower and upper bounds of the standard functional space. More... | |
virtual Real | getStandardizedFunctionVolume () const final |
Returns the volume within the standardized function local_limits. More... | |
virtual bool | isCacheInvalid () const final |
Whether the cached values correspond to the current point. More... | |
virtual bool | isInPhysicalBounds (const Point &point) const final |
Determines if the point provided is in within the physical bounds. More... | |
virtual void | setLocation (const Point &p) 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... | |
std::vector< Real > | combineStandardizedFunctionLimits () const |
Get the function limits by looping over each of the single series. More... | |
void | setNumberOfTerms () |
Initialize the number of terms in the composite series by looping over the single series. More... | |
virtual void | formatCoefficients (std::ostream &stream, const std::vector< Real > &coefficients) const |
Appends a tabulated form of the coefficients to the stream. 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... | |
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 void | setPhysicalBounds (const std::vector< Real > &bounds)=0 |
Sets the bounds of the series. 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 () final |
Evaluate the generation form of the functional basis. More... | |
virtual void | evaluateExpansion () final |
Evaluate the expansion form of the functional basis. More... | |
void | evaluateSeries (const std::vector< std::vector< Real >> &single_series_basis_evaluations) |
Evaluates the values of _basis_evaluation for either evaluateGeneration() or evaluateExpansion() 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< MooseEnum > | _series_types |
The series types in this composite series. More... | |
std::vector< std::unique_ptr< SingleSeriesBasisInterface > > | _series |
A pointer to the single series type (one for each entry in _domains) More... | |
const std::string & | _who_is_using_me |
The name of the MooseObject that is using this class. 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 | |
Point | _previous_point |
The previous point at which the series was evaluated. More... | |
bool | _is_cache_invalid |
indicates if the evaluated values correspond to the current location More... | |
This class is the basis for constructing a composite—or convolved—functional series by combining multiple other series together.
Nonseparability is currently assumed.
Definition at line 24 of file CompositeSeriesBasisInterface.h.
CompositeSeriesBasisInterface::CompositeSeriesBasisInterface | ( | const std::string & | who_is_using_me | ) |
Definition at line 19 of file CompositeSeriesBasisInterface.C.
CompositeSeriesBasisInterface::CompositeSeriesBasisInterface | ( | const std::vector< std::size_t > & | orders, |
std::vector< MooseEnum > | series_types, | ||
const std::string & | who_is_using_me | ||
) |
Definition at line 30 of file CompositeSeriesBasisInterface.C.
|
virtual |
Definition at line 301 of file CompositeSeriesBasisInterface.C.
|
delete |
|
delete |
|
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(), setNumberOfTerms(), and SingleSeriesBasisInterface::setOrder().
std::vector< Real > CompositeSeriesBasisInterface::combineStandardizedFunctionLimits | ( | ) | const |
Get the function limits by looping over each of the single series.
Definition at line 135 of file CompositeSeriesBasisInterface.C.
Referenced by getStandardizedFunctionLimits().
|
finalprotectedvirtual |
Evaluate the expansion form of the functional basis.
Implements FunctionalBasisInterface.
Definition at line 101 of file CompositeSeriesBasisInterface.C.
|
finalprotectedvirtual |
Evaluate the generation form of the functional basis.
Implements FunctionalBasisInterface.
Definition at line 44 of file CompositeSeriesBasisInterface.C.
|
protected |
Evaluates the values of _basis_evaluation for either evaluateGeneration() or evaluateExpansion()
Definition at line 59 of file CompositeSeriesBasisInterface.C.
Referenced by evaluateExpansion(), and evaluateGeneration().
|
virtual |
Appends a tabulated form of the coefficients to the stream.
Definition at line 150 of file CompositeSeriesBasisInterface.C.
|
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().
|
finalvirtual |
Returns a vector of the lower and upper bounds of the standard functional space.
Implements FunctionalBasisInterface.
Definition at line 116 of file CompositeSeriesBasisInterface.C.
|
finalvirtual |
Returns the volume within the standardized function local_limits.
Implements FunctionalBasisInterface.
Definition at line 124 of file CompositeSeriesBasisInterface.C.
|
finalvirtual |
Whether the cached values correspond to the current point.
Implements FunctionalBasisInterface.
Definition at line 220 of file CompositeSeriesBasisInterface.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().
|
finalvirtual |
Determines if the point provided is in within the physical bounds.
Implements FunctionalBasisInterface.
Definition at line 234 of file CompositeSeriesBasisInterface.C.
|
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(), 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 287 of file CompositeSeriesBasisInterface.C.
Referenced by TEST().
void CompositeSeriesBasisInterface::setNumberOfTerms | ( | ) |
Initialize the number of terms in the composite series by looping over the single series.
Definition at line 248 of file CompositeSeriesBasisInterface.C.
Referenced by Cartesian::Cartesian(), CylindricalDuo::CylindricalDuo(), and setOrder().
|
finalvirtual |
Set the order of the series.
Implements FunctionalBasisInterface.
Definition at line 266 of file CompositeSeriesBasisInterface.C.
|
pure virtualinherited |
Sets the bounds of the series.
Implemented in SingleSeriesBasisInterface, Cartesian, and CylindricalDuo.
|
staticinherited |
An enumeration of the domains available to each functional series.
Definition at line 114 of file FunctionalBasisInterface.h.
Referenced by FunctionSeries::FunctionSeries(), SingleSeriesBasisInterface::SingleSeriesBasisInterface(), and TEST().
|
private |
indicates if the evaluated values correspond to the current location
Definition at line 146 of file FunctionalBasisInterface.h.
|
protectedinherited |
The number of terms in the series.
Definition at line 143 of file FunctionalBasisInterface.h.
Referenced by FunctionalBasisInterface::getAllExpansion(), FunctionalBasisInterface::getAllGeneration(), FunctionalBasisInterface::getNumberOfTerms(), setNumberOfTerms(), and SingleSeriesBasisInterface::setOrder().
|
private |
The previous point at which the series was evaluated.
Definition at line 86 of file CompositeSeriesBasisInterface.h.
Referenced by setLocation().
|
protected |
A pointer to the single series type (one for each entry in _domains)
Definition at line 79 of file CompositeSeriesBasisInterface.h.
Referenced by Cartesian::Cartesian(), combineStandardizedFunctionLimits(), CompositeSeriesBasisInterface(), CylindricalDuo::CylindricalDuo(), evaluateExpansion(), evaluateGeneration(), evaluateSeries(), formatCoefficients(), getStandardizedFunctionVolume(), isCacheInvalid(), isInPhysicalBounds(), setLocation(), setNumberOfTerms(), setOrder(), CylindricalDuo::setPhysicalBounds(), and Cartesian::setPhysicalBounds().
|
protected |
The series types in this composite series.
Definition at line 76 of file CompositeSeriesBasisInterface.h.
Referenced by Cartesian::Cartesian(), CompositeSeriesBasisInterface(), CylindricalDuo::CylindricalDuo(), formatCoefficients(), and Cartesian::setPhysicalBounds().
|
protected |
The name of the MooseObject that is using this class.
Definition at line 82 of file CompositeSeriesBasisInterface.h.
Referenced by CompositeSeriesBasisInterface(), and setOrder().