Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCPAK

This is a package for Monte Carlo sampling of conformations of single coarse-grained polymer chains using the Metropolis algorithm.

Features

Three different chain architectures are supported:

  • Linear
  • Ring
  • Graft (linear or ring). Examples include bottlebrushes and comb polymers.

The chain can have different parameters for bonds and angles. Dihedrals are not supported as they are unusual to include for coarse-grained models. However, there is a stub file for dihedrals, and different styles many be added if necessary.

The following bond styles are available:

  • None (no bond)
  • Harmonic
  • Shifted-FENE
  • Kremer-Grest
  • Tabulated

The following angle styles are available:

  • None (no angle)
  • Harmonic
  • Cosine
  • Tabulated

Polymer segments may be tethered using either of the two styles:

  • Harmonic
  • FENE

A chain may be subject to an external field. At present, the ones available are:

  • Constant force on a segment along x-direction.
  • Hard wall

It is fairly straightforward to add other external field styles if necessary.

The following non-bonded pair styles are included:

  • None (no pairwise interaction)
  • Hard sphere
  • Lennard-Jones with cut-off
  • Square-well
  • Gaussian
  • Tabulated

The code supports the following kinds of MC moves:

  • Displacement
  • Crankshaft
  • Pivot
  • Side chain pivot (for grafted polymers)
  • Restricted pivot (for grafted polymers). Unlike usual pivot, the rotation axis for is chosen along the bond incident to the pivot point. This move may be useful for molecules that are restricted to be in a stretched conformation or if angular constraints need to be respected.

Installation

Prerequisites

Compilation

The code can be compiled using the Makefile in the build directory (checked with gfortran >= 7.0 ). The variables MKLROOT and MKL_INTRFC may be changed to reflect the actual paths of MKL and its interfaces on the system to be installed. After successful compilation, an executable named mcpak will be created in the bin directory.

Running the code

The executable mcpak reads in all input from a file called control.txt (see test/mcpak/control.txt for an example). This file includes the name of the file storing the initial configuration and topology. Initial configurations can be generated using the python scripts in utils/models.

Output trajectory files are in binary format, which can be converted to ascii using the code traj2txt in utils/traj2txt.

Documentation

Documentation generated by FORD is available here.

Publications

This code or parts of it has been used for the folowing publications:

About

Monte Carlo sampling for single linear and branched polymers.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages