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


Classes | |
| struct | BezierExtract |
| Struct holding bezier extraction matrices. More... | |
Public Member Functions | |
| BasisFunctionCache (const ASMu3D &pch, bool useBezier=true) | |
| 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. | |
Public Member Functions inherited from BasisFunctionCache< 3 > | |
| 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... | |
| BasisFunctionVals | calculatePrm (FiniteElement &fe, const std::array< double, 3 > &du, size_t el, size_t gp, bool reduced) const |
| Calculates basis function info in a single integration point. More... | |
| void | calculateAll () override |
| Calculates basis function info in all integration points. | |
Protected Member Functions inherited from BasisFunctionCache< 3 > | |
| virtual size_t | index (size_t el, size_t gp, bool reduced) const |
| Obtain global integration point index. More... | |
| std::array< size_t, Dim > | gpIndex (size_t gp, bool reduced) const |
| Obtain structured integration point indices. More... | |
Protected Attributes | |
| bool | bezierEnabled |
| True to enable Bezier extraction. | |
| BezierExtract | mainB |
| Bezier extraction for main basis. | |
| BezierExtract | reducedB |
| Bezier extraction for reduced basis. | |
| const ASMu3D & | patch |
| Reference to patch cache is for. | |
Protected Attributes inherited from BasisFunctionCache< 3 > | |
| 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 | |
| bool | setupQuadrature () |
| Configure quadratures. | |
Additional Inherited Members | |
Public Attributes inherited from BasisFunctionCache< 3 > | |
| int | basis |
| Basis to use. | |
Implementation of basis function cache.
| ASMu3D::BasisFunctionCache::BasisFunctionCache | ( | const ASMu3D & | pch, |
| bool | useBezier = true |
||
| ) |
The constructor initializes the class.
| pch | Patch the cache is for |
| useBezier | True to use bezier extraction |
| ASMu3D::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< 3 >::basis.
|
protected |
Calculates basis function info in a single integration point.
| fe | Finite element information in integration point |
| el | Element of integration point (0-indexed) |
| du | Element size in parameter space |
| gp | Integration point on element (0-indexed) |
| reduced | If true, returns values for reduced integration scheme |
References BasisFunctionVals::d2Ndu2, BasisFunctionVals::dNdu, ASMu3D::BasisFunctionCache::BezierExtract::dNdu, ASMu3D::BasisFunctionCache::BezierExtract::dNdv, ASMu3D::BasisFunctionCache::BezierExtract::dNdw, utl::matrix< T >::fill(), utl::matrix< T >::fillColumn(), utl::matrix< T >::getColumn(), BasisFunctionVals::N, ASMu3D::BasisFunctionCache::BezierExtract::N, utl::matrix< T >::resize(), utl::matrix< T >::rows(), ItgPoint::u, ItgPoint::v, and ItgPoint::w.
|
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< 3 >.
References PROFILE2, ItgPoint::u, ItgPoint::v, and ItgPoint::w.