Skip to content

irisTa56/ppap4lmp

Repository files navigation

ppap4lmp

PostProcess and Analysis Program for LAMMPS

Documentation (generated by Doxygen)

Documenting

  1. Checkout to gh-pages branch.
  2. Remove docs/ from .gitignore.
  3. Run ./documentation.py.
  4. To publish the documentation, push docs/ directory as origin/gh-pages.
    git subtree push --prefix docs origin gh-pages

Note that local and remote gh-pages branch are different.

Features

  • Implemented by C++, Used from Python
  • Data stored in Json structure
  • Extensible without editing existing codes

Installation

via Conda

conda install -c irista56 ppap4lmp

Development version

Just clone this repository and pip install. Note that Eigen is required.

git clone --recursive https://github.com/irisTa56/ppap4lmp.git
cd ppap4lmp
pip install .
# (or) pip install -e .
# (or) pip install --user .
# (or) pip install --user -e .

Test your installation.

cd tests
tar xzvf archive.dumps_bead.tar.gz
tar xzvf archive.dumps_atom.tar.gz
python test.py

Tests can be conducted separately.

python test.py starter # filter, adder, processor

Development version in Mac

If you prefer Homebrew

  1. install dependencies
# install compiler and build tool
brew install gcc cmake
# install dependent libraries
brew install eigen pybind11
# install runtime dependency
brew install python; pip install numpy
  1. get & build source
git clone --recursive https://github.com/irisTa56/ppap4lmp.git
cd ppap4lmp
export CXX=g++-8
pip install .
# (or) pip install -e .
# (or) pip install --user .
# (or) pip install --user -e .
  1. run tests!

If you prefer Conda

  1. install dependencies
conda install -c conda-forge \
  clangxx openmp cmake eigen pybind11 nlohmann_json numpy
  1. get & build source; you do not need submodules
git clone https://github.com/irisTa56/ppap4lmp.git
cd ppap4lmp
export CXX=clang++  # Conda's clang++
export CXXFLAGS="-I/path/to/conda/include -L/path/to/conda/lib"
# (example) export CXXFLAGS="-I$HOME/miniconda3/include -L$HOME/miniconda3/lib"
pip install .
# (or) pip install -e .
# (or) pip install --user .
# (or) pip install --user -e .
  1. run tests!

Profiling

Install a profiling tools library.

conda install gperftools  # need conda-forge channel
pip install yep  # libprofile should be found

Append the below line to CMakeLists.txt.

target_link_libraries(_ppap4lmp PRIVATE profiler)

Build & install.

Profiling tests

Run the below command instead of python test.py.

python -m yep -- test.py

Profile interactively.

# If you used Conda's Python
pprof $CONDA_PYTHON_EXE test.py.prof

Acknowledgement

This project would not be possible without the following great open-source projects.

Known Bugs

  • Error in 'python': double free or corruption (out): occurs when exiting from Jupyter.

About

PostProcess and Analysis Program for LAMMPS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages