FEniCS / FEniCS/ffcx

Factorization failure for certain conditionals

Open
#246 7 comments 0 reactions 1 assignee Claimed by @michalhabera View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.