# Traction Forces - BilinearOperator NM error

**URL:** https://community.freefem.org/t/traction-forces-bilinearoperator-nm-error/3857
**Category:** General Discussion
**Created:** [April 11, 2025, 3:31pm UTC](https://community.freefem.org/t/traction-forces-bilinearoperator-nm-error/3857 "2025-04-11T15:31:20Z")
**Posts on this page:** 1
**Showing post:** 4

<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: [April 12, 2025, 2:16pm UTC](https://community.freefem.org/t/traction-forces-bilinearoperator-nm-error/3857/4 "2025-04-12T14:16:55Z")

</div>

The problem is that the space `Vh` you give in `matrix A = avar(Vh, Vh, tgv = -1)`  
has not the right size, since `varf avar([ur, uz], [vr, vz])` has two unknowns `ur,uz`.

You have to set

```auto
fespace Vh2(Th,[P1,P1]);
Vh2 [u1,u2];

```

The space `Vh2` has the right size. Then you correct your system resolution by

```auto
matrix A = avar(Vh2, Vh2, tgv = -1); // System matrix
real[int] b = Lrhs(0, Vh2); // Right-hand side vector
set(A, solver = sparsesolver);       
 real[int] sol = A^-1 * b;  
 u1[]=sol;// distribute the solution to [u1,u2], that belongs to Vh2
 ur=u1;
 uz=u2;

```

---

_[View the full topic](https://community.freefem.org/t/traction-forces-bilinearoperator-nm-error/3857)._
