Is (F==0) different from (lfs(F)=rhs(F))?

Hi, I am very new to FEniCS and have a question when we use

solve(a=L, u, bcs)

I see two kinds of expression in demos, which are F==0 and lhs(F)==rhs(F)

At first, I thought it was a matter of preference how you express in FEniCS but my code works fine when I use lhs(F)==rhs(F) while it gives me arity mismatch error when I use F==0.

So, I would like to know how these two expressions are different.

Best,

Solving lhs(F)==rhs(F) it should be a linear PDE defined with a trial and test function, such that the left hand side assembles to a matrix, the right hand side a matrix.F==0, assumes a non linear problem, where the unknown should be defined as a Function.
This problem will be solved with Newton’s method

2 Likes

Thank you for the very clear answer.