ggciag / mandyoc

MANDYOC is a finite element code written on top of the PETSc library to simulate thermo-chemical convection of the Earth's mantle
https://ggciag.github.io/mandyoc/
BSD 3-Clause "New" or "Revised" License
27 stars 5 forks source link

Changes to the "How to install" section of the docs #90

Closed santisoler closed 2 years ago

santisoler commented 2 years ago

Add numpy as requirement for running the tests. Add a cd mandyoc line after cloning the repo. Add a note instructing to create ~/.local/bin before creating the mpirun symbolic link. Fix typo in "petsc". Add requirements for building PETSc. Fix typo in "versions".

I've made a few changes to the "How to install" section of the docs after installing PETSc and Mandyoc following it. Most of the changes are based on that experience. Feel free to edit them, they are just proposals!

Thanks for hard work of maintaining and documenting Mandyoc!

aguspesce commented 2 years ago

Thanks @santisoler for your corrections!

santisoler commented 2 years ago

You're welcomed!

I forgot to mention the following: when installing PETSc under Debian 11 (GNU/Linux), I had to configure PETSc to download OpenMPI instead of MPICH. Since the note about using the --download-openmpi flag is presented as a possible alternative, I didn't saw it as something I needed to use it. Nevertheless using OpenMPI in Linux systems is apparently mandatory for it to work.

As a suggestion, I would split the installation instructions of PETSc between MacOS and Linux. We could use the sphinx-tabs extension to put the instructions for each system inside tabs. See Pooch install instructions as an example of these tabs.

I'm glad to implement it if that's something you would like to include.

rafaelmds commented 2 years ago

Thank you for this feedback and suggestions @santisoler!

In fact, I had trouble with OpenMPI in the past, running on Debian. So, I'm not sure why. Also, the Docker image is based on Ubuntu and there is no problem using MPICH.

santisoler commented 2 years ago

Thank you for this feedback and suggestions @santisoler!

No problem! I'm glad to contribute.

In fact, I had trouble with OpenMPI in the past, running on Debian. So, I'm not sure why. Also, the Docker image is based on Ubuntu and there is no problem using MPICH.

Ok, so maybe I did something wrong on the first try, and when I rebuilt using OpenMPI maybe I didn't make that mistake. So, if you managed to compile PETSc on Linux based systems with MPICH, ignore my last suggestion.

rafaelmds commented 2 years ago

As a suggestion, I would split the installation instructions of PETSc between MacOS and Linux.

I don't follow. Did you got anything different between those?

One hard point to cover with petsc as dependency is that one could already have it installed and it varies how one can install and use it. So we need to be as generic as possible regarding to petsc installation. We tried to emphasize that we give just an working example, but users must refer to petsc in the end.

This is also prone to errors since our users (until now) were students with no prior experience this sort if programs and there installations procedures (linux experience, etc).

santisoler commented 2 years ago

As a suggestion, I would split the installation instructions of PETSc between MacOS and Linux.

I don't follow. Did you got anything different between those?

I mentioned it since I thought that PETSc didn't work with MPICH on Linux, but since you had a different experience just ignore that suggestion.

One hard point to cover with petsc as dependency is that one could already have it installed and it varies how one can install and use it. So we need to be as generic as possible regarding to petsc installation. We tried to emphasize that we give just an working example, but users must refer to petsc in the end.

This is also prone to errors since our users (until now) were students with no prior experience this sort if programs and there installations procedures (linux experience, etc).

Yes, absolutely. Building PETSc is not easy at all, even for people that has experience building software.