Operators might communicate unused coefficients
Coefficients in the operator generation are currently handled roughly like this:
coeffs = {}
for kernel_type in kernel_types:
coeffs |= coeffs_in(kernel_type)
kernel.substitute({"communication": coeffs.communication()})
for coeff in coeffs:
class.add(CppMemberVariable(coeff))
See also https://i10git.cs.fau.de/terraneo/hyteg-form-generator/-/merge_requests/52#note_26138.
Now, if the kernel types require a different set of coefficients, the second kernel will communicate coefficients from the first kernel, although those are not even used.