|
| LocalToGlobalBasisAdapter (Cache const &cache, Geometry const &geometry) |
| Construct a LocalToGlobalBasisAdapter. More...
|
|
std::size_t | size () const |
| Return the number of local basis functions.
|
|
std::size_t | order () const |
| Return maximum polynomial order of the base function. More...
|
|
void | evaluateFunction (typename Traits::DomainLocal const &x, std::vector< typename Traits::Range > &out) const |
| Evaluate the local basis functions in the local coordinate x
|
|
auto const & | valuesAt (typename Traits::DomainLocal const &x) const |
|
void | evaluateGradient (typename Traits::DomainLocal const &x, std::vector< typename Traits::GradientRange > &out) const |
|
auto const & | gradientsAt (typename Traits::DomainLocal const &x) const |
|
void | evaluatePartial (typename Traits::DomainLocal const &x, std::size_t comp, std::vector< typename Traits::PartialRange > &out) const |
|
auto const & | partialsAt (typename Traits::DomainLocal const &x, std::size_t comp) const |
|
template<class BasisCache, class Geometry>
class AMDiS::LocalToGlobalBasisAdapter< BasisCache, Geometry >
Convert a simple (scalar) local basis into a global basis.
The local basis must be scalar, i.e. LocalBasis::Traits::dimRange must be 1 It's values are not transformed.
For scalar function \(f\), the gradient is equivalent to the transposed Jacobian \(\nabla f|_x = J_f^T(x)\). The Jacobian is thus transformed using
\[ \nabla f|_{\mu(\hat x)} = \hat J_\mu^{-T}(\hat x) \cdot \hat\nabla\hat f|_{\hat x} \]
Here the hat \(\hat{\phantom x}\) denotes local quantities and \(\mu\) denotes the local-to-global map of the geometry.
- Template Parameters
-
BasisCache | Type of the local-basis cache containing local basis evaluations to adopt. |
Geometry | Type of the local-to-global transformation. |
NOTE: The adapter implements a caching of local basis evaluations at coordinates.