Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 1.66 KB

README.rst

File metadata and controls

38 lines (26 loc) · 1.66 KB

ParQC

Overview

A parallelized phason strain algorithm for constructing the hyperlattice matrix from molecular simulations. The user must write the position and neighbor list, which can be done with the provided jupyter notebook. The C++ file will write H*.txt. This project was initially conceived for fulfilling a requirement for EECS 587 at the University of Michigan

Use

To use, clone and compile from the GitHub repository. You must have the OpenMP library and a compatible OpenMP compiler

git clone https://github.com/AlainKadar/ParQC
g++ -std=c++11 -o lift lift.cpp -fopenmp

To use the GPU implementation, you must have the CUDA compiler, nvcc:

nvcc -std=c++11 -o lift lift.cu  -Xcompiler -fopenmp

You can check the executables work by testing whether running the Verifier.ipynb notebook reconstructs the gsd file from the hyperlattice matrix computed by lift. This notebook requires the freud and gsd python libraries. The code can be run on new gsd files by first writing the neighbor and position lists with the notebook and then running the code from either the terminal or a bash script:

GSD_NAME='new'
Q_THREADS=1
NL_THREADS=2
V_THREADS=2
ORIGIN=0
SCALE=1

./lift $GSD_NAME $Q_THREADS $NL_THREADS $V_THREADS $ORIGIN $SCALE