1
# This file contains the definition of a molecule named "Monomer".
2
# (This particular molecule contain only one atom, but that is up to you.)
3
# Later, multiple monomers can be connected together to build a molecule.
9
# atom-id mol-id(ignore) atom-type q x y z
12
$atom:a $mol @atom:A 0.000 0.00000 0.00000 0.00000
15
# (The x y z positions will be changed later with move commands
16
# You can spedify charge and other properties by changing the atom_style.)
22
write_once("Data Masses") {
26
# pairwise interactions (between non-bonded atoms):
28
# U(r) = 4*eps*((r/sig)^12 - (r/sig)^6)
30
# Note: when sigma=0.8908987181403393=2^(1/6), the minimia is at r=1.0
32
# atom-type atom-type pair_style epsilon sigma rcutoff
34
write_once("In Settings") {
35
# I usually use sigma = 2^(-(1/6)), with a cutoff of 1
36
#pair_coeff @atom:A @atom:A lj/cut 1.0 0.8908987181403393 1.0
37
# In the 2013 Science (metaphase) paper, Imakaev used sigma=1.0
38
# with a cutoff of 2^(1/6). Here we are trying to reproduce his results.
40
#pair_coeff @atom:A @atom:A lj/cut 1.0 1.0 1.122462048309373
41
# 30nm fiber (4.25^(1/2)=2.0615528128088303)
42
#pair_coeff @atom:A @atom:A lj/cut 1.0 2.0615528128088303 2.314014792963349
43
# 30nm fiber (4.25^(1/3)=1.6198059006387417)
44
pair_coeff @atom:A @atom:A lj/cut 1.0 1.6198059006387417 1.8181706490945708
52
# --------------------------------------------------------------------
54
# At some point we need to specify which force-field styles we want.
55
# LAMMPS also allows you to customize the kinds of properties you want
56
# each atom to have (the "atom_style"), such as charge, molecule-id, dipole etc.
57
# I typically specify this here. Doing it this way means that all systems built
58
# from "Monomers" (ie which import "monomer.lt") share these atom-styles
59
# and force-field styles by default. You can override these settings later.
62
write_once("In Init") {
63
# Default styles for molecules built out of "Monomers"
67
bond_style hybrid harmonic table linear 4001
68
angle_style hybrid cosine
71
# If you need angles, dihedrals and impropers, uncomment or replace:
72
# angle_style hybrid harmonic
73
# dihedral_style hybrid fourier
75
pair_style hybrid lj/cut 2.5
77
# If you are using gpu acceleration uncomment these lines:
78
# package gpu force/neigh 0 0 1.0
79
# pair_style hybrid lj/cut/gpu 4.0
81
pair_modify mix arithmetic
82
special_bonds lj/coul 1 1 1