Git Product home page Git Product logo

pymdstresslab's Introduction

PyMDStressLab

Python bindings for MDStressLab++. This repository contains the python module which will use libMDStressLab++ as a backend to compute continuous stress fields from MD trajectories.

Current dependencies

  • KIM-API > 2.2
  • Pybind11

Installation:

Easiest way to run pymdstresslab right now is to use KIM Developer Platform.

Steps:

# 1. Clone the source code
git clone https://github.com/nikhil-admal/pymdstresslab.git

# 2. Initialize the submodules
cd pymdstresslab
git submodule init # to be sure that submodules are present
git submodule update

# 3. Launch KIM Developer Docker image
docker run -it --name mdstress_dev --mount type=bind,source=/full/path/to/pymdstresslab,target=/home/openkim/pymdstresslab ghcr.io/openkim/developer-platform /bin/bash

# 4. This should launch a new prompt, within docker image:
# Update pip, for some reason pip < 22.0 fails
openkim@xxxxxx$ sudo pip install --upgrade pip

# 5. Change directory to pymdstresslab and install
openkim@xxxxxx$ cd ~/pymdstresslab
openkim@xxxxxx$ pip install .

# 6. Test the installation
#    a. Install KIM model
openkim@xxxxxx$ kimitems install SW_StillingerWeber_1985_Si__MO_405512056662_006

#    b. Change to tests directory
cd tests
python testSW.py

You should now see a successful run.

Old Installation:

Currently it can be installed as a editable python module. It requires a functioning pybind11 installation on the system to compile, and at present need libMDStressLab++.so in its LD_LIBRARY_PATH variable. The latter requirement would be self contained in next iteration.

source /path/to/python_env
git clone https://github.com/nikhil-admal/pymdstresslab.git
cd pymdstresslab
git submodule init # to be sure that submodules are present
pip install -e .

Above shall compile and install PyMDStressLab. In some cases you might need to explicitly copy compiled libMDStressLab++.so to src/pymdstresslab/shared_objects/mdstresslab. Working on its workaround.

pymdstresslab's People

Contributors

ipcamit avatar nikhil-admal avatar leimeroth 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.