Skip to content

A parallelized phason strain algorithm for constructing the hyperlattice matrix from molecular simulations.

Notifications You must be signed in to change notification settings

AlainKadar/ParQC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A parallelized phason strain algorithm for constructing the hyperlattice matrix from molecular simulations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published