# Very weak solution

**URL:** <https://community.freefem.org/t/very-weak-solution/4183>\
**Category:** General Discussion\
**Created:** [January 10, 2026, 6:10pm UTC](https://community.freefem.org/t/very-weak-solution/4183 "2026-01-10T18:10:01Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pi.3.141](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@pi.3.141](https://community.freefem.org/u/pi.3.141)\
**Post date:** [January 10, 2026, 6:10pm UTC](https://community.freefem.org/t/very-weak-solution/4183/1 "2026-01-10T18:10:01Z")

</div>

Dear Freefemers,

I want to experiment with the very weak solution for Laplacian, like this simple problem

```auto
in Omega: -\Delta u = 0, in Omega, 
           u in L^2(\Delta, L^2(\Omega)) := {u \in L^2, \Delta u \in L^2}

on boundary: u=g, g \in H^(-1/2)(\partial\Omega) 

```

I have made a search in the documentation and I didn’t find any reference to this simple problem.

From implementation viewpoint, we take g in P0(\partial\Omega) and look for u in P0(\Omega), satisfying

`\int_\Omega (u*\Delta uh) = 0, for all uh smooth; u = g on bdry`

Here, the space of u, P0, is different from the space of uh, Uh. A reasonable choice for the space of uh is Uh={uh\_i, i=1, Th.nt}, with uh\_i of class C^2 and with support in the union of all triangles Th\_ij, where Th\_ij is any triangle adjacent to the triangle Th\_i.

I guess that this very weak formulation requires some proficiency with Freefem coding (especially for handling the space Uh). Can anyone help how to implement this simple algorithm in Freefem?

Thank you!

---

<div class="post-metadata">

**Author:** ![fb77](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/fb77/32/3796_2.png) [@fb77](https://community.freefem.org/u/fb77)\
**Post date:** [January 11, 2026, 1:05pm UTC](https://community.freefem.org/t/very-weak-solution/4183/2 "2026-01-11T13:05:09Z")

</div>

It seems to me that the discrete problem you want to solve is ill-posed, simply because  
the space of test functions has dimension higher than that of the space in which you are looking for the solution.  
What if you take a standard discrete formulation  
u,u\_h\in P1. The question is then wether this discrete solution converges to the continuous weak solution as h\to 0.  
But maybe you have already tried that as well as other standard choices of finite element spaces for some particular g which is not much regular, and found that the discrete solution does not converge?

---

<div class="post-metadata">

**Author:** ![pi.3.141](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@pi.3.141](https://community.freefem.org/u/pi.3.141)\
**Post date:** [January 12, 2026, 4:30am UTC](https://community.freefem.org/t/very-weak-solution/4183/3 "2026-01-12T04:30:08Z")

</div>

Thank you, Francois.

Yes, here the space of test functions is different from the space where u lives. From this perspective the problem is ill-posed. But, this is expected from the beginning since u is discontinuous and uh are C^2.

However, we can formulate a well-posed problem from the algebraic viewpoint.

For example u in P0:

`u=\sum_{i=1,Th.nt} u_i*phi_i, {phi_i, i=1, Th.nt} base of P0,`

and

uh in {uh\_1,…. uh\_{Th.nt} a family of C^2 functions, with uh\_j C^2 with compact support in

`\cup_{Th_jk, Th_jk=Th_j, or a triangle adjacent to Th_j}, j=1,...,Th.nt`

So, we will have a system of Th.nt equations, which a priori defines a good problem (we can impose some BC, say of Dirichlet type).

Of course, the solution - whatever it is, will depend on the choice of uh\_j. But this is another problem.

---

<div class="post-metadata">

**Author:** ![fb77](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/fb77/32/3796_2.png) [@fb77](https://community.freefem.org/u/fb77)\
**Post date:** [January 12, 2026, 9:53am UTC](https://community.freefem.org/t/very-weak-solution/4183/4 "2026-01-12T09:53:23Z")

</div>

Then for a square system, you need to be able to compute each coefficient of your matrix, which seems to be \int\_{T\_i}\Delta u\_j. If you choose your u\_j you should be able to compute that and build your matrix.

---

<div class="post-metadata">

**Author:** ![frederichecht](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/frederichecht/32/15_2.png) [@frederichecht](https://community.freefem.org/u/frederichecht)\
**Post date:** [January 28, 2026, 10:48am UTC](https://community.freefem.org/t/very-weak-solution/4183/6 "2026-01-28T10:48:02Z")

</div>

In this problem a do not understand with you need C^2 test functions and not H^2 like Bilaplacien problem. So at level of freefem you just need C1 element discretisation like in

[bilapP3-hct-like.edp](https://github.com/FreeFem/FreeFem-sources/blob/master/examples/plugin/bilapP3-hct-like.edp "bilapP3-hct-like.edp")

> <https://github.com/FreeFem/FreeFem-sources/blob/master/examples/plugin/bilapHCT.edp>

---

<div class="post-metadata">

**Author:** ![pi.3.141](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@pi.3.141](https://community.freefem.org/u/pi.3.141)\
**Post date:** [May 10, 2026, 4:46am UTC](https://community.freefem.org/t/very-weak-solution/4183/7 "2026-05-10T04:46:46Z")

</div>

Thank you, professor Hecht!

The C^2 regularity of test functions was a lapsus - H^2 is enough. And by using the code of Bilaplacian solves the problem from coding viewpoint.

The initial difficulty came from the wrong assumption that the very weak solution was in P0.

Actually, the very weak solution (of the problem I presented) is locally smooth - in this case even in C^infty\_{loc}. So u is not in P0, but is can be well approximated in P1. Such kind of formulations are good when considering problems with singularities on the boundary.

Thank you again!

---

<div class="post-metadata">

**Author:** ![pi.3.141](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@pi.3.141](https://community.freefem.org/u/pi.3.141)\
**Post date:** [May 10, 2026, 4:51am UTC](https://community.freefem.org/t/very-weak-solution/4183/8 "2026-05-10T04:51:33Z")

</div>

Thank you.

Yes, it is possible to build the matrix. As I said in my comment below, it turns out the the assumption u in P0 is wrong. U can be well approximated in P2 (H^2) and this allows to solve the problem by using the code for the Bilaplacian.
