ufl
ufl copied to clipboard
Group integrals by metadata
Currently UFL groups integrals by domain
, integral_type
, subdomain_id
into IntegralData
objects.
The form compiler then uses this to generate different kernels.
However, forms with different metadata are grouped, and in FFCx, this can potentially produce an error (see: #Issue 394).
Ideally, we would like to have one kernel by metadata (and possibly a quadrature rule per kernel). Our proposal is to modify build_integral_data, to group integrals by metadata.
@wence- Any thoughts on that? Would it be ok for tsfc?
We'd prefer if the integral were not split by metadata, TSFC would continue to work but would produce slightly worse code. You could augment compute_form_data
with yet another flag that defaults to false split_integrals_by_metadata=False
or something?
Yes. I think another flag in compute_form_data
would do.