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


Public Member Functions | |
| BasisFunctionCache (const ASMs3DLag &pch) | |
| The constructor initializes the class. More... | |
| BasisFunctionCache (const ASMs3D::BasisFunctionCache &cache, int b) | |
| Constructor reusing quadrature info from another instance. More... | |
| virtual | ~BasisFunctionCache ()=default |
| Empty destructor. | |
| double | getParam (int dir, size_t el, size_t gp, bool reduced=false) const override |
| Obtain a single integration point parameter. More... | |
Public Member Functions inherited from ASMs3D::BasisFunctionCache | |
| BasisFunctionCache (const ASMs3D &pch) | |
| The constructor initializes the class. More... | |
| BasisFunctionCache (const BasisFunctionCache &cache, int b) | |
| Constructor reusing quadrature info from another instance. More... | |
| 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. | |
| 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. | |
| void | resizeThreadBuffers () |
| Called if application changes number of threads. | |
Protected Member Functions | |
| bool | internalInit () override |
| Implementation specific initialization. | |
| size_t | index (size_t, size_t gp, bool) const override |
| Obtain global integration point index. More... | |
| BasisFunctionVals | calculatePt (size_t, size_t gp, bool red) const override |
| Calculates basis function info in a single integration point. More... | |
| void | calculateAll () override |
| Calculates basis function info in all integration points. | |
| void | setupParameters () override |
| Configure quadrature points. | |
Protected Member Functions inherited from ASMs3D::BasisFunctionCache | |
| bool | setupQuadrature () |
| Configure 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. More... | |
Additional Inherited Members | |
Public Attributes inherited from BasisFunctionCache< 3 > | |
| int | basis |
| Basis to use. | |
Protected Attributes inherited from ASMs3D::BasisFunctionCache | |
| 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. | |
Implementation of basis function cache.
| ASMs3DLag::BasisFunctionCache::BasisFunctionCache | ( | const ASMs3DLag & | pch | ) |
The constructor initializes the class.
| pch | Patch the cache is for |
References ASMs3D::BasisFunctionCache::nel, ASMs3DLag::nx, ASMs3DLag::ny, ASMs3DLag::nz, ASMs3DLag::p1, ASMs3DLag::p2, and ASMs3DLag::p3.
| ASMs3DLag::BasisFunctionCache::BasisFunctionCache | ( | const ASMs3D::BasisFunctionCache & | cache, |
| int | b | ||
| ) |
Constructor reusing quadrature info from another instance.
| cache | Instance holding quadrature information |
| b | Basis to use |
|
overrideprotectedvirtual |
Calculates basis function info in a single integration point.
| [in] | gp | Integration point on element (0-indexed) |
| [in] | red | If true, returns for reduced integration scheme |
Reimplemented from ASMs3D::BasisFunctionCache.
Reimplemented in ASMs3DmxLag::BasisFunctionCache.
References Lagrange::computeBasis(), BasisFunctionVals::dNdu, BasisFunctionVals::N, Integrand::NO_DERIVATIVES, ASMs3DLag::p1, ASMs3DLag::p2, and ASMs3DLag::p3.
|
overridevirtual |
Obtain a single integration point parameter.
| dir | Direction of for integration point |
| el | Element number in given direction |
| gp | Integration point in given direction |
| reduced | True to return parameter for reduced quadrature |
Reimplemented from BasisFunctionCache< 3 >.
Referenced by ASMs3DLag::assembleL2matrices().
|
inlineoverrideprotectedvirtual |
Obtain global integration point index.
| [in] | gp | Integration point on element (0-indexed) |
Reimplemented from ASMs3D::BasisFunctionCache.