In 2D elasticity, if Th is the mesh on a domain, then an eigenvector is an array in “fespace Vh(Th, [P2,P2])”.
If nev is an integer and “Vh[int] eVu,eVv” is intended to store the eigenvectors the line
ncev = EigenValue(A, B, value=ev, vector=[eVu,eVv], tol=1e-18, maxit=0, ncv=0);
gives an error message, while
ncev = EigenValue(A, B, value=ev, vector=eVu, tol=1e-18, maxit=0, ncv=0);
The question is : what exactly contains eVu ? and how can we recover from eVu the two components of the eigenvector ?
There are some FreeFEM syntax errors and the correct part of code is as follows:
Vh[int] [eVu, eVv](nev);
EigenValue(A, B, value=ev, vector=eVu, ...);
In addition, the ARPACK interface (
EigenValue) is very old and SLEPc (
EPSSolve) is suggested.
Thank you ! Actually, this is not mentioned in the FreeFEM documentation…
Do you have a simple example which do not use MPI ?
You’ll have to use
FreeFem++-mpi, but you can use a single process, which will not require changes in your code. And I don’t know what you are talking about, but SLEPc is indeed mentioned in the documentation: PETSc and SLEPc.