LLNL / Qball
Licence: gpl-3.0
Qball (also known as [email protected]) 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.
Stars: ✭ 33
Programming Languages
cpp
1120 projects
Labels
Projects that are alternatives of or similar to Qball
Libtommath
LibTomMath is a free open source portable number theoretic multiple-precision integer library written entirely in C.
Stars: ✭ 438 (+1227.27%)
Mutual labels: mpi
Openmm
OpenMM is a toolkit for molecular simulation using high performance GPU code.
Stars: ✭ 791 (+2296.97%)
Mutual labels: molecular-dynamics
Uammd
A CUDA project for Molecular Dynamics, Brownian Dynamics, Hydrodynamics... intended to simulate a very generic system constructing a simulation with modules.
Stars: ✭ 11 (-66.67%)
Mutual labels: molecular-dynamics
Easylambda
distributed dataflows with functional list operations for data processing with C++14
Stars: ✭ 475 (+1339.39%)
Mutual labels: mpi
Kratos
Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
Stars: ✭ 558 (+1590.91%)
Mutual labels: mpi
Faasm
High-performance stateful serverless runtime based on WebAssembly
Stars: ✭ 403 (+1121.21%)
Mutual labels: mpi
Mdanalysis
MDAnalysis is a Python library to analyze molecular dynamics trajectories.
Stars: ✭ 589 (+1684.85%)
Mutual labels: molecular-dynamics
Hoomd Tf
A plugin that allows the use of Tensorflow in Hoomd-Blue for GPU-accelerated ML+MD
Stars: ✭ 25 (-24.24%)
Mutual labels: molecular-dynamics
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+17039.39%)
Mutual labels: mpi
Ucx
Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group)
Stars: ✭ 471 (+1327.27%)
Mutual labels: mpi
Pp Mm A03
Parallel Processing - Matrix Multiplication (Cannon, DNS, LUdecomp)
Stars: ✭ 12 (-63.64%)
Mutual labels: mpi
Awesome Python Chemistry
A curated list of Python packages related to chemistry
Stars: ✭ 410 (+1142.42%)
Mutual labels: molecular-dynamics
Pydhamed
Dynamic Histogram Analysis To Determine Free Energies and Rates from Biased Simulations
Stars: ✭ 17 (-48.48%)
Mutual labels: molecular-dynamics
Prpl
parallel Raster Processing Library (pRPL) is a MPI-enabled C++ programming library that provides easy-to-use interfaces to parallelize raster/image processing algorithms
Stars: ✭ 15 (-54.55%)
Mutual labels: mpi
Qball
Installing
To compile Qball we use a GNU Autools procedure:
- Generate the configure script (you need autoconf and automake).
autoreconf -i
- 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
- Run the configure script with the necessary flags:
./configure --prefix=...
-
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
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].