Documentation

INSTALLATION – System Software Requirements:

The below are the Installation Instructions for linux/ Mac Operating System. For windows users , the same setup can be followed in the WSL ( Windows Subsystem for Linux ) 

  • Compilers  : Install any C/C++ compiler, eg. GCC
  • Build Tools : Install cmake-gui /cmake
  • Version Control : Install git  
  • BLAS  :  preferably INTEL MKL
  • IDE (optional) :  prefereably VS code
  • Visualisation   : preferably paraview

Note :  If you are using Mac, install MacPorts in addition to the above mentioned packages.

For Debian based systems, the essential prerequisite packages ( Except Intel MKL ) can be installed using

sudo apt update
sudo apt-get install cmake cmake-gui git gcc code paraview

Additional Instructions – Setting up Intel MKL Libraries:

Once the MKL libraries have been installed . Add the following lines to bashrc file for the system to identify the blas routines.

Note : The default installation directory of MKL libraries is /opt/intel. 

Open the ~/.bashrc  file using the following command

gedit ~/.bashrc

Given that you have installed the libraries in the default installation location, add the following lines after the last line in the .bashrc file

. /opt/intel/bin/compilervars.sh intel64  
. /opt/intel/mkl/bin/mklvars.sh intel64

Save and close the file. Open terminal and run the following command to source the bashrc file.

source ~/.bashrc

Installation

Downloading ParMooN ( git ):

ParMooN ( Developmental Version – Closed Group ) – https://github.com/cmgcds/ParMooN_CMG.git


ParMooN can be cloned into your local machine using the following commands.

  1. Create a directory where you need to download ParMooN . ( Here the directory name will be PARMOON_CODES
mkdir PARMOON_CODES

The pull the code from github using the following command

git clone https://github.com/cmgcds/ParMooN.git

Short Instructions to Compile and run CD2D Program – ParMooN

These are the instructions that you need to follow inorder to run a basic CD2D ( Convection Diffusion Reaction – Equation ) from ParMooN in 2D.

  1. Navigate inside the directory and create a new directory to build the code
cd PARMOON

Note : run the command “ls” in the terminal , and you should be able to see the following folder structures to verify that you are in the right directory

~/PARMOON_CODES/ParMooN$ ls -lsrt
4 drwxrwxrwx  5 thivin thivin  4096 Dec  6  2019 CMakeFiles
4 drwxrwxrwx 3 thivin thivin 4096 Dec 6 2019 cmake
4 drwxrwxrwx 14 thivin thivin 4096 Mar 3 2020 Examples
4 drwxrwxrwx 14 thivin thivin 4096 Mar 3 2020 include
4 drwxrwxrwx 11 thivin thivin 4096 Mar 3 2020 src
12 drwxrwxrwx 5 thivin thivin 12288 Mar 13 2020 data
4 drwxrwxrwx 2 thivin thivin 4096 Mar 22 2020 3DPrograms
4 drwxrwxrwx 2 thivin thivin 4096 Mar 22 2020 2DPrograms
4 drwxrwxrwx 3 thivin thivin 4096 Apr 15 14:52 ReadIn
16 -rwxrwxrwx 1 thivin thivin 15324 Apr 17 07:42 CMakeLists.txt
12 -rwxrwxrwx 1 thivin thivin 8965 May 11 13:57 UserConfig.cmake
4 drwxrwxrwx 13 thivin thivin 4096 Aug 16 17:32 EXT_LIB

2, BUILD FOLDER CREATION :Create a new directory under the current directory for the BUILD and navigate inside the directory

mkdir BUILD
cd BUILD

3,RUN CMAKE : Run the Cmake process from the current directory using

cmake ../

Note : when ParMooN is downloaded from git, theUserconfig.cmake is by default configured for running a CD2D program. To know more about how to compile for other programs, Refer the sections below.

CMAKE VALIDATION: please check whether the cmake process has been executed successfully. for a CD2D program , a successfull execution should have the following terms in the console


Note : for Errors related to cmake , please refer the Troubleshooting section

-- Configuring done
-- Generating done
-- Build files have been written to: /home/thivin/PARMOON_CODES/ParMooN/BUILD

4. RUN MAKE :Then run Make to generate the executable file

make -j4

MAKE FILE VALIDATION:
Please ensure that the compilation is successfull. Upon successfull compilation you should get an message in the output console

Scanning dependencies of target parmoon_2D_SEQUENTIAL.exe
[100%] Building CXX object CMakeFiles/parmoon_2D_SEQUENTIAL.exe.dir/2DPrograms/CD2D_ParMooN.C.o
[100%] Linking CXX executable /home/thivin/PARMOON_CODES/ParMooN_Output/CD2D/parmoon_2D_SEQUENTIAL.exe
[100%] Built target parmoon_2D_SEQUENTIAL.exe

Now the executable shouble be generated in the name of PARMOON_2D_SEQUENTIAL.exe in the directory
ParMooN_Output/CD2D. Navigate to the output directory

cd ../../ParMooN_Output/CD2D

Now copy the .dat file to the execution directory

Note : MOre information about the dat file will be provided in the section below

cp ../../ParMooN/ReadIn/cd2d.dat .

5. RUN THE EXECUTABLE : Run the CD2D Program using the following command

./parmoon_2D_SEQUENTIAL.exe cd2d.dat

Validation: The program should have completed a successful execution without any error messages.

6: VISUALISATION In order to visualise the result, open paraview and navigate to the VTK folder to visualisation

ParMooN_Output/CD2D/VTK/unitsquare.0000.vtk

Once the file is selected , click on apply on the properties screen on the paraview ( left side window ) to get the following solution ( for sinelaplace problem )