@@ -317,7 +317,8 @@ std::pair<std::vector<T>, std::array<std::size_t, 2>> compute_transformation(
317
317
mdspan_t <const T, 2 > coeffs, const mdarray_t <T, 2 >& J, T detJ,
318
318
const mdarray_t <T, 2 >& K,
319
319
const std::function<std::array<T, 3 >(std::span<const T>)> map_point,
320
- int degree, int tdim, int entity, std::size_t vs, const maps::type map_type)
320
+ int degree, int tdim, int entity, std::size_t vs, const maps::type map_type,
321
+ const polyset::type ptype)
321
322
{
322
323
if (x[tdim].size () == 0 or x[tdim][entity].extent (0 ) == 0 )
323
324
return {{}, {0 , 0 }};
@@ -327,7 +328,7 @@ std::pair<std::vector<T>, std::array<std::size_t, 2>> compute_transformation(
327
328
328
329
const std::size_t ndofs = imat.extent (0 );
329
330
const std::size_t npts = pts.extent (0 );
330
- const int psize = polyset::dim (cell_type, polyset::type::standard , degree);
331
+ const int psize = polyset::dim (cell_type, ptype , degree);
331
332
332
333
std::size_t dofstart = 0 ;
333
334
for (int d = 0 ; d < tdim; ++d)
@@ -352,7 +353,7 @@ std::pair<std::vector<T>, std::array<std::size_t, 2>> compute_transformation(
352
353
}
353
354
354
355
auto [polyset_vals_b, polyset_shape] = polyset::tabulate (
355
- cell_type, polyset::type::standard , degree, 0 ,
356
+ cell_type, ptype , degree, 0 ,
356
357
mdspan_t <const T, 2 >(mapped_pts.data (), mapped_pts.extents ()));
357
358
assert (polyset_shape[0 ] == 1 );
358
359
mdspan_t <const T, 2 > polyset_vals (polyset_vals_b.data (), polyset_shape[1 ],
@@ -424,7 +425,7 @@ doftransforms::compute_entity_transformations(
424
425
std::experimental::mdspan<const T,
425
426
std::experimental::dextents<std::size_t , 2 >>
426
427
coeffs,
427
- int degree, std::size_t vs, maps::type map_type)
428
+ int degree, std::size_t vs, maps::type map_type, polyset::type ptype )
428
429
{
429
430
std::map<cell::type, std::pair<std::vector<T>, std::array<std::size_t , 3 >>>
430
431
out;
@@ -441,7 +442,7 @@ doftransforms::compute_entity_transformations(
441
442
{
442
443
auto [t2b, _]
443
444
= compute_transformation (cell_type, x, M, coeffs, J, detJ, K, mapfn,
444
- degree, tdim, entity, vs, map_type);
445
+ degree, tdim, entity, vs, map_type, ptype );
445
446
transform.insert (transform.end (), t2b.begin (), t2b.end ());
446
447
}
447
448
@@ -468,7 +469,7 @@ doftransforms::compute_entity_transformations(
468
469
4 >&,
469
470
std::experimental::mdspan<const float ,
470
471
std::experimental::dextents<std::size_t , 2 >>,
471
- int , std::size_t , maps::type);
472
+ int , std::size_t , maps::type, polyset::type );
472
473
473
474
template std::map<cell::type,
474
475
std::pair<std::vector<double >, std::array<std::size_t , 3 >>>
@@ -484,6 +485,6 @@ doftransforms::compute_entity_transformations(
484
485
4 >&,
485
486
std::experimental::mdspan<const double ,
486
487
std::experimental::dextents<std::size_t , 2 >>,
487
- int , std::size_t , maps::type);
488
+ int , std::size_t , maps::type, polyset::type );
488
489
// / @endcond
489
490
// -----------------------------------------------------------------------------
0 commit comments