https://mooseframework.inl.gov
Legendre.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
18 {
19 public:
20  Legendre();
21  Legendre(const std::vector<MooseEnum> & domain,
22  const std::vector<std::size_t> & order,
25 
26  // Overrides from FunctionalBasisInterface
27  virtual Real getStandardizedFunctionVolume() const override;
28  virtual bool isInPhysicalBounds(const Point & point) const override;
29 
30  // Overrides from SingleSeriesBasisInterface
31  virtual std::size_t
32  calculatedNumberOfTermsBasedOnOrder(const std::vector<std::size_t> & order) const override;
33  virtual const std::vector<Real> & getStandardizedFunctionLimits() const override;
34 
35 protected:
39  virtual void evaluateOrthonormal();
43  virtual void evaluateStandard();
47  virtual void evaluateSqrtMu();
48 
49  // Overrides from SingleSeriesBasisInterface
50  virtual void checkPhysicalBounds(const std::vector<Real> & bounds) const override;
51  virtual std::vector<Real>
52  getStandardizedLocation(const std::vector<Real> & location) const override;
53 };
virtual void evaluateSqrtMu()
Evaluates the 1/sqrt(mu) normalized form of the basis functions.
Definition: Legendre.C:259
This class provides the algorithms and properties of the Legendre polynomial series.
Definition: Legendre.h:17
virtual Real getStandardizedFunctionVolume() const override
Returns the volume within the standardized function local_limits.
Definition: Legendre.C:276
virtual std::vector< Real > getStandardizedLocation(const std::vector< Real > &location) const override
Standardize the location according to the requirements of the underlying basis, which may actually co...
Definition: Legendre.C:282
virtual void checkPhysicalBounds(const std::vector< Real > &bounds) const override
Checks the physical bounds according to the actual implementation.
Definition: Legendre.C:53
MooseEnum expansion_type
Legendre()
Definition: Legendre.C:19
virtual bool isInPhysicalBounds(const Point &point) const override
Determines if the point provided is in within the physical bounds.
Definition: Legendre.C:295
virtual std::size_t calculatedNumberOfTermsBasedOnOrder(const std::vector< std::size_t > &order) const override
Returns the number of terms in the single series given a value for the order.
Definition: Legendre.C:47
virtual void evaluateOrthonormal()
Evaluates the orthonormal form of the basis functions.
Definition: Legendre.C:61
virtual const std::vector< Real > & getStandardizedFunctionLimits() const override
Returns a vector of the lower and upper bounds of the standard functional space.
Definition: Legendre.C:267
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void evaluateStandard()
Evaluates the standard form of the basis functions.
Definition: Legendre.C:174
This class is a simple wrapper around FunctionalBasisInterface, and intended for use by any single fu...
MooseEnum generation_type