if (flag == false)
{
#ifdef DEAL_II_WITH_SIMPLEX_SUPPORT
- const auto quad_face = get_face_quadrature(quad[my_q][hpq]);
- face_data[my_q].descriptor[hpq].initialize(quad_face,
- update_default);
+ try
+ {
+ const auto quad_face =
+ get_face_quadrature(quad[my_q][hpq]);
+ face_data[my_q].descriptor[hpq].initialize(
+ quad_face, update_default);
+ }
+ catch (...)
+ {
+ // TODO: nothing to do for now for wedges and pyramids.
+ }
#else
Assert(false, ExcNotImplemented());
#endif
if (flag == false)
{
#ifdef DEAL_II_WITH_SIMPLEX_SUPPORT
- const auto quad_face = get_face_quadrature(quad[my_q][hpq]);
- face_data_by_cells[my_q].descriptor[hpq].initialize(
- quad_face, update_default);
+ try
+ {
+ const auto quad_face =
+ get_face_quadrature(quad[my_q][hpq]);
+ face_data_by_cells[my_q].descriptor[hpq].initialize(
+ quad_face, update_default);
+ }
+ catch (...)
+ {
+ // TODO: nothing to do for now for wedges and pyramids.
+ }
#else
Assert(false, ExcNotImplemented());
#endif
const auto fe_poly = dynamic_cast<const FE_Poly<dim, dim> *>(fe);
if (dynamic_cast<const Simplex::FE_P<dim, dim> *>(fe) != nullptr ||
- dynamic_cast<const Simplex::FE_DGP<dim, dim> *>(fe) != nullptr)
+ dynamic_cast<const Simplex::FE_DGP<dim, dim> *>(fe) != nullptr ||
+ dynamic_cast<const Simplex::FE_WedgeP<dim, dim> *>(fe) != nullptr)
{
scalar_lexicographic.resize(fe->n_dofs_per_cell());
for (unsigned int i = 0; i < scalar_lexicographic.size(); ++i)
// Simplices are a special case since the polynomial family is not
// indicative of their support
if (dynamic_cast<const Simplex::FE_P<dim> *>(fe_poly_ptr) ||
- dynamic_cast<const Simplex::FE_DGP<dim> *>(fe_poly_ptr))
+ dynamic_cast<const Simplex::FE_DGP<dim> *>(fe_poly_ptr) ||
+ dynamic_cast<const Simplex::FE_WedgeP<dim> *>(fe_poly_ptr))
return true;
#endif
dynamic_cast<const Simplex::FE_P<dim> *>(
&fe_in.base_element(base_element_number)) ||
dynamic_cast<const Simplex::FE_DGP<dim> *>(
+ &fe_in.base_element(base_element_number)) ||
+ dynamic_cast<const Simplex::FE_WedgeP<dim> *>(
&fe_in.base_element(base_element_number)))
{
// specialization for arbitrary finite elements and quadrature rules
q] = grad[d];
}
- const auto reference_cell_type = ReferenceCell::get_simplex(dim);
-
try
{
+ const auto reference_cell_type = ReferenceCell::get_simplex(dim);
+
const auto quad_face = get_face_quadrature(quad);
this->n_q_points_face = quad_face.size();