Application of ab initio In Zr-alloys for Nuclear Power Stations Xushan Zhao, Yang Chen General Research Institute for NonFerrous metals of Beijing September 2010 Zr-alloys : Safety Wall of Nuclear Station Characteristics: • Low neutron absorption Cross section • High strength • Good ductility • Low corrosion rate Main Purposes: • Nuclear reactor fuel cladding Our Application and Expectation PROPERTY PREDICT COMPOSITION STUCTURE Our Application Softpackage A package for performing ab-initio quantum-mechanical molecular dynamics (MD) . Installation of the Program 1. Fortran Compiler 2. Math Kernel Library 3. Install MPICH2 compile the Vasp software used during the calculation for parallel calculation First Step: Install the Fortran Compiler free tools for non-commercial software development unpack it into a writeable directory of your choice using the command: tar –xzvf name-of-downloaded-file change the directory (cd) to the directory containing the unpacked files and begin the installation using the command: ./install.sh Establishing the Compiler Environment : source /opt/intel/Compiler/11.1/xxx/bin/ifortvars.sh (default for system-wide installation is /opt/intel) Second Step: Install Math Kernel Library free tools for non-commercial software development Intel® Math Kernel Library (Intel® MKL) is a library of highly optimized, extensively threaded math routines for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more. Offering performance optimizations for current and next-generation Intel® processors, it includes improved integration with Microsoft Visual Studio*, Eclipse*, and XCode*. change the directory (cd) to the directory containing the unpacked files and begin the installation using the command: ./install.sh Third Step: Install MPICH2 Unpack the tar file and go to the top level directory: tar xzf mpich2-1.3b1.tar.gz cd mpich2-1.3b1 Configure MPICH2 specifying the installation directory: ./configure --prefix=/home/<USERNAME>/mpich2-install Then: make make install Final Step: Install Our Program There are two directories in which VASP resides: • …/vasp.5.lib holds files which change rarely, but might require considerable changes for supporting new machines • …/vasp.5.2 contains the VASP code, and changes with every update. cd vasp.4.lib cp makefile.machine makefile You might choose makefile.machine from the following list: makefile.cray makefile.dec makefile.hp makefile.linux_abs makefile.linux_alpha makefile.linux_ifc_P4 makefile.linux_ifc_ath makefile.linux_pg makefile.nec makefile.rs6000 makefile.sgi makefile.sp2 makefile.sun makefile.t3d makefile.t3e makefile.vpp Modify the makefile in vasp.lib directory mpif90 Then make we will obtain a libdmy.a file In vasp.5.2 directory: Modify the directory of MKL library Then &make , we will obtain the vasp excutive file. How VASP runs? MPI Version of VASP: It generates several MPI processes on each core and parallel execution between nodes , is performed using MPI communication between processes. Generate several mpi processers Submit job to the WN WN 1 WN 2 WN 3 WN 4 WN 5 WN 6 WN 7 …………….. 4 Input files mpdboot mpirun -np 2 vasp >&runlog runlog files Onput files input files <1 Mb output files <100 Mb .pbs FILE ……….. ########################################## # Output some useful job information. ########################################## JOBINFOR=$PBS_JOBID MASTERNODE=`hostname` SCRATCHDIR=$PBS_JOBID NCPU=`wc -l < $PBS_NODEFILE` SERVER=$PBS_O_HOST WORKDIR=$PBS_O_WORKDIR MKDIR=/bin/mkdir RSH=/usr/bin/rsh CP=/bin/cp LAUNCH="/disk6/xlxy50123k/copy/mpich-1.2.7p1/bin/mpirun -np $NCPU machinefile “ location of mpich and the number of CPUS We Needed PROGRAMEXEC="/disk6/xlxy50123k/copy/bin/vasp.neb“ calling VASP program ……. To run the job : qsub vasp.pbs -l nodes=20:ppn=1 -N job Some Information Of the test job: Our Demand on CPU’s • • • • One Single run: 20~30*3.06G Intel Xeon CPU,2GB Memory Cost: 2-7 days depend on the accuracy we set One simulation always have >10 jobs • Therefore: • ~100 CPU’S maybe enough for our job • More CPU’s will help us to reach high accuracy