Skip to content

biswas34/Installing_vasp

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 11 commits behind GreeleyGroup:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Installing VASP on RCAC Clusters

Latest edits: Kaustubh Sawant (25th June 2022)

Source Location:

/depot/jgreeley/apps/vasp/vasp5.4.4/

About RCAC Clusters:

Unfortunately, all three clusters, i.e Halstead, Brown and Bell have different configurations.

  1. Halstead and Brown use Intel CPUs. Therefore both require Intel compilers.
  2. Halstead has Intel-Haswell CPUs, which are a different architecture from Brown, which uses Intel-Skylake CPUs. Therefore, Halstead and Brown have different binaries.
  3. Bell has AMD CPUs. Therefore they require GCC compilers. Fortunately, Intel compilers also work and sometimes give better performance.

VASP Build System

Please find the VASP provided README File in /Installing_vasp/Vasp5.4.4/README. Important snippets from that file are copied here.

The build system of VASP (as of versions >= 5.4.1) has the following structure:

           vasp.X.X.X (root directory)
                         |
      ---------------------------------------
     |              |          |             |
    arch           bin       build          src
                                             |	
                                        ----------
                                       |          |
                                      lib       CUDA

root/ : Holds the high-level makefile, and several subdirectories.

root/src : Holds the source files of VASP, and a low-level makefile.

root/src/lib : Holds the source of the VASP library (used to be vasp.X.lib), and a low-level makefile.

root/src/CUDA : Holds the source of the cuda-code that will be executed on the GPU by the GPU port of VASP.

root/arch : Holds a collection of makefile.include.arch files.

root/build : The different versions of VASP, i.e., the standard, gamma-only, non-collinear version will be build in seperate subdirectories of this directory.

root/bin : Here make will store the binaries.

Where is Vasp ?

All zipped version are on depot.

How to make VASP

1. Load the righ modules.

module load intel
module load impi

2. Copy one of the makefile.include.arch files in root/arch to root/makefile.include.

The details of each tag in makefile.include are in the VASP provided README file. Take one that most closely reflects your system (hopefully). For instance, on a linux box with the Intel Composer suite:

cp arch/makefile.include.linux_intel  ./makefile.include

In many cases these makefile.include files will have to be adapted to the particulars of your system. For example, we use the OFLAG = -xhost -O2 tag to decide the right level of optimization. Secondly make sure you have the right path for all the libraries. These settings work for all 3 clusters.

BLACS      = -lmkl_blacs_intelmpi_lp64
SCALAPACK  = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
OBJECTS    = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
INCS       =-I$(MKLROOT)/include/fftw
LLIBS      = $(SCALAPACK) $(LAPACK) $(BLAS)

3. When you've finished setting up makefile.include, build VASP:

make all

This will build the standard, gamma-only, and non-collinear version of VASP one after the other.

Alternatively on may build these versions individually:

make std
make gam
make ncl

How to make VASP - VTST

Note : The vtst codes will change the VASP src files. Maintain a copy of the original VASP source code.

1. Copy all the files from vtst/vtstcode5/* in VASP src folder

cp /vtst/vtstcode5/* ./src/

2. Apply patches for vasp5.4.4

cd src
patch -b -p0 < vasp-5.4.4-mpmd.patch
cd ../

3. Modify main.F file in /src/

Find and replace:

CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &
     LATT_CUR%A,LATT_CUR%B,IO%IU6)

with

CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &
     TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)

4. Update SOURCE variable in /src/.objects file

Find the variable SOURCE, which defines which objects will be built, and add the following objects before chain.o:

bfgs.o dynmat.o  instanton.o  lbfgs.o sd.o   cg.o dimer.o bbm.o \
fire.o lanczos.o neb.o  qm.o opt.o

The objects dynmat.o, neb.o, dimer.o, lanczos.o, and instanton.o must be in the SOURCE list before chain.o appears. The optimizer objects, sd.o, cg.o, qm.o, lbfgs.o, bfgs.o, and fire.o must appear before the optimizer driver opt.o.

Steps 3 and 4 can be applied using the patch file /patch/patch.rcac.vtst

patch -b -p0 < patch.rcac.vtst

5. Build Vasp

make all

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages

  • Fortran 98.9%
  • Other 1.1%