Install pARMS library of parallel solvers

Hello I’m trying to solve a 3-D heat equation. When I reduce the mesh I get this error:
read mesh ok 0Mesh3, num Tetra:= 583101, num Vertice:= 102624 num boundary Triangles:= 64696
Mesh3::meshS, num Triangles:= 64696, num Vertice:= 31952 num boundary Edges:= 1496
— Warning manifold obj nb:816 adj 816 of dim =2
– Mesh3 : tp.mesh, space dimension 3, num Tetrahedron elts 583101, num Vertice 102624 num Bordary elts 64696
– Mesh3:MeshS : tp.mesh, space dimension 3, num Triangle elts 64696, num Vertice 31952 num Bordary elts 1496
– Build Nodes/DF on mesh : n.v. 102624, n. elmt. 583101, n b. elmt. 64696
nb of Nodes 769965 nb of DoF 769965 DFon=1100
– FESpace: Nb of Nodes 769965 Nb of DoF 769965
Error umpfack umfpack_di_numeric status -1
Error umfpack_di_solve status -3
– Solve :
min 0 max 0

a memory problem I guess.

so I decided to use pARMS a library of parallel solvers. i don’t know if this will solve the problem.

I get this error:

– FreeFem++ v4.6 (Fri, Apr 03, 2020 2:08:08 PM - git v4.6)
Load: lg_fem lg_mesh lg_mesh3 eigenvalue
1 : load “msh3”(load: loadLibary C:\Program Files (x86)\FreeFem++\.\msh3 = 0)
2 : load “medit”(load: loadLibary C:\Program Files (x86)\FreeFem++\.\medit = 0)
3 : //load “UMFPACK64”
4 : load “parms_FreeFem”
Load error: parms_FreeFem
fail:
list prefix: ‘C:\Program Files (x86)\FreeFem++\.’ list suffix: ‘’ , ‘.dll’
current line = 4
Load error : parms_FreeFem
line number :4, parms_FreeFem
error Load error : parms_FreeFem
line number :4, parms_FreeFem
code = 2 mpirank: 0

how can I access to this library?

thank you in advance for you response

pARMS plugin has been deprecated for a long time. You can access it through PETSc, but you’ll need to configure it yourself with the added flag --download-parms. Otherwise, you can use hypre which will be much much more efficient than pARMS or UMFPACK for the heat equation.

thank you for this proprosition.
how can i install hypre using windows?

I’ve tried to follow these instructions INSTALL.rar (1.7 KB) but it doesn’t work.

should i install something before?

ps: I never install a library before.

thank you in advance for you response

If you are using this binary, you can just replace:

matrix A;
set(A, solver = sparsesolver);
real[int] sol = A^-1 * rhs;

by:

load "PETSc"
matrix A;
Mat wrap(A);
set(wrap, sparams = "-pc_type hypre -ksp_converged_reason");
real[int] sol = wrap^-1 * rhs;

You do not have to install hypre yourself. It’s done for you and packaged inside the PETSc plugin.

2 Likes