Skip to content
Snippets Groups Projects
Commit bc330451 authored by webmanue's avatar webmanue
Browse files

allow parametrization of value- and real_type

- permits e.g. complex displacement gradients
parent 1f5770eb
No related branches found
No related tags found
No related merge requests found
......@@ -22,11 +22,12 @@ namespace ae108 {
namespace elements {
namespace integrator {
template <class SizeType_, class ValueType_, SizeType_ Size_,
template <class SizeType_, class ValueType_, class RealType_, SizeType_ Size_,
SizeType_ Dimension_>
struct IntegratorBase {
using size_type = SizeType_;
using value_type = ValueType_;
using real_type = RealType_;
/**
* @brief Contains vectors of function evaluations at each selected point.
......
......@@ -27,11 +27,11 @@ namespace ae108 {
namespace elements {
namespace integrator {
template <class Shape_, class Quadrature_>
template <class Shape_, class Quadrature_, class ValueType_ = double,
class RealType_ = double>
class IsoparametricIntegrator final
: public IntegratorBase<typename Shape_::size_type,
typename Shape_::value_type, Shape_::size(),
Shape_::dimension()> {
: public IntegratorBase<typename Shape_::size_type, ValueType_, RealType_,
Shape_::size(), Shape_::dimension()> {
public:
using Embedding = embedding::IsoparametricEmbedding<Shape_>;
using Quadrature = Quadrature_;
......@@ -72,8 +72,9 @@ private:
typename Quadrature::template Collection<PostTransform> J_;
};
template <class Shape_, class Quadrature_>
struct IntegrateTrait<IsoparametricIntegrator<Shape_, Quadrature_>> {
template <class Shape_, class Quadrature_, class ValueType_, class RealType_>
struct IntegrateTrait<
IsoparametricIntegrator<Shape_, Quadrature_, ValueType_, RealType_>> {
/**
* @tparam DiscretizedFunction Equal to an
* Integrator::DiscretizedFunction<...>.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment