Skip to content

2D and 3D wormlike chain generator for Python and written in C++

License

Notifications You must be signed in to change notification settings

kmdouglass/PolymerCpp

Repository files navigation

PolymerCpp

2D and 3D wormlike chain generator for Python and written in C++.

A wormlike chain generated by PolymerCpp

DOI

PolymerCpp is a small program for generating three-dimensional wormlike chains (WLC), a common and relatively simple model in polymer physics. A WLC describes a semi-flexible polymer, i.e. one that is rigid over short length scales and flexible over long ones. The characteristic length scale that separates these two regimes is known as the persistence length.

PolymerCpp provides a number of Python functions that exposes the C++ routines for generating 3D WLCs, including

  1. infinitesimally thin WLCs
  2. self-avoiding WLCs

PolymerCpp was written by Marcel Stefko and Kyle M. Douglass in the Laboratory of Experimental Biophysics for modeling DNA.

Important Note: The self-avoiding wormlike chain in this program does not produce the predicted scaling behavior for the moments (radius of gyration and end-to-end distance). Do not use the self-avoiding chain if you require exact agreement with the Flory theory.

Documentation

PolymerCpp documentation may be found at http://polymercpp.readthedocs.io/en/latest/

Important Note: The PolymerCpp API is not yet fixed and may change between versions.

License

PolymerCpp is licensed under the GNU General Public License, version 3. See the LICENSE file for more information.

PolymerCpp uses the Eigen library, which is licensed under the Mozilla Public License. For more information about Eigen, visit its website: http://eigen.tuxfamily.org/index.php?title=Main_Page