Or you could make a FESystem a member variable of your new class. You'd
then call the FiniteElement base constructor yourself, but in all other
functions essentially refer to the member variable.
> So far I am leaning towards aggregation (keep FESystem inside in the
> private block and use what's relevant within the class),
> as deriving from FESystem leads to a vector-valued FE, which is not what
> I want.
Yes, this sounds reasonable.
const UpdateFlags flags(fe_data.current_update_flags());
const UpdateFlags flags(fe_data.update_flags);
internal::FEValues::FiniteElementRelatedData<dim,spacedim> &output_data
fe_system.fill_fe_values(mapping,
cell,
quadrature,
mapping_internal,
fe_internal,
mapping_data,
output_data,
cell_similarity);
There was nothing, but you will be interested in this pull request now:
https://github.com/dealii/dealii/pull/1398
Any better ways to do it?
This didn't work, hm...
As long as the pure Q2 is in your hp::FECollection, this could be resolved.
I'm not sure the case is implemented (see above), but I don't see an
overwhelming obstacle to making this happen.
output_data.shape_values[enriched_to_complete[d]][q] *= enrichment->value(mapping_data.quadrature_points[q]);