I'm trying to repeat a level set FSI problem on the book <Level Set Methods for Fluid-Structure Interaction>, on the page 89, the provided freefem code define a weak form of the discretized equation enter image description here

the algorithm is semi-implicit algorithm the $F$ is defined as $$ F=\operatorname{div}\left(E^{\prime}(|\nabla \varphi|)|\nabla \varphi|\left(\mathbb{I}-\frac{\nabla \varphi \otimes \nabla \varphi}{|\nabla \varphi|^2}\right) \frac{1}{\varepsilon} \zeta\left(\frac{\varphi}{\varepsilon}\right)\right) $$ which can be rewritten as $$ F=\nabla\left(E(|\nabla \varphi|) \frac{1}{\varepsilon} \zeta\left(\frac{\varphi}{\varepsilon}\right)\right)-\operatorname{div}\left(E^{\prime}(|\nabla \varphi|)|\nabla \varphi| n \otimes n \frac{1}{\varepsilon} \zeta\left(\frac{\varphi}{\varepsilon}\right)\right) $$ as mentioned at 3.15 on page 61, I believe that the gradient term can be fully absorbed into pressure p, hence we only need to deal with $$ -\operatorname{div}\left(E^{\prime}(|\nabla \varphi|)|\nabla \varphi| n \otimes n \frac{1}{\varepsilon} \zeta\left(\frac{\varphi}{\varepsilon}\right)\right) $$ but after deriving the weak form on my own by using the definition of tensor product of two vector(i,j-th element of a tensor b is $a_{i}b_{j}$) and high dimensional divergence theorem, I find out that the correct weak form should be

    + int2d(Th)(Ep(nabla)*(-dx(phi)*dx(phi)*dx(v1)-dx(phi)

but the actual code provided on the book is

// Elastic tensor
+ int2d(Th)(Ep(nabla)*(dy(phi)*dy(phi)*dx(v1)-dx(phi)

the sign is not the same as mine, and it is dy(phi)*dy(phi)*dx(v1) not dx(phi)*dx(phi)*dx(v1) , I wonder where is wrong, could anyone help me?thank you very much.

  • $\begingroup$ I didn't do the math, but a common technique is to integrate by parts twice especially if the discretization allows for some symmetry afterwards (finite volume and discontinuous FEMs for example.) You can try doing that, maybe that helps $\endgroup$ Nov 11, 2023 at 4:33

1 Answer 1


I find the problem, we can't absorb the gradient of the development of the divergence of in the force term into the pressure, we need to keep the identity matrix while deriving the weak form, then reduce to a common denominator we get the square of the gradient of phi, then we can get the result


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.