Factorization failure for certain conditionals
Open
- Dominant language
- Python
- Stars
- 192
- Forks
- 45
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 16
Description
While probably quite a corner case, I managed to stumble into that...
```
import ufl
from ffcx.codegeneration import jit
elmt = ufl.FiniteElement("CG", ufl.triangle, 1)
u1 = ufl.Coefficient(elmt)
u2 = ufl.Coefficient(elmt)
ctol = ufl.Constant(ufl.triangle)
def cond(tol):
return ufl.conditional(u2 < tol, u1, u2) * ufl.dx
# works
jit.compile_forms([ufl.derivative(cond(0), (u1, u2))])
# works
jit.compile_forms([ufl.derivative(cond(ctol), u1)])
# works
jit.compile_forms([ufl.derivative(cond(ctol), u2)])
# fails
jit.compile_forms([ufl.derivative(cond(ctol), (u1, u2))])
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.