Hello everyone, I am a beginner of freefem++. For the freefem++ code, I can only solve PDEs in a single thread.

I want to use Freefem++ to solve the unsteady incompressible magnetohydrodynamic equations.

I read a paper STABILITY AND ERROR ANALYSIS OF IMEX SAV SCHEMES FORTHE MAGNETO-HYDRODYNAMIC EQUATIONS.pdf (1.8 MB) and I have reproduced the author’s two-dimensional numerical experiment. Now I want to expand this numerical experiment from two dimensions to three dimensions. The way I define the grid is as follows

```
mesh3 Th = cube(N, N, N, [x, y, z]);
```

For my own MacBook, when N>20, it will output

```
Error Umfpack -1 : out_of_memory current line = 97
Exec error : Error Umfpack -1 : out_of_memory
-- number :1
catch an erreur in solve => set sol = 0 !!!!!!!
Exec error : Error Umfpack -1 : out_of_memory
-- number :1
err code 8 , mpirank 0
```

I tried to use the server, but the first attempt was to use `N = 100`

, and the result was still `out of memory`

```
Error Umfpack -1 : out_of_memory current line = 97
Exec error : Error Umfpack -1 : out_of_memory
-- number :1
catch an erreur in solve => set sol = 0 !!!!!!!
Exec error : Error Umfpack -1 : out_of_memory
-- number :1
err code 8 , mpirank 0
```

Is there any good solution? I also want to learn to use PETSc parallelization to solve, but this is a bit difficult for me to get started.

Now I give the two-dimensional code I reproduced, and the three-dimensional one is similar to this

test.edp (11.4 KB)