cmelab / polybinder

Initialization of thermoplastic polymer systems to simulate thermal welding
GNU General Public License v3.0
2 stars 5 forks source link

pytest build_cpu build_gpu codecov

PolyBinder

Initialization of thermoplastic polymer systems to simulate thermal welding

Installation

Installation of PolyBinder requires the conda package manager

1. Clone this repository:

git clone git@github.com:cmelab/polybinder.git  
cd polybinder  

2. Set up and activate environment:

a. Using HOOMD-blue from conda:

conda env create -f environment-cpu.yml  
conda activate polybinder 
python -m pip install .

Containers

PolyBinder containers with HOOMD compiled to work on cpu and gpu are availiable: polybinder_cpu and polybinder_gpu.

To use PolyBinder in a prebuilt container (using Singularity), run:

singularity pull docker://cmelab/polybinder_cpu:latest
singularity exec polybinder_cpu_latest.sif bash

Or using Docker, run:

docker pull cmelab/polybinder_cpu:latest
docker run -it cmelab/polybinder_cpu:latest

Basic Usage

Essentially all of the functionality lives in the simulate.py and system.py files

from polybinder import simulate, system

There are two primary classes used to initialize a system and simulation:

system.System() Used to generate the entire system, and ultimately a paramaterized parmed struture object.

simulate.Simulation() This class takes in the parmed structure from System and initializes one of two possible simulation methods using the Hoomd package

  1. quench Simulation.quench()
  2. anneal Simulation.anneal()