Unable to assemble a system created after the derivative of mixed elements

Be careful about the use of split(w) and w.split(), see Function.split() vs Split(Function) - #2 by dokken
I would remove the w.split() and simply use p instead of p_dimensionless.
Also derivative should take 3 arguments: a form, a function and a direction, not sure what is happening with only 2 arguments in derivative(pressure_drop, p_dimensionless).
Finally, J_navier_stokes is the same as dResidual_dU, so be consistent in your definitions, avoid redefining everything

2 Likes