Git Product home page Git Product logo

sunjiuyu / qball Goto Github PK

View Code? Open in Web Editor NEW

This project forked from llnl/qball

0.0 0.0 0.0 98.06 MB

Qball (also known as qb@ll) is a first-principles molecular dynamics code that is used to compute the electronic structure of atoms, molecules, solids, and liquids within the Density Functional Theory (DFT) formalism. It is a fork of the Qbox code by Francois Gygi.

License: GNU General Public License v3.0

C 2.24% C++ 74.54% Makefile 1.66% Shell 0.41% Perl 7.51% Fortran 8.80% M4 1.93% HTML 2.91%

qball's Introduction

Qball

Installing

To compile Qball we use a GNU Autools procedure:

  1. Generate the configure script (you need autoconf and automake).
autoreconf -i
  1. Now you need to determine how to run the configure script. Since Qball depends on some non-standard libraries you might need to set some environment variables and to add some flags to tell qball where to find those libraries.
Environment variable Description Note
CC C compiler Default is mpicc
CXX C++ compiler Default is mpic++
FC Fortran compiler Default is mpif90. Used only to detect Fortran libraries.
CFLAGS C compiler flags
CXXFLAGS C++ compiler flags
FCFLAGS Fortran compiler flags Used only to detect Fortran libraries.
LDFLAGS Flags to add to the linker
LIBS Extra libs add to linking
LIBS_BLAS Compilation flags to add the blas library
Flag Value Note
--prefix= installation directory default is /usr/local
--with-fftw3-prefix= path where fftw3 is installed
--with-fftw2-prefix= path where fftw2 is installed
--with-essl-prefix= path where the IBM ESSL library is installed
--with-blas= path where the Blas library file is located you can also use LIBS_BLAS
--with-lapack= path where the lapack library file is located
--with-blacs= path where the blacs library file is located you can also pass the location of scalapack
--with-scalapack= path where the scalapack file is located

For example, for a Blue Gene/Q system, you configure script might look something like this:

QBALLPREFIX=/usr/local/
QBALLDEPS=$QBALLPREFIX/dependencies/
export CC=mpixlc_r
export CXX=mpixlcxx_r
export FC=mpixlf95_r
export LIBS_BLAS="-L/usr/local/tools/essl/5.1/lib/ -lesslsmpbg"
export LIBS_BLACS="-lmpiblacs"
export LDFLAGS="-qsmp=omp"
export CFLAGS="-O3 -qsmp=omp -qarch=qp -qtune=qp"
export CXXFLAGS="$CFLAGS -qlanglvl=extended0x"
export FCFLAGS=$CFLAGS" -qxlf90=autodealloc -qessl -I$HOME/$xarch/fftw-3.3.4/include"
./configure --with-essl-prefix=/usr/local/tools/essl/5.1/ \
  --with-lapack=$QBALLDEPS/lib/liblapack.a --with-blacs=$QBALLDEPS/lib/libscalapack.a --prefix=$QBALLPREFIX
  1. Run the configure script with the necessary flags:
./configure --prefix=... 
  1. Now we are ready to build the code:

    make
    make install
    

Contact Erik Draeger ([email protected]) or Xavier Andrade ([email protected]) with any questions or problems.

Running

To run Qball, one needs an input file (.i), a coordinate file (.sys) and pseudopotential file(s) (.xml). Input examples can be found in the examples/ directory.

The input file can be specified either as an argument or as stdin to qball, e.g.

srun -n 16384 qball gold.N992.i > gold.N992.out

srun -n 64 qball < test.i > test.out

Release

Qball is licensed under the terms of the GPL v3 License.

LLNL-CODE-635376

qball's People

Contributors

xavierandrade avatar draeger1 avatar xorjane avatar akononov avatar dillonyost avatar correaa avatar bhatele avatar ianlee1521 avatar janeelizabeth avatar alfc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.