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


Public Member Functions | |
| BasisFunctionCache (const ASMs3D &pch) | |
| The constructor initializes the class. | |
| BasisFunctionCache (const BasisFunctionCache &cache, int b) | |
| Constructor reusing quadrature info from another instance. | |
| const std::array< size_t, 3 > & | noElms () const |
| Returns number of elements in each direction. | |
Public Member Functions inherited from BasisFunctionCache< 3 > | |
| BasisFunctionCache () | |
| Default constructor. | |
| BasisFunctionCache (const BasisFunctionCache &rhs) | |
| Copy-constructor. | |
| virtual | ~BasisFunctionCache ()=default |
| Empty destructor. | |
| void | clear () |
| Clears the basis function cache. | |
| bool | init (int nd) |
| Initialize the basis function cache according to policy. | |
| const BasisFunctionVals & | getVals (size_t el, size_t gp, bool reduced=false) |
| Obtain basis function values/derivatives in an integration point. | |
| void | setIntegrand (const Integrand *itg) |
| Defines the integrand to be used. | |
| const std::array< int, Dim > & | nGauss (bool reduced=false) |
| Returns number of integration points. | |
| const std::array< const double *, Dim > & | weight (bool reduced=false) const |
| Return integration scheme weights. | |
| const std::array< const double *, Dim > & | coord (bool reduced=false) const |
| Return integration scheme nodes. | |
| 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. | |
| 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. | |
| void | calculateAll () override |
| Calculates basis function info in all integration points. | |
| size_t | index (size_t el, size_t gp, bool reduced) const override |
| Returns global integration point index. | |
| virtual void | setupParameters () |
| Sets up integration point parameters. | |
| bool | setupQuadrature () |
| Configures the quadratures. | |
Protected Member Functions inherited from BasisFunctionCache< 3 > | |
| std::array< size_t, Dim > | gpIndex (size_t gp, bool reduced) const |
| Obtain structured integration point indices. | |
Protected Attributes | |
| const ASMs3D & | patch |
| Reference to patch cache is for. | |
| std::array< size_t, 3 > | nel {} |
| Number of elements in each direction. | |
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 | |
| std::array< size_t, 3 > | elmIndex (size_t el) const |
| Returns structured element indices for an element. | |
Additional Inherited Members | |
Public Attributes inherited from BasisFunctionCache< 3 > | |
| int | basis |
| Basis to use. | |
Implementation of basis function cache.
| ASMs3D::BasisFunctionCache::BasisFunctionCache | ( | const ASMs3D & | pch | ) |
The constructor initializes the class.
| [in] | pch | Patch the cache is for |
References nel, patch, and ASMs3D::svol.
| ASMs3D::BasisFunctionCache::BasisFunctionCache | ( | const BasisFunctionCache & | cache, |
| int | b | ||
| ) |
Constructor reusing quadrature info from another instance.
| [in] | cache | Instance holding quadrature information |
| [in] | b | Basis to use |
References BasisFunctionCache< 3 >::basis.
|
overrideprotectedvirtual |
Calculates basis function info in all integration points.
Implements BasisFunctionCache< 3 >.
Reimplemented in ASMs3DLag::BasisFunctionCache, and ASMs3DmxLag::BasisFunctionCache.
References SplineUtils::extractBasis(), ASMbase::idx, and PROFILE2.
|
overrideprotectedvirtual |
Calculates basis function info in a single integration point.
| [in] | el | Element of integration point (0-indexed) |
| [in] | gp | Integration point on element (0-indexed) |
| [in] | reduced | If true, calculate for reduced integration scheme |
Implements BasisFunctionCache< 3 >.
Reimplemented in ASMs3DLag::BasisFunctionCache, and ASMs3DmxLag::BasisFunctionCache.
References BasisFunctionVals::d2Ndu2, BasisFunctionVals::dNdu, SplineUtils::extractBasis(), BasisFunctionVals::N, and PROFILE2.
|
private |
Returns structured element indices for an element.
| [in] | el | Global index of element to get structured indices for |
References ASMbase::nel.
|
overrideprotectedvirtual |
Returns global integration point index.
| [in] | el | Element of integration point (0-indexed) |
| [in] | gp | Integration point on element (0-indexed) |
| [in] | reduced | If true, return index for reduced quadrature |
Reimplemented from BasisFunctionCache< 3 >.
Reimplemented in ASMs3DLag::BasisFunctionCache.
References ASMbase::nel.
|
overrideprotectedvirtual |
Implementation specific initialization.
Implements BasisFunctionCache< 3 >.
Reimplemented in ASMs3DLag::BasisFunctionCache.
|
protectedvirtual |
Sets up integration point parameters.
Reimplemented in ASMs3DLag::BasisFunctionCache.