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.
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.
Hi prj,
I have been trying to migrate some old code from FreeFem v3.6 to the latest version. The code is using pARMS_FreeFem which as you pointed out is now depricated. Is it still possible to use it via PETSc (pARMS was completely absent from PETSc documentation…)? Following your suggestion, I was wondering if it would make sense to include the --download-parms flag in the Dockerfile file in the following way (see 4th line):
# Configure FreeFEM and download PETSc
RUN autoreconf -i \
&& ./configure --enable-download --enable-optim --enable-generic --prefix=/usr/freefem/ \
&& ./3rdparty/getall -o PETSc -a --download_parms
# Compile PETSc/SLEPc and reconfigure FreeFEM
RUN cd $DIRPATH/3rdparty/ff-petsc \
&& sed -i'.bak' 's#download-mpich#download-mpich=http://www.mpich.org/static/downloads/3.4rc1/mpich-3.4rc1.tar.gz#' Makefile \
&& sed -i '/Not on windows/a\COMMON_FLAGS += CFLAGS="-D_POSIX_C_SOURCE=199309L -std=c99"' Makefile \
&& sed -i '/Not on windows/a\COMMON_FLAGS += CXXFLAGS="-D_POSIX_C_SOURCE=199309L -std=c++11"' Makefile \
&& make petsc-slepc
Are there any additional steps after that to be able to use pARMS?
Thanks a lot in advance,
Lazaros
My advice is to not use pARMS, as it is not very maintained and probably less efficient than other PETSc solvers. What you are suggesting does not make sense --download-parms must be put inside 3rdparty/ff-petsc/Makefile, with all the other --download-XYZ.