MUMPS or UMFPACK64

Hi,Are there any appropriate solutions to the following problems? why?

load “MUMPS_seq”

problem kg2(psai2,u,solver=sparsesolver,master=-1)=int2d(Th1)(psai2*u/(dt^2))-

0 : Allocation error for id%IS( 101830817 )
** ERROR RETURN ** FROM ZMUMPS INFO(1)= -13
** INFO(2)= 101830817
On return from ZMUMPS, INFOG(1)= -13
On return from ZMUMPS, INFOG(2)= 101830817
Erreur Mumps seq: number -13
Fatal Erreur MUMPS_seq Factorize
current line = 57
Exec error : MUMPS_seq Factorize
– number :0
** Instance Error 1 in ZMUMPS_F77 1
** MPI_ABORT called

or
load “UMFPACK64”

problem kg2(psai2,u,solver=“UMFPACK64”)=int2d(Th1)(psai2*u/(dt^2))-

Error umpfack umfpack_zl_numeric status -1
Error umfpack_di_solve status -3
– Solve :
min (-0.155751,-0.155755) max (0.155751,0.155755)

The problem is too big to be factorized by a direct solver, switch to an iterative method.

Thank you, I haven’t used iterative methods. Is there an example that works?

You can use PETSc with the parameter -pc_type gamg, for example.

Hi, Does this compile right?
load “PETSc-complex”

problem kg2(psai2,u,sparams="-pc_type gamg")=int2d(Th1)(psai2u/(dt^2))-int2d(Th1)(2psai1u/(dt^2))+int2d(Th1)(psai0u/(dt^2))

No, you need to use a varf instead of a problem.

Hi, professor, the programming language is as follows

varf rhs(psai1,u)=int2d(Th1)(2psai1u/(dt^2))-int2d(Th1)(lambda*(psai1conj(psai1))psai1u);

but,When it’s running
varf rhs(psai1,u)=int2d(Th1)(2
psai1u/(dt^2))-int2d(Th1)(lambda(psai1*conj(psai1)) error operator * <10LinearCombI7MGauche4C_F0E>, <10LinearCombI7MGauche4C_F0E>
why?

The term psai1*conj(psai1) is not linear, so you cannot put that in a varf (or in a problem for that matter).

I see. Thank you very much for your reply to my question in your busy schedule.

Hi,professor
load “PETSc-complex”

matrix A = va(Xhf, Xhf,sparams = “-pc_type asm -sub_pc_type lu -ksp_converged_reason”);

The operation procedure is very slow. What solution can we do?

You need to use a Mat, not a matrix.

Pestc can only be applied to FreeFem + + - mpi.exe version? Because FreeFem + + - mpi.exe has been debugging failed, FreeFem+ +. exe apply?

No, you need to use FreeFem++-mpi.exe to use PETSc/SLEPc.

Microsoft MPI was successfully installed on windows10, but examples, using freefem + + -mpi.exe failed to run. Why?

Hello, PETSc needs to use freefem + + - mpi .exe to run, I need to download PETSc separately, or freefem + + - mpi. exe can be called directly?

It can be called directly. Please look at this screencast Pierre Jolivet introduction to parallel FreeFEM part 1 - YouTube, it answers most of your recent questions.

1 Like

Hello, can you help me solve this problem?