# Install

This finite element framework is based on PETSc. You will need to download and install this library to use PetIGA.

## PETSc

PetIGA works with the release of PETSc as well as PETSc-Dev. For the most recent release of PETSc, download the compressed tar file from this page. You may also use the development version of PETSc which can be checked-out using Git by the following command:

git clone https://bitbucket.org/petsc/petsc.git petsc-dev


In either case, once you have the library source code downloaded, enter top-level source directory and run the configure script:

cd petsc-dev
./configure


Once the configure is complete, the output from the script will guide you in how to finish compiling the library. At this point, note the values that PETSc assigns to 2 environment variables: PETSC_DIR and PETSC_ARCH. We suggest exporting these variables in your .bashrc or .profile file such that they are always set in your environment. PetIGA will depend on these variables being set properly. For troubleshooting the configuring and compilation of PETSc, please refer to its page on the topic.

## PetIGA

The development version of PetIGA can be checked-out using Mercurial by the following command:

hg clone https://bitbucket.org/dalcinl/PetIGA


To compile PetIGA, simply enter into the top level directory and type make. PetIGA will compile a library based on the values of PETSC_DIR and PETSC_ARCH. That is, if PETSC_ARCH points to a version of PETSc with debug flags, then PetIGA will be compiled with debug flags. To ensure that the installation is correct, you can then type make test. PetIGA, like PETSc, uses an environment variable to point to the location of the library, PETIGA_DIR. We recommend adding this variable to your .bashrc or .profile file as well.