diff --git a/script_install.sh b/script_install.sh new file mode 100644 index 0000000..179d18c --- /dev/null +++ b/script_install.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +export WORKSPACE=$(pwd) + +# gfortran + +sudo apt install build-essential +sudo apt install gfortran +gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view' + +# install open mpi 2.1.1 + +curl https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-2.1.1.tar.bz2 --output openmpi-2.1.1.tar.bz2 +tar -jxf openmpi-2.1.1.tar.bz2 +cd openmpi-2.1.1 + +./configure --prefix=$HOME/opt/openmpi +make all +make install + +echo "export PATH=\$PATH:\$HOME/opt/openmpi/bin" >> $HOME/.bashrc + +echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$HOME/opt/openmpi/lib" >> $HOME/.bashrc + +source ~/.$1rc + +cd .. + +# install miniconda + +curl https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh --output Miniconda3-py39_4.10.3-Linux-x86_64.sh + +bash Miniconda3-py39_4.10.3-Linux-x86_64.sh -b + +source ~/.$1rc + +# create python 2.7 environment + +conda init $1 + +source ~/.$1rc + +conda create -n py2_7 python=2.7 +conda activate py2_7 + +pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose + +# setup petsc + +git clone https://gitlab.com/petsc/petsc + +cd petsc + +git checkout maint-3.8 +./configure --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --download-fblaslapack --with-debugging=0 COPTFLAGS='-O3 -march=native -mtune=native' CXXOPTFLAGS='-O3 -march=native -mtune=native' FOPTFLAGS='-O3 -march=native -mtune=native' + +make PETSC_DIR=$WORKSPACE/petsc PETSC_ARCH=arch-linux2-c-opt all + +make PETSC_DIR=$WORKSPACE/petsc PETSC_ARCH=arch-linux-c-opt check + +cd .. + +# setup petsc4py + +git clone https://Icolecchio@bitbucket.org/petsc/petsc4py.git +cd petsc4py +git checkout maint-3.8 +export PETSC_DIR=$WORKSPACE/petsc +python setup.py build +python setup.py install --user +python setup.py test \ No newline at end of file