Closed senpaibernd closed 1 year ago
...or can anyone provide a step-by-step manual how to compile the engine with mumps so that it actually works?
Yes, this is the plan, provide an easier way to build implicit solvers, including MUMPS. We are working on it. Thanks for your patience.
That sounds great! I am looking forward to a solution!
I tried the additional arguments in the buildscript (I also noticed the changes in the file cmake_linux64_gf.txt): The dependent libraries (lapack, scalapack) compile without errors, but when compiling the engine I still get the same error.
To get an idea what i did exactly, here is my step-by-step instruction:
Install WSL 2
Install Ubuntu 20 (22 with GCC 10 prodces a fortran compiler error which I cannot avoided at the moment)
Install packages:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential gfortran cmake perl
sudo apt-get install openmpi-bin libopenmpi-dev
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.2.tar.gz
tar -xvzf openmpi-4.1.2.tar.gz
cd openmpi-4.1.2
sudo ./configure --prefix=/opt/openmpi
sudo make
sudo make install
Download ZIP RADIOSS from https://github.com/OpenRadioss/OpenRadioss and unzip (or git clone)
Now, build engine with MUMPS and OpenMPI:
Create and enter the directory OpenRadioss/extlib/mumps
Download packages:
wget https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.1.tar.gz
wget https://github.com/Reference-ScaLAPACK/scalapack/archive/refs/tags/v2.2.0.tar.gz
wget http://ftp.mcs.anl.gov/pub/petsc/externalpackages/MUMPS_5.5.1.tar.gz
Extract:
tar -xvzf (all packages)
Build:
lapack-dir:
make.inc.example --> make.inc
--> make
scalapack-dir:
SLmake.inc.example --> SLmake.inc
Modify:
BLASLIB = /home/blind/OpenRadioss-main/extlib/mumps/lapack-3.10.1/librefblas.a
LAPACKLIB = /home/blind/OpenRadioss-main/extlib/mumps/lapack-3.10.1/liblapack.a
--> make
mumps:
sudo apt-get install libmetis-dev libparmetis-dev libscotch-dev libptscotch-dev libatlas-base-dev openmpi-bin libopenmpi-dev liblapack-dev
Makefile.debian.PAR --> Makefile.inc
Modify:
LAPACK = /home/blind/OpenRadioss-main/extlib/mumps/lapack-3.10.1/liblapack.a
SCALAP = /home/blind/OpenRadioss-main/extlib/mumps/scalapack-2.2.0/libscalapack.a /home/blind/OpenRadioss-main/extlib/mumps/lapack-3.10.1/librefblas.a
--> make
ENGINE:
Check before:
path_to_mumps/lib/libdmumps.a must exist
path_to_scalapack/libscalapack.a must exist
path_to_lapack/liblapack.a must exist
./build_script.sh -arch=linux64_gf -mpi=ompi –prec=dp –static-link -mumps_root=/home/blind/OpenRadioss-main/extlib/mumps/MUMPS_5.5.1 -scalapack_root=/home/blind/OpenRadioss-main/extlib/mumps/scalapack-2.2.0 -lapack_root=/home/blind/OpenRadioss-main/extlib/mumps/lapack-3.10.1
I get different compiler errors on different systems when I follow the instructions in the cmake text file (version with AND without MPI). I am probably still doing something wrong when compiling the required packages lapack scalapack and mumps.
I think it would be a good idea to include the implicit solver in general. Traditionally, this is the other big solver world, which is always needed - even if the solver comes from the explicit world ;-)