|
IFEM
90A354
|
Implementation of basis function cache. More...
#include <ASMs2D.h>


Public Member Functions | |
| BasisFunctionCache (const ASMs2D &pch) | |
| The constructor initializes the class. More... | |
| BasisFunctionCache (const BasisFunctionCache &cache, int b) | |
| Constructor reusing quadrature info from another instance. More... | |
| virtual | ~BasisFunctionCache ()=default |
| Empty destructor. | |
| const std::array< size_t, 2 > & | noElms () const |
| Returns number of elements in each direction. | |
Public Member Functions inherited from BasisFunctionCache< 2 > | |
| BasisFunctionCache () | |
| Default constructor. | |
| BasisFunctionCache (const BasisFunctionCache &rhs) | |
| Copy-constructor. | |
| void | clear () |
| Clears the basis function cache. | |
| bool | init (int nd) |
| Initialize the basis function cache according to policy. More... | |
| const BasisFunctionVals & | getVals (size_t el, size_t gp, bool reduced=false) |
| Obtain basis function values/derivatives in an integration point. More... | |
| void | setIntegrand (const Integrand *itg) |
| Defines the integrand to be used. More... | |
| const std::array< int, Dim > & | nGauss (bool reduced=false) |
| Returns number of integration points. More... | |
| const std::array< const double *, Dim > & | weight (bool reduced=false) const |
| Return integration scheme weights. More... | |
| const std::array< const double *, Dim > & | coord (bool reduced=false) const |
| Return integration scheme nodes. More... | |
| bool | hasReduced () const |
| Returns whether or not a reduced quadrature is enabled. | |
| virtual double | getParam (int dir, size_t el, size_t gp, bool reduced=false) const |
| Obtain a single integration point parameter. More... | |
| void | resizeThreadBuffers () |
| Called if application changes number of threads. | |
Protected Member Functions | |
| bool | internalInit () override |
| Implementation specific initialization. | |
| BasisFunctionVals | calculatePt (size_t el, size_t gp, bool reduced) const override |
| Calculates basis function info in a single integration point. More... | |
| void | calculateAll () override |
| Calculates basis function info in all integration points. | |
| size_t | index (size_t el, size_t gp, bool reduced) const override |
| Obtain global integration point index. More... | |
| virtual void | setupParameters () |
| Setup integration point parameters. | |
| bool | setupQuadrature () |
| Configure quadratures. | |
Protected Member Functions inherited from BasisFunctionCache< 2 > | |
| std::array< size_t, Dim > | gpIndex (size_t gp, bool reduced) const |
| Obtain structured integration point indices. More... | |
Protected Attributes | |
| const ASMs2D & | patch |
| Reference to patch cache is for. | |
| std::array< size_t, 2 > | nel {} |
| Number of elements in each direction. | |
Protected Attributes inherited from BasisFunctionCache< 2 > | |
| std::vector< BasisFunctionVals > | values |
| Cache for main quadrature. | |
| std::vector< BasisFunctionVals > | valuesRed |
| Cache for reduced quadrature. | |
| const Integrand * | integrand |
| Integrand to use. | |
| int | nderiv |
| Number of derivatives. | |
| std::shared_ptr< Quadrature > | mainQ |
| Main quadrature information. | |
| std::shared_ptr< Quadrature > | reducedQ |
| Reduced quadrature information. | |
| size_t | nTotal |
| Total number of main integration points. | |
| size_t | nTotalRed |
| Total number of reduced integration points. | |
Private Member Functions | |
| std::array< size_t, 2 > | elmIndex (size_t el) const |
| Obtain structured element indices. More... | |
Additional Inherited Members | |
Public Attributes inherited from BasisFunctionCache< 2 > | |
| int | basis |
| Basis to use. | |
Implementation of basis function cache.
| ASMs2D::BasisFunctionCache::BasisFunctionCache | ( | const ASMs2D & | pch | ) |
The constructor initializes the class.
| pch | Patch the cache is for |
References nel, patch, and ASMs2D::surf.
| ASMs2D::BasisFunctionCache::BasisFunctionCache | ( | const BasisFunctionCache & | cache, |
| int | b | ||
| ) |
Constructor reusing quadrature info from another instance.
| cache | Instance holding quadrature information |
| b | Basis to use |
References BasisFunctionCache< 2 >::basis.
|
overrideprotectedvirtual |
Calculates basis function info in a single integration point.
| el | Element of integration point (0-indexed) |
| gp | Integration point on element (0-indexed) |
| reduced | If true, returns values for reduced integration scheme |
Implements BasisFunctionCache< 2 >.
Reimplemented in ASMs2DmxLag::BasisFunctionCache, and ASMs2DLag::BasisFunctionCache.
References BasisFunctionVals::d2Ndu2, BasisFunctionVals::d3Ndu3, BasisFunctionVals::dNdu, SplineUtils::extractBasis(), BasisFunctionVals::N, and PROFILE2.
|
private |
|
overrideprotectedvirtual |
Obtain global integration point index.
| el | Element of integration point (0-indexed) |
| gp | Integration point on element (0-indexed) |
| reduced | True to return index for reduced quadrature |
Reimplemented from BasisFunctionCache< 2 >.
Reimplemented in ASMs2DLag::BasisFunctionCache.
References ASMbase::nel.