Upgrade to oxDNA2

This commit is contained in:
Oliver Henrich 2017-03-28 18:16:36 +01:00
parent af0b5b0e84
commit 8afed61db1
50 changed files with 6110 additions and 273 deletions

Binary file not shown.

View File

@ -1140,7 +1140,7 @@ Package, Description, Author(s), Doc page, Example, Pic/movie, Library
"USER-ATC"_#USER-ATC, atom-to-continuum coupling, Jones & Templeton & Zimmerman (1), "fix atc"_fix_atc.html, USER/atc, "atc"_atc, lib/atc
"USER-AWPMD"_#USER-AWPMD, wave-packet MD, Ilya Valuev (JIHT), "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, -, lib/awpmd
"USER-CG-CMM"_#USER-CG-CMM, coarse-graining model, Axel Kohlmeyer (Temple U), "pair_style lj/sdk"_pair_sdk.html, USER/cg-cmm, "cg"_cg, -
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, Oliver Henrich (U Edinburgh), src/USER-CGDNA/README, USER/cgdna, -, -
"USER-CGDNA"_#USER-CGDNA, coarse-grained DNA force fields, Oliver Henrich (U Strathclyde Glasgow), src/USER-CGDNA/README, USER/cgdna, -, -
"USER-COLVARS"_#USER-COLVARS, collective variables, Fiorin & Henin & Kohlmeyer (2), "fix colvars"_fix_colvars.html, USER/colvars, "colvars"_colvars, lib/colvars
"USER-DIFFRACTION"_#USER-DIFFRACTION, virutal x-ray and electron diffraction, Shawn Coleman (ARL),"compute xrd"_compute_xrd.html, USER/diffraction, -, -
"USER-DPD"_#USER-DPD, reactive dissipative particle dynamics (DPD), Larentzos & Mattox & Brennan (5), src/USER-DPD/README, USER/dpd, -, -
@ -1288,25 +1288,29 @@ him directly if you have questions.
USER-CGDNA package :link(USER-CGDNA),h5
Contents: The CGDNA package implements coarse-grained force fields for
single- and double-stranded DNA. This is at the moment mainly the
oxDNA model, developed by Doye, Louis and Ouldridge at the University
single- and double-stranded DNA. These are at the moment mainly the
oxDNA and oxDNA2 models, developed by Doye, Louis and Ouldridge at the University
of Oxford. The package also contains Langevin-type rigid-body
integrators with improved stability.
See these doc pages to get started:
"bond_style oxdna/fene"_bond_oxdna.html
"bond_style oxdna2/fene"_bond_oxdna.html
"pair_style oxdna/..."_pair_oxdna.html
"pair_style oxdna2/..."_pair_oxdna2.html
"fix nve/dotc/langevin"_fix_nve_dotc_langevin.html :ul
Supporting info: /src/USER-CGDNA/README, "bond_style
oxdna/fene"_bond_oxdna.html, "pair_style
oxdna/..."_pair_oxdna.html, "fix
oxdna/fene"_bond_oxdna.html, "bond_style
oxdna2/fene"_bond_oxdna.html, "pair_style
oxdna/..."_pair_oxdna.html, "pair_style
oxdna2/..."_pair_oxdna2.html, "fix
nve/dotc/langevin"_fix_nve_dotc_langevin.html
Author: Oliver Henrich at the University of Edinburgh, UK (o.henrich
at epcc.ed.ac.uk or ohenrich at ph.ed.ac.uk). Contact him directly if
you have any questions.
Author: Oliver Henrich at the University of Strathclyde, Glasgow, UK and
University of Edinburgh (ohenrich@ph.ed.ac.uk).
Contact him directly if you have any questions.
:line

View File

@ -7,19 +7,24 @@
:line
bond_style oxdna/fene command :h3
bond_style oxdna2/fene command :h3
[Syntax:]
bond_style oxdna/fene :pre
bond_style oxdna2/fene :pre
[Examples:]
bond_style oxdna/fene
bond_coeff * 2.0 0.25 0.7525 :pre
bond_style oxdna2/fene
bond_coeff * 2.0 0.25 0.7564 :pre
[Description:]
The {oxdna/fene} bond style uses the potential
The {oxdna/fene} and {oxdna2/fene} bond styles use the potential
:c,image(Eqs/bond_oxdna_fene.jpg)
@ -36,13 +41,16 @@ epsilon (energy)
Delta (distance)
r0 (distance) :ul
NOTE: This bond style has to be used together with the corresponding oxDNA pair styles
NOTE: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
"pair_style oxdna/excv"_pair_oxdna.html). The coefficients
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
style {oxdna2/dh} have to be defined.
The coefficients
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
Example input and data files can be found in examples/USER/cgdna/examples/duplex1/ and /duplex2/.
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
A simple python setup tool which creates single straight or helical DNA strands,
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
A technical report with more information on the model, the structure of the input file,
@ -60,7 +68,7 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
[Related commands:]
"pair_style oxdna/excv"_pair_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
[Default:] none
@ -68,3 +76,6 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
:link(oxdna_fene)
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
:link(oxdna2)
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).

View File

@ -16,6 +16,7 @@ Bond Styles :h1
bond_none
bond_nonlinear
bond_oxdna
bond_oxdna2
bond_quartic
bond_table
bond_zero

View File

@ -14,15 +14,23 @@ pair_style oxdna/coaxstk command :h3
[Syntax:]
pair_style style :pre
pair_style style1 :pre
style = {hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk} :ul
pair_coeff * * style2 args :pre
style1 = {hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk} :ul
style2 = {oxdna/stk}
args = list of arguments for these two particular styles :ul
{oxdna2/stk} args = T 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
T = temperature (oxDNA units, 0.1 = 300 K) :pre
[Examples:]
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
@ -42,19 +50,23 @@ The exact functional form of the pair styles is rather complex, which manifests
in the above example. The individual potentials consist of products of modulation factors,
which themselves are constructed from a number of more basic potentials
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
We refer to "(Ouldridge-DPhil)"_#Ouldridge-DPhil and "(Ouldridge)"_#Ouldridge
We refer to "(Ouldridge-DPhil)"_#Ouldridge-DPhil1 and "(Ouldridge)"_#Ouldridge1
for a detailed description of the oxDNA force field.
NOTE: These pair styles have to be used together with the related oxDNA bond style
{oxdna/fene} for the connectivity of the phosphate backbone (see also documentation of
"bond_style oxdna/fene"_bond_oxdna.html). The coefficients
"bond_style oxdna/fene"_bond_oxdna.html). With one exception the coefficients
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
The exception is the first coefficient after {oxdna/stk} (T=0.1 in the above example).
When using a Langevin thermostat, e.g. through "fix langevin"_fix_langevin.html
or "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
the temperature coefficients have to be matched to the one used in the fix.
Example input and data files can be found in examples/USER/cgdna/examples/duplex1/ and /duplex2/.
A simple python setup tool which creates single straight or helical DNA strands,
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
A simple python setup tool which creates single straight or helical DNA strands,
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
A technical report with more information on the model, the structure of the input file,
the setup tool and the performance of the LAMMPS-implementation of oxDNA
the setup tool and the performance of the LAMMPS-implementation of oxDNA
can be found "here"_PDF/USER-CGDNA-overview.pdf.
:line
@ -67,14 +79,14 @@ LAMMPS"_Section_start.html#start_3 section for more info on packages.
[Related commands:]
"bond_style oxdna/fene"_bond_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html
"bond_style oxdna/fene"_bond_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html,
"bond_style oxdna2/fene"_bond_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html
[Default:] none
:line
:link(Ouldridge-DPhil)
:link(Ouldridge-DPhil1)
[(Ouldrigde-DPhil)] T.E. Ouldridge, Coarse-grained modelling of DNA and DNA self-assembly, DPhil. University of Oxford (2011).
:link(Ouldridge)
:link(Ouldridge1)
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).

102
doc/src/pair_oxdna2.txt Normal file
View File

@ -0,0 +1,102 @@
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
pair_style oxdna2/excv command :h3
pair_style oxdna2/stk command :h3
pair_style oxdna2/hbond command :h3
pair_style oxdna2/xstk command :h3
pair_style oxdna2/coaxstk command :h3
pair_style oxdna2/dh command :h3
[Syntax:]
pair_style style1 :pre
pair_coeff * * style2 args :pre
style1 = {hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh} :ul
style2 = {oxdna2/stk} or {oxdna2/dh}
args = list of arguments for these two particular styles :ul
{oxdna2/stk} args = T 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
T = temperature (oxDNA units, 0.1 = 300 K)
{oxdna2/dh} args = T rhos qeff
T = temperature (oxDNA units, 0.1 = 300 K)
rhos = salt concentration (mole per litre)
qeff = effective charge (elementary charges) :pre
[Examples:]
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna2/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna2/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna2/hbond 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna2/hbond 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793
pair_coeff * * oxdna2/dh 0.1 1.0 0.815 :pre
[Description:]
The {oxdna2} pair styles compute the pairwise-additive parts of the oxDNA force field
for coarse-grained modelling of DNA. The effective interaction between the nucleotides consists of potentials for the
excluded volume interaction {oxdna2/excv}, the stacking {oxdna2/stk}, cross-stacking {oxdna2/xstk}
and coaxial stacking interaction {oxdna2/coaxstk}, electrostatic Debye-Hueckel interaction {oxdna2/dh}
as well as the hydrogen-bonding interaction {oxdna2/hbond} between complementary pairs of nucleotides on
opposite strands.
The exact functional form of the pair styles is rather complex.
The individual potentials consist of products of modulation factors,
which themselves are constructed from a number of more basic potentials
(Morse, Lennard-Jones, harmonic angle and distance) as well as quadratic smoothing and modulation terms.
We refer to "(Snodin)"_#Snodin and the original oxDNA publications "(Ouldridge-DPhil)"_#Ouldridge-DPhil2
and "(Ouldridge)"_#Ouldridge2 for a detailed description of the oxDNA2 force field.
NOTE: These pair styles have to be used together with the related oxDNA2 bond style
{oxdna2/fene} for the connectivity of the phosphate backbone (see also documentation of
"bond_style oxdna2/fene"_bond_oxdna.html). Almost all coefficients
in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
Exceptions are the first coefficient after {oxdna2/stk} (T=0.1 in the above example) and the coefficients
after {oxdna2/dh} (T=0.1, rhos=1.0, qeff=0.815 in the above example). When using a Langevin thermostat
e.g. through "fix langevin"_fix_langevin.html or "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html
the temperature coefficients have to be matched to the one used in the fix.
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
A simple python setup tool which creates single straight or helical DNA strands,
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
A technical report with more information on the model, the structure of the input file,
the setup tool and the performance of the LAMMPS-implementation of oxDNA
can be found "here"_PDF/USER-CGDNA-overview.pdf.
:line
[Restrictions:]
These pair styles can only be used if LAMMPS was built with the
USER-CGDNA package and the MOLECULE and ASPHERE package. See the "Making
LAMMPS"_Section_start.html#start_3 section for more info on packages.
[Related commands:]
"bond_style oxdna2/fene"_bond_oxdna.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "pair_coeff"_pair_coeff.html,
"bond_style oxdna/fene"_bond_oxdna.html, "pair_style oxdna/excv"_pair_oxdna.html
[Default:] none
:line
:link(Snodin)
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).
:link(Ouldridge-DPhil2)
[(Ouldrigde-DPhil)] T.E. Ouldridge, Coarse-grained modelling of DNA and DNA self-assembly, DPhil. University of Oxford (2011).
:link(Ouldridge2)
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).

View File

@ -60,6 +60,7 @@ Pair Styles :h1
pair_meam_sw_spline
pair_mgpt
pair_mie
pair_momb
pair_morse
pair_multi_lucy
pair_multi_lucy_rx
@ -67,6 +68,7 @@ Pair Styles :h1
pair_nm
pair_none
pair_oxdna
pair_oxdna2
pair_peri
pair_polymorphic
pair_quip

View File

@ -7,9 +7,9 @@ Input, data and log files for a DNA duplex (double-stranded DNA)
consisiting of 5 base pairs. The duplex contains two strands with
complementary base pairs. The topology is
A - A - A - A - A
A - C - G - T - A
| | | | |
T - T - T - T - T
T - G - C - A - T
/examples/duplex2:
Input, data and log files for a nicked DNA duplex (double-stranded DNA)
@ -18,9 +18,9 @@ complementary base pairs, but the backbone on one side is not continuous:
two individual strands on one side form a duplex with a longer single
strand on the other side. The topology is
A - A - A - A - A - A - A - A
A - C - G - T - A - C - G - T
| | | | | | | |
T - T - T T - T - T - T - T
T - G - C - A T - G - C - A
/util:
This directory contains a simple python setup tool which creates

View File

@ -29,17 +29,19 @@ bond_coeff * 2.0 0.25 0.7525
# oxDNA pair interactions
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
# NVE ensemble
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
fix 1 all nve/dot
fix 1 all nve/dot
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
@ -50,12 +52,12 @@ timestep 1e-5
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
dump pos all xyz ${ofreq} traj.${number}.xyz
#dump pos all xyz ${ofreq} traj.${number}.xyz
compute quat all property/atom quatw quati quatj quatk
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump_modify quat sort id
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
@ -66,9 +68,9 @@ variable epot equal c_epot
variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump_modify out sort id
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000

View File

@ -1,4 +1,4 @@
LAMMPS (17 Mar 2017)
LAMMPS (24 Mar 2017)
variable number equal 1
variable ofreq equal 1000
variable efreq equal 1000
@ -47,17 +47,19 @@ bond_coeff * 2.0 0.25 0.7525
# oxDNA pair interactions
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
# NVE ensemble
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
fix 1 all nve/dot
fix 1 all nve/dot
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
@ -68,16 +70,12 @@ timestep 1e-5
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
dump pos all xyz ${ofreq} traj.${number}.xyz
dump pos all xyz 1000 traj.${number}.xyz
dump pos all xyz 1000 traj.1.xyz
#dump pos all xyz ${ofreq} traj.${number}.xyz
compute quat all property/atom quatw quati quatj quatk
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.1.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump_modify quat sort id
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
@ -89,11 +87,9 @@ variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.1.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump_modify out sort id
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000
Neighbor list info ...
@ -128,7 +124,7 @@ Neighbor list info ...
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 5.864 | 5.864 | 5.864 Mbytes
Per MPI rank memory allocation (min/avg/max) = 2.859 | 2.859 | 2.859 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -1.4711818 0.0069384985 -1.4642433 -6.2745089e-05
1000 ekin = 0.00113448721737003 | erot = 0.00413455947734281 | epot = -14.6477022915193 | etot = -14.6424332448246
@ -1132,21 +1128,21 @@ Step Temp E_pair E_mol TotEng Press
999000 ekin = 0.188315843917223 | erot = 0.335221830000783 | epot = -15.1659709188674 | etot = -14.6424332449494
1000000 ekin = 0.181624323072292 | erot = 0.330966139643599 | epot = -15.155023707645 | etot = -14.6424332449291
1000000 0.013453654 -1.5270261 0.011523695 -1.4973399 -0.00017938261
Loop time of 20.708 on 1 procs for 1000000 steps with 10 atoms
Loop time of 20.6222 on 1 procs for 1000000 steps with 10 atoms
Performance: 41722.955 tau/day, 48290.457 timesteps/s
98.3% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 41896.597 tau/day, 48491.432 timesteps/s
99.7% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 16.255 | 16.255 | 16.255 | 0.0 | 78.50
Bond | 0.72284 | 0.72284 | 0.72284 | 0.0 | 3.49
Pair | 16.511 | 16.511 | 16.511 | 0.0 | 80.07
Bond | 0.67362 | 0.67362 | 0.67362 | 0.0 | 3.27
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.2861 | 0.2861 | 0.2861 | 0.0 | 1.38
Output | 0.37612 | 0.37612 | 0.37612 | 0.0 | 1.82
Modify | 2.6984 | 2.6984 | 2.6984 | 0.0 | 13.03
Other | | 0.3694 | | | 1.78
Comm | 0.28264 | 0.28264 | 0.28264 | 0.0 | 1.37
Output | 6.9141e-06 | 6.9141e-06 | 6.9141e-06 | 0.0 | 0.00
Modify | 2.735 | 2.735 | 2.735 | 0.0 | 13.26
Other | | 0.4197 | | | 2.04
Nlocal: 10 ave 10 max 10 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,4 +1,4 @@
LAMMPS (17 Mar 2017)
LAMMPS (24 Mar 2017)
variable number equal 1
variable ofreq equal 1000
variable efreq equal 1000
@ -47,17 +47,19 @@ bond_coeff * 2.0 0.25 0.7525
# oxDNA pair interactions
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
# NVE ensemble
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
fix 1 all nve/dot
fix 1 all nve/dot
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
@ -68,16 +70,12 @@ timestep 1e-5
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
dump pos all xyz ${ofreq} traj.${number}.xyz
dump pos all xyz 1000 traj.${number}.xyz
dump pos all xyz 1000 traj.1.xyz
#dump pos all xyz ${ofreq} traj.${number}.xyz
compute quat all property/atom quatw quati quatj quatk
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.1.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump_modify quat sort id
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
@ -89,11 +87,9 @@ variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.1.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump_modify out sort id
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000
Neighbor list info ...
@ -128,7 +124,7 @@ Neighbor list info ...
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 11.39 | 11.57 | 11.75 Mbytes
Per MPI rank memory allocation (min/avg/max) = 7.341 | 7.523 | 7.705 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -1.4711818 0.0069384985 -1.4642433 -6.2745089e-05
1000 ekin = 0.00113448721737009 | erot = 0.0041345594773427 | epot = -14.6477022915193 | etot = -14.6424332448246
@ -1132,21 +1128,21 @@ Step Temp E_pair E_mol TotEng Press
999000 ekin = 0.188315843913 | erot = 0.335221830005141 | epot = -15.1659709188617 | etot = -14.6424332449435
1000000 ekin = 0.181624323067651 | erot = 0.330966139648843 | epot = -15.1550237076396 | etot = -14.6424332449231
1000000 0.013453654 -1.5270261 0.011523695 -1.4973399 -0.00016850969
Loop time of 25.8618 on 4 procs for 1000000 steps with 10 atoms
Loop time of 18.8945 on 4 procs for 1000000 steps with 10 atoms
Performance: 33408.360 tau/day, 38667.084 timesteps/s
97.6% CPU use with 4 MPI tasks x no OpenMP threads
Performance: 45727.664 tau/day, 52925.537 timesteps/s
99.5% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.87447 | 8.984 | 15.845 | 210.1 | 34.74
Bond | 0.1157 | 0.36901 | 0.57763 | 31.4 | 1.43
Pair | 0.58931 | 7.2806 | 13.001 | 192.7 | 38.53
Bond | 0.08158 | 0.3024 | 0.49236 | 29.7 | 1.60
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 2.2755 | 2.7104 | 3.0448 | 16.8 | 10.48
Output | 0.15487 | 0.15688 | 0.16013 | 0.5 | 0.61
Modify | 0.24477 | 1.0907 | 1.7796 | 59.9 | 4.22
Other | | 12.55 | | | 48.53
Comm | 1.6616 | 1.8619 | 2.1581 | 13.8 | 9.85
Output | 2.2173e-05 | 2.4319e-05 | 2.5034e-05 | 0.0 | 0.00
Modify | 0.20928 | 0.94821 | 1.6085 | 58.7 | 5.02
Other | | 8.501 | | | 44.99
Nlocal: 2.5 ave 5 max 0 min
Histogram: 1 0 1 0 0 0 0 0 1 1
@ -1162,6 +1158,4 @@ Neighbor list builds = 0
Dangerous builds = 0
#write_restart config.${number}.*
al c_erot
ERROR: Unknown command: al c_erot (../input.cpp:247)
Last command: al c_erot
Total wall time: 0:00:18

View File

@ -29,19 +29,21 @@ bond_coeff * 2.0 0.25 0.7525
# oxDNA pair interactions
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
# NVE ensemble
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/dot
#fix 1 all nve/dot
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
timestep 1e-5
#comm_style tiled
#fix 3 all balance 10000 1.1 rcb
@ -50,12 +52,12 @@ timestep 1e-5
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
dump pos all xyz ${ofreq} traj.${number}.xyz
#dump pos all xyz ${ofreq} traj.${number}.xyz
compute quat all property/atom quatw quati quatj quatk
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump_modify quat sort id
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
@ -66,9 +68,9 @@ variable epot equal c_epot
variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump_modify out sort id
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000

View File

@ -1,4 +1,4 @@
LAMMPS (17 Mar 2017)
LAMMPS (24 Mar 2017)
variable number equal 2
variable ofreq equal 1000
variable efreq equal 1000
@ -47,17 +47,19 @@ bond_coeff * 2.0 0.25 0.7525
# oxDNA pair interactions
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
# NVE ensemble
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/dot
#fix 1 all nve/dot
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
@ -68,16 +70,12 @@ timestep 1e-5
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
dump pos all xyz ${ofreq} traj.${number}.xyz
dump pos all xyz 1000 traj.${number}.xyz
dump pos all xyz 1000 traj.2.xyz
#dump pos all xyz ${ofreq} traj.${number}.xyz
compute quat all property/atom quatw quati quatj quatk
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.2.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump_modify quat sort id
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
@ -89,11 +87,9 @@ variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.2.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump_modify out sort id
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000
Neighbor list info ...
@ -128,7 +124,7 @@ Neighbor list info ...
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 5.868 | 5.868 | 5.868 Mbytes
Per MPI rank memory allocation (min/avg/max) = 2.861 | 2.861 | 2.861 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -1.5402493 0.0070469125 -1.5332024 -8.5641987e-05
1000 ekin = 1.54234964773389 | erot = 1.71563526070267 | epot = -24.5477045187653 | etot = -21.2897196103287
@ -1132,21 +1128,21 @@ Step Temp E_pair E_mol TotEng Press
999000 ekin = 2.0749813057658 | erot = 2.75045972766915 | epot = -20.6160915262949 | etot = -15.79065049286
1000000 ekin = 2.07851119592056 | erot = 2.11869313853033 | epot = -20.4539417072874 | etot = -16.2567373728365
1000000 0.092378275 -1.3359709 0.057599499 -1.1484644 -5.0252938e-05
Loop time of 41.6676 on 1 procs for 1000000 steps with 16 atoms
Loop time of 41.7341 on 1 procs for 1000000 steps with 16 atoms
Performance: 20735.530 tau/day, 23999.457 timesteps/s
99.6% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 20702.495 tau/day, 23961.221 timesteps/s
99.7% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 29.885 | 29.885 | 29.885 | 0.0 | 71.72
Bond | 1.0232 | 1.0232 | 1.0232 | 0.0 | 2.46
Pair | 29.954 | 29.954 | 29.954 | 0.0 | 71.77
Bond | 1.0147 | 1.0147 | 1.0147 | 0.0 | 2.43
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.2572 | 0.2572 | 0.2572 | 0.0 | 0.62
Output | 0.16714 | 0.16714 | 0.16714 | 0.0 | 0.40
Modify | 9.9118 | 9.9118 | 9.9118 | 0.0 | 23.79
Other | | 0.4235 | | | 1.02
Comm | 0.32043 | 0.32043 | 0.32043 | 0.0 | 0.77
Output | 6.9141e-06 | 6.9141e-06 | 6.9141e-06 | 0.0 | 0.00
Modify | 10.025 | 10.025 | 10.025 | 0.0 | 24.02
Other | | 0.4203 | | | 1.01
Nlocal: 16 ave 16 max 16 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,4 +1,4 @@
LAMMPS (17 Mar 2017)
LAMMPS (24 Mar 2017)
variable number equal 2
variable ofreq equal 1000
variable efreq equal 1000
@ -47,17 +47,19 @@ bond_coeff * 2.0 0.25 0.7525
# oxDNA pair interactions
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 1.61048 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna/hbond 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65
# NVE ensemble
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/dot
#fix 1 all nve/dot
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
@ -68,16 +70,12 @@ timestep 1e-5
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
dump pos all xyz ${ofreq} traj.${number}.xyz
dump pos all xyz 1000 traj.${number}.xyz
dump pos all xyz 1000 traj.2.xyz
#dump pos all xyz ${ofreq} traj.${number}.xyz
compute quat all property/atom quatw quati quatj quatk
dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump quat all custom 1000 quat.2.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
dump_modify quat sort id
dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
@ -89,11 +87,9 @@ variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
fix 5 all print 1000 "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump out all custom 1000 out.2.txt id x y z vx vy vz fx fy fz tqx tqy tqz
dump_modify out sort id
dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000
Neighbor list info ...
@ -128,7 +124,7 @@ Neighbor list info ...
pair build: copy
stencil: none
bin: none
Per MPI rank memory allocation (min/avg/max) = 11.51 | 11.7 | 11.88 Mbytes
Per MPI rank memory allocation (min/avg/max) = 7.466 | 7.648 | 7.83 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0 -1.5402493 0.0070469125 -1.5332024 -8.5641987e-05
1000 ekin = 1.34565986428024 | erot = 2.31051421234078 | epot = -24.5061991591502 | etot = -20.8500250825292
@ -1132,21 +1128,21 @@ Step Temp E_pair E_mol TotEng Press
999000 ekin = 2.60947995309596 | erot = 1.73829419308785 | epot = -20.9136108602423 | etot = -16.5658367140585
1000000 ekin = 2.32269547490305 | erot = 2.87794942105203 | epot = -20.9071852604882 | etot = -15.7065403645331
1000000 0.10323091 -1.356822 0.050122912 -1.1615306 -8.852818e-05
Loop time of 47.0857 on 4 procs for 1000000 steps with 16 atoms
Loop time of 33.1901 on 4 procs for 1000000 steps with 16 atoms
Performance: 18349.533 tau/day, 21237.885 timesteps/s
97.5% CPU use with 4 MPI tasks x no OpenMP threads
Performance: 26031.848 tau/day, 30129.454 timesteps/s
99.5% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.98817 | 15.602 | 28.986 | 319.5 | 33.14
Bond | 0.12815 | 0.52751 | 0.88386 | 46.6 | 1.12
Pair | 0.5594 | 12.197 | 22.984 | 287.1 | 36.75
Bond | 0.088184 | 0.40908 | 0.68101 | 42.5 | 1.23
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 2.7701 | 3.5654 | 4.2593 | 30.9 | 7.57
Output | 0.42405 | 0.43123 | 0.4364 | 0.8 | 0.92
Modify | 0.29834 | 3.1911 | 6.0949 | 139.6 | 6.78
Other | | 23.77 | | | 50.48
Comm | 2.0155 | 2.194 | 2.4681 | 11.3 | 6.61
Output | 1.6928e-05 | 2.3246e-05 | 2.5988e-05 | 0.0 | 0.00
Modify | 0.2003 | 2.7296 | 5.1641 | 131.4 | 8.22
Other | | 15.66 | | | 47.19
Nlocal: 4 ave 8 max 0 min
Histogram: 1 1 0 0 0 0 0 0 1 1
@ -1162,6 +1158,4 @@ Neighbor list builds = 0
Dangerous builds = 0
#write_restart config.${number}.*
al c_erot
ERROR: Unknown command: al c_erot (../input.cpp:247)
Last command: al c_erot
Total wall time: 0:00:33

View File

@ -0,0 +1,73 @@
# LAMMPS data file
10 atoms
10 ellipsoids
8 bonds
4 atom types
1 bond types
# System size
-20.000000 20.000000 xlo xhi
-20.000000 20.000000 ylo yhi
-20.000000 20.000000 zlo zhi
Masses
1 3.1575
2 3.1575
3 3.1575
4 3.1575
# Atom-ID, type, position, molecule-ID, ellipsoid flag, density
Atoms
1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1
2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1
3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1
4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1
5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1
6 4 -4.829362784135484e-01 3.560513319622209e-01 1.559051420521249e+00 2 1 1
7 1 -1.824198365552941e-01 5.715968887521516e-01 1.169288565390937e+00 2 1 1
8 2 1.874009511073395e-01 5.699832309147913e-01 7.795257102606243e-01 2 1 1
9 3 4.860249842674775e-01 3.518234140414733e-01 3.897628551303121e-01 2 1 1
10 4 5.999999999999996e-01 -1.332267629550188e-16 -1.110223024625157e-16 2 1 1
# Atom-ID, translational, rotational velocity
Velocities
1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
# Atom-ID, shape, quaternion
Ellipsoids
1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01
3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01
4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01
5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01
6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246527e-01 -3.123349185122326e-01 -0.000000000000000e+00
7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847401e-01 -5.899012371043604e-01 0.000000000000000e+00
8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357896e-01 -8.100416404457959e-01 0.000000000000000e+00
9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252947e-01 0.000000000000000e+00
10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 1.110223024625157e-16 1.000000000000000e+00 -0.000000000000000e+00
# Bond topology
Bonds
1 1 1 2
2 1 2 3
3 1 3 4
4 1 4 5
5 1 6 7
6 1 7 8
7 1 8 9
8 1 9 10

View File

@ -0,0 +1,78 @@
variable number equal 1
variable ofreq equal 1000
variable efreq equal 1000
units lj
dimension 3
newton off
boundary p p p
atom_style hybrid bond ellipsoid
atom_modify sort 0 1.0
# Pair interactions require lists of neighbours to be calculated
neighbor 1.0 bin
neigh_modify every 1 delay 0 check yes
read_data data.duplex1
set atom * mass 3.1575
group all type 1 4
# oxDNA bond interactions - FENE backbone
bond_style oxdna2/fene
bond_coeff * 2.0 0.25 0.7564
# oxDNA pair interactions
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna2/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna2/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna2/hbond 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna2/hbond 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793
pair_coeff * * oxdna2/dh 0.1 1.0 0.815
# NVE ensemble
fix 1 all nve/dot
#fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
#comm_style tiled
#fix 3 all balance 10000 1.1 rcb
#compute mol all chunk/atom molecule
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
#dump pos all xyz ${ofreq} traj.${number}.xyz
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
compute epot all pe
variable erot equal c_erot
variable ekin equal c_ekin
variable epot equal c_epot
variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000
#write_restart config.${number}.*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,96 @@
# LAMMPS data file
16 atoms
16 ellipsoids
13 bonds
4 atom types
1 bond types
# System size
-20.000000 20.000000 xlo xhi
-20.000000 20.000000 ylo yhi
-20.000000 20.000000 zlo zhi
Masses
1 3.1575
2 3.1575
3 3.1575
4 3.1575
# Atom-ID, type, position, molecule-ID, ellipsoid flag, density
Atoms
1 1 -6.000000000000001e-01 0.000000000000000e+00 0.000000000000000e+00 1 1 1
2 2 -4.860249842674776e-01 -3.518234140414736e-01 3.897628551303122e-01 1 1 1
3 3 -1.874009511073395e-01 -5.699832309147915e-01 7.795257102606244e-01 1 1 1
4 4 1.824198365552941e-01 -5.715968887521518e-01 1.169288565390937e+00 1 1 1
5 1 4.829362784135484e-01 -3.560513319622209e-01 1.559051420521249e+00 1 1 1
6 2 5.999771538385027e-01 -5.235921299024461e-03 1.948814275651561e+00 1 1 1
7 3 4.890766774371325e-01 3.475687034056071e-01 2.338577130781873e+00 1 1 1
8 4 1.923677943514057e-01 5.683261666476170e-01 2.728339985912185e+00 1 1 1
9 1 -1.923677943514057e-01 -5.683261666476170e-01 2.728339985912185e+00 2 1 1
10 2 -4.890766774371324e-01 -3.475687034056071e-01 2.338577130781873e+00 2 1 1
11 3 -5.999771538385025e-01 5.235921299024461e-03 1.948814275651561e+00 2 1 1
12 4 -4.829362784135481e-01 3.560513319622207e-01 1.559051420521249e+00 2 1 1
13 1 -1.824198365552940e-01 5.715968887521514e-01 1.169288565390936e+00 2 1 1
14 2 1.874009511073395e-01 5.699832309147912e-01 7.795257102606241e-01 2 1 1
15 3 4.860249842674773e-01 3.518234140414733e-01 3.897628551303119e-01 2 1 1
16 4 5.999999999999995e-01 -3.330669073875470e-17 -3.330669073875470e-16 2 1 1
# Atom-ID, translational, rotational velocity
Velocities
1 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
2 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
3 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
4 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
5 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
6 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
7 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
8 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
9 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
10 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
11 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
12 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
13 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
14 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
15 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
16 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
# Atom-ID, shape, quaternion
Ellipsoids
1 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 1.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00 0.000000000000000e+00
2 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 9.513258223252946e-01 0.000000000000000e+00 0.000000000000000e+00 3.081869234362515e-01
3 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 8.100416404457962e-01 0.000000000000000e+00 0.000000000000000e+00 5.863723567357894e-01
4 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.899012371043606e-01 0.000000000000000e+00 0.000000000000000e+00 8.074754054847398e-01
5 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 3.123349185122326e-01 0.000000000000000e+00 0.000000000000000e+00 9.499720515246527e-01
6 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 4.363309284746654e-03 0.000000000000000e+00 0.000000000000000e+00 9.999904807207346e-01
7 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -3.040330609254902e-01 0.000000000000000e+00 0.000000000000000e+00 9.526614812535865e-01
8 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 5.828323126827837e-01 0.000000000000000e+00 0.000000000000000e+00 -8.125924533816677e-01
9 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.125924533816681e-01 5.828323126827832e-01 -0.000000000000000e+00
10 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.526614812535864e-01 3.040330609254902e-01 0.000000000000000e+00
11 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.999904807207346e-01 -4.363309284746654e-03 0.000000000000000e+00
12 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 9.499720515246526e-01 -3.123349185122325e-01 0.000000000000000e+00
13 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 8.074754054847402e-01 -5.899012371043603e-01 0.000000000000000e+00
14 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 0.000000000000000e+00 5.863723567357898e-01 -8.100416404457959e-01 0.000000000000000e+00
15 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 -3.081869234362514e-01 9.513258223252948e-01 0.000000000000000e+00
16 1.173984503142341e+00 1.173984503142341e+00 1.173984503142341e+00 -0.000000000000000e+00 2.775557561562893e-17 1.000000000000000e+00 -0.000000000000000e+00
# Bond topology
Bonds
1 1 1 2
2 1 2 3
3 1 3 4
4 1 4 5
5 1 5 6
6 1 6 7
7 1 7 8
8 1 9 10
9 1 10 11
10 1 11 12
11 1 13 14
12 1 14 15
13 1 15 16

View File

@ -0,0 +1,78 @@
variable number equal 2
variable ofreq equal 1000
variable efreq equal 1000
units lj
dimension 3
newton off
boundary p p p
atom_style hybrid bond ellipsoid
atom_modify sort 0 1.0
# Pair interactions require lists of neighbours to be calculated
neighbor 1.0 bin
neigh_modify every 1 delay 0 check yes
read_data data.duplex2
set atom * mass 3.1575
group all type 1 4
# oxDNA bond interactions - FENE backbone
bond_style oxdna2/fene
bond_coeff * 2.0 0.25 0.7564
# oxDNA pair interactions
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32
pair_coeff * * oxdna2/stk 0.1 6.0 0.4 0.9 0.32 0.6 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65
pair_coeff * * oxdna2/hbond 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 1 4 oxdna2/hbond 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff 2 3 oxdna2/hbond 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45
pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68
pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793
pair_coeff * * oxdna2/dh 0.1 1.0 0.815
# NVE ensemble
#fix 1 all nve/dot
fix 1 all nve/dotc/langevin 0.1 0.1 0.03 457145 angmom 10
#fix 1 all nve/asphere
#fix 2 all langevin 0.1 0.1 0.03 457145 angmom 10
timestep 1e-5
#comm_style tiled
#fix 3 all balance 10000 1.1 rcb
#compute mol all chunk/atom molecule
#compute mychunk all vcm/chunk mol
#fix 4 all ave/time 10000 1 10000 c_mychunk[1] c_mychunk[2] c_mychunk[3] file vcm.txt mode vector
#dump pos all xyz ${ofreq} traj.${number}.xyz
#compute quat all property/atom quatw quati quatj quatk
#dump quat all custom ${ofreq} quat.${number}.txt id c_quat[1] c_quat[2] c_quat[3] c_quat[4]
#dump_modify quat sort id
#dump_modify quat format line "%d %13.6le %13.6le %13.6le %13.6le"
compute erot all erotate/asphere
compute ekin all ke
compute epot all pe
variable erot equal c_erot
variable ekin equal c_ekin
variable epot equal c_epot
variable etot equal c_erot+c_ekin+c_epot
fix 5 all print ${efreq} "$(step) ekin = ${ekin} | erot = ${erot} | epot = ${epot} | etot = ${etot}" screen yes
#dump out all custom ${ofreq} out.${number}.txt id x y z vx vy vz fx fy fz tqx tqy tqz
#dump_modify out sort id
#dump_modify out format line "%d %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le %13.6le"
run 1000000
#write_restart config.${number}.*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
single 0,0,0:AAAAA
single_helix 0,0,0:AAAAA
duplex 0,0,0:AAAAA
duplex_array 10,10:-112.0:AAAAA
single 0,0,0:ACGTA
single_helix 0,0,0:ACGTA
duplex 0,0,0:ACGTA
duplex_array 10,10:-112.0:ACGTA

View File

@ -11,22 +11,12 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
#include <stdlib.h>
#include "bond_oxdna2_fene.h"
#include "atom.h"
#include "neighbor.h"
#include "domain.h"
#include "comm.h"
#include "update.h"
#include "force.h"
#include "memory.h"
#include "error.h"
#include "atom_vec_ellipsoid.h"
#include "math_extra.h"
using namespace LAMMPS_NS;

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef BOND_CLASS

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -211,7 +211,7 @@ void BondOxdnaFene::allocate()
void BondOxdnaFene::coeff(int narg, char **arg)
{
if (narg != 4) error->all(FLERR,"Incorrect args for bond coefficients in oxdna_fene");
if (narg != 4) error->all(FLERR,"Incorrect args for bond coefficients in oxdna/fene");
if (!allocated) allocate();
int ilo,ihi;
@ -231,7 +231,7 @@ void BondOxdnaFene::coeff(int narg, char **arg)
count++;
}
if (count == 0) error->all(FLERR,"Incorrect args for bond coefficients in oxdna_fene");
if (count == 0) error->all(FLERR,"Incorrect args for bond coefficients in oxdna/fene");
}
@ -261,7 +261,7 @@ void BondOxdnaFene::init_style()
force->special_coul[1] != 1.0 || force->special_coul[2] != 1.0 || force->special_coul[3] != 1.0)
{
if (comm->me == 0)
error->warning(FLERR,"Use special bonds lj = 0,1,1 and coul = 1,1,1 with bond style oxdna_fene");
error->warning(FLERR,"Use special bonds lj = 0,1,1 and coul = 1,1,1 with bond style oxdna/fene");
}
}

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef BOND_CLASS

View File

@ -10,9 +10,8 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>

View File

@ -10,6 +10,9 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef FIX_CLASS

View File

@ -12,7 +12,7 @@
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>

View File

@ -10,6 +10,9 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef FIX_CLASS

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifndef MF_OXDNA_H

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -556,7 +556,7 @@ void PairOxdna2Coaxstk::coeff(int narg, char **arg)
{
int count;
if (narg != 21) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_xstack");
if (narg != 21) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/coaxstk");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
@ -678,7 +678,7 @@ void PairOxdna2Coaxstk::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_xstack");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/coaxstk");
}

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS

View File

@ -0,0 +1,553 @@
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pair_oxdna2_dh.h"
#include "mf_oxdna.h"
#include "atom.h"
#include "comm.h"
#include "force.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "update.h"
#include "integrate.h"
#include "math_const.h"
#include "memory.h"
#include "error.h"
#include "atom_vec_ellipsoid.h"
#include "math_extra.h"
using namespace LAMMPS_NS;
using namespace MathConst;
using namespace MFOxdna;
/* ---------------------------------------------------------------------- */
PairOxdna2Dh::PairOxdna2Dh(LAMMPS *lmp) : Pair(lmp)
{
single_enable = 0;
writedata = 1;
}
/* ---------------------------------------------------------------------- */
PairOxdna2Dh::~PairOxdna2Dh()
{
if (allocated) {
memory->destroy(setflag);
memory->destroy(cutsq);
memory->destroy(qeff_dh_pf);
memory->destroy(kappa_dh);
memory->destroy(b_dh);
memory->destroy(cut_dh_ast);
memory->destroy(cutsq_dh_ast);
memory->destroy(cut_dh_c);
memory->destroy(cutsq_dh_c);
}
}
/* ----------------------------------------------------------------------
compute vector COM-sugar-phosphate backbone interaction site in oxDNA2
------------------------------------------------------------------------- */
void PairOxdna2Dh::compute_interaction_sites(double e1[3],
double e2[3], double r[3])
{
double d_cs_x=-0.34, d_cs_y=+0.3408;
r[0] = d_cs_x*e1[0] + d_cs_y*e2[0];
r[1] = d_cs_x*e1[1] + d_cs_y*e2[1];
r[2] = d_cs_x*e1[2] + d_cs_y*e2[2];
}
/* ----------------------------------------------------------------------
compute function for oxDNA pair interactions
s=sugar-phosphate backbone site, b=base site, st=stacking site
------------------------------------------------------------------------- */
void PairOxdna2Dh::compute(int eflag, int vflag)
{
double delf[3],delta[3],deltb[3]; // force, torque increment;;
double rtmp_s[3],delr[3];
double evdwl,fpair,factor_lj;
double r,rsq,rinv;
// vectors COM-backbone sites in lab frame
double ra_cs[3],rb_cs[3];
// quaternions and Cartesian unit vectors in lab frame
double *qa,ax[3],ay[3],az[3];
double *qb,bx[3],by[3],bz[3];
double *special_lj = force->special_lj;
double **x = atom->x;
double **f = atom->f;
double **torque = atom->torque;
int *type = atom->type;
int nlocal = atom->nlocal;
int newton_pair = force->newton_pair;
int *alist,*blist,*numneigh,**firstneigh;
AtomVecEllipsoid *avec = (AtomVecEllipsoid *) atom->style_match("ellipsoid");
AtomVecEllipsoid::Bonus *bonus = avec->bonus;
int a,b,ia,ib,anum,bnum,atype,btype;
evdwl = 0.0;
if (eflag || vflag) ev_setup(eflag,vflag);
else evflag = vflag_fdotr = 0;
anum = list->inum;
alist = list->ilist;
numneigh = list->numneigh;
firstneigh = list->firstneigh;
// loop over pair interaction neighbours of my atoms
for (ia = 0; ia < anum; ia++) {
a = alist[ia];
atype = type[a];
qa=bonus[a].quat;
MathExtra::q_to_exyz(qa,ax,ay,az);
// vector COM-backbone site a
compute_interaction_sites(ax,ay,ra_cs);
rtmp_s[0] = x[a][0] + ra_cs[0];
rtmp_s[1] = x[a][1] + ra_cs[1];
rtmp_s[2] = x[a][2] + ra_cs[2];
blist = firstneigh[a];
bnum = numneigh[a];
for (ib = 0; ib < bnum; ib++) {
b = blist[ib];
factor_lj = special_lj[sbmask(b)]; // = 0 for nearest neighbours
b &= NEIGHMASK;
btype = type[b];
qb=bonus[b].quat;
MathExtra::q_to_exyz(qb,bx,by,bz);
// vector COM-backbone site b
compute_interaction_sites(bx,by,rb_cs);
// vector backbone site b to a
delr[0] = rtmp_s[0] - x[b][0] - rb_cs[0];
delr[1] = rtmp_s[1] - x[b][1] - rb_cs[1];
delr[2] = rtmp_s[2] - x[b][2] - rb_cs[2];
rsq = delr[0]*delr[0] + delr[1]*delr[1] + delr[2]*delr[2];
if (rsq <= cutsq_dh_c[atype][btype]) {
r = sqrt(rsq);
rinv = 1.0/r;
if (r <= cut_dh_ast[atype][btype]) {
fpair = qeff_dh_pf[atype][btype] * exp(-kappa_dh[atype][btype] * r) *
(kappa_dh[atype][btype] + rinv) * rinv * rinv;
if (eflag) {
evdwl = qeff_dh_pf[atype][btype] * exp(-kappa_dh[atype][btype]*r) * rinv;
}
}
else {
fpair = 2.0 * b_dh[atype][btype] * (cut_dh_c[atype][btype] - r) * rinv;
if (eflag) {
evdwl = b_dh[atype][btype] * (r - cut_dh_c[atype][btype]) * (r - cut_dh_c[atype][btype]);
}
}
// knock out nearest-neighbour interaction between adjacent backbone sites
fpair *= factor_lj;
evdwl *= factor_lj;
delf[0] = delr[0] * fpair;
delf[1] = delr[1] * fpair;
delf[2] = delr[2] * fpair;
// apply force and torque to each of 2 atoms
if (newton_pair || a < nlocal) {
f[a][0] += delf[0];
f[a][1] += delf[1];
f[a][2] += delf[2];
MathExtra::cross3(ra_cs,delf,delta);
torque[a][0] += delta[0];
torque[a][1] += delta[1];
torque[a][2] += delta[2];
}
if (newton_pair || b < nlocal) {
f[b][0] -= delf[0];
f[b][1] -= delf[1];
f[b][2] -= delf[2];
MathExtra::cross3(rb_cs,delf,deltb);
torque[b][0] -= deltb[0];
torque[b][1] -= deltb[1];
torque[b][2] -= deltb[2];
}
// increment energy and virial
if (evflag) ev_tally(a,b,nlocal,newton_pair,
evdwl,0.0,fpair,delr[0],delr[1],delr[2]);
}
}
}
}
/* ----------------------------------------------------------------------
allocate all arrays
------------------------------------------------------------------------- */
void PairOxdna2Dh::allocate()
{
allocated = 1;
int n = atom->ntypes;
memory->create(setflag,n+1,n+1,"pair:setflag");
for (int i = 1; i <= n; i++)
for (int j = i; j <= n; j++)
setflag[i][j] = 0;
memory->create(cutsq,n+1,n+1,"pair:cutsq");
memory->create(kappa_dh,n+1,n+1,"pair:kappa_dh");
memory->create(qeff_dh_pf,n+1,n+1,"pair:qeff_dh_pf");
memory->create(b_dh,n+1,n+1,"pair:b_dh");
memory->create(cut_dh_ast,n+1,n+1,"pair:cut_dh_ast");
memory->create(cutsq_dh_ast,n+1,n+1,"pair:cutsq_dh_ast");
memory->create(cut_dh_c,n+1,n+1,"pair:cut_dh_c");
memory->create(cutsq_dh_c,n+1,n+1,"pair:cutsq_dh_c");
}
/* ----------------------------------------------------------------------
global settings
------------------------------------------------------------------------- */
void PairOxdna2Dh::settings(int narg, char **arg)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
/* ----------------------------------------------------------------------
set coeffs for one or more type pairs
------------------------------------------------------------------------- */
void PairOxdna2Dh::coeff(int narg, char **arg)
{
int count;
if (narg != 5) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/dh");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi);
force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi);
count = 0;
double T, rhos_dh_one, qeff_dh_one;
T = force->numeric(FLERR,arg[2]);
rhos_dh_one = force->numeric(FLERR,arg[3]);
qeff_dh_one = force->numeric(FLERR,arg[4]);
double lambda_dh_one, kappa_dh_one, qeff_dh_pf_one;
double b_dh_one, cut_dh_ast_one, cut_dh_c_one;
// Debye length and inverse Debye length
/*
NOTE:
The numerical factor is the Debye length in s.u.
lambda(T = 300 K = 0.1) =
sqrt(eps_0 * eps_r * k_B * T/(2 * N_A * e^2 * 1000 mol/m^3))
* 1/oxDNA_energy_unit
(see B. Snodin et al., J. Chem. Phys. 142, 234901 (2015).)
We use
eps_0 = vacuum permittivity = 8.854187817e-12 F/m
eps_r = relative permittivity of water = 80
k_B = Boltzmann constant = 1.3806485279e-23 J/K
T = absolute temperature = 300 K
N_A = Avogadro constant = 6.02214085774e23 / mol
e = elementary charge = 1.6021766208e-19 C
oxDNA_length_unit = 8.518e-10 m
*/
lambda_dh_one = 0.3616455075438555*sqrt(T/0.1/rhos_dh_one);
kappa_dh_one = 1.0/lambda_dh_one;
// prefactor in DH interaction containing qeff^2
/*
NOTE:
The numerical factor is
qeff_dh_pf = e^2/(4 * pi * eps_0 * eps_r)
* 1/(oxDNA_energy_unit * oxDNA_length_unit)
(see B. Snodin et al., J. Chem. Phys. 142, 234901 (2015).)
In addition to the above units we use
oxDNA_energy_unit = 4.142e-20 J
*/
qeff_dh_pf_one = 0.08173808693529228*qeff_dh_one*qeff_dh_one;
// smoothing parameters - determined through continuity and differentiability
cut_dh_ast_one = 3.0*lambda_dh_one;
b_dh_one = -(exp(-cut_dh_ast_one/lambda_dh_one) * qeff_dh_pf_one * qeff_dh_pf_one *
(cut_dh_ast_one + lambda_dh_one) * (cut_dh_ast_one + lambda_dh_one))/
(-4.0 * cut_dh_ast_one * cut_dh_ast_one * cut_dh_ast_one *
lambda_dh_one * lambda_dh_one * qeff_dh_pf_one);
cut_dh_c_one = cut_dh_ast_one * (qeff_dh_pf_one*cut_dh_ast_one +
3.0*qeff_dh_pf_one * lambda_dh_one)/
(qeff_dh_pf_one * (cut_dh_ast_one+lambda_dh_one));
for (int i = ilo; i <= ihi; i++) {
for (int j = MAX(jlo,i); j <= jhi; j++) {
kappa_dh[i][j] = kappa_dh_one;
qeff_dh_pf[i][j] = qeff_dh_pf_one;
b_dh[i][j] = b_dh_one;
cut_dh_ast[i][j] = cut_dh_ast_one;
cut_dh_c[i][j] = cut_dh_c_one;
setflag[i][j] = 1;
count++;
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/dh");
}
/* ----------------------------------------------------------------------
init specific to this pair style
------------------------------------------------------------------------- */
void PairOxdna2Dh::init_style()
{
int irequest;
// request regular neighbor lists
irequest = neighbor->request(this,instance_me);
}
/* ----------------------------------------------------------------------
neighbor callback to inform pair style of neighbor list to use regular
------------------------------------------------------------------------- */
void PairOxdna2Dh::init_list(int id, NeighList *ptr)
{
if (id == 0) list = ptr;
if (id > 0) error->all(FLERR,"Respa not supported");
}
/* ----------------------------------------------------------------------
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
double PairOxdna2Dh::init_one(int i, int j)
{
if (setflag[i][j] == 0) {
error->all(FLERR,"Coefficient mixing not defined in oxDNA");
}
if (offset_flag) {
error->all(FLERR,"Offset not supported in oxDNA");
}
kappa_dh[j][i] = kappa_dh[i][j];
qeff_dh_pf[j][i] = qeff_dh_pf[i][j];
b_dh[j][i] = b_dh[i][j];
cut_dh_ast[j][i] = cut_dh_ast[i][j];
cut_dh_c[j][i] = cut_dh_c[i][j];
cutsq_dh_ast[i][j] = cut_dh_ast[i][j]*cut_dh_ast[i][j];
cutsq_dh_ast[j][i] = cutsq_dh_ast[i][j];
cutsq_dh_c[i][j] = cut_dh_c[i][j]*cut_dh_c[i][j];
cutsq_dh_c[j][i] = cutsq_dh_c[i][j];
// set the master list distance cutoff
return cut_dh_c[i][j];
}
/* ----------------------------------------------------------------------
proc 0 writes to restart file
------------------------------------------------------------------------- */
void PairOxdna2Dh::write_restart(FILE *fp)
{
write_restart_settings(fp);
int i,j;
for (i = 1; i <= atom->ntypes; i++)
for (j = i; j <= atom->ntypes; j++) {
fwrite(&setflag[i][j],sizeof(int),1,fp);
if (setflag[i][j]) {
fwrite(&kappa_dh[i][j],sizeof(double),1,fp);
fwrite(&qeff_dh_pf[i][j],sizeof(double),1,fp);
fwrite(&b_dh[i][j],sizeof(double),1,fp);
fwrite(&cut_dh_ast[i][j],sizeof(double),1,fp);
fwrite(&cut_dh_c[i][j],sizeof(double),1,fp);
}
}
}
/* ----------------------------------------------------------------------
proc 0 reads from restart file, bcasts
------------------------------------------------------------------------- */
void PairOxdna2Dh::read_restart(FILE *fp)
{
read_restart_settings(fp);
allocate();
int i,j;
int me = comm->me;
for (i = 1; i <= atom->ntypes; i++)
for (j = i; j <= atom->ntypes; j++) {
if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp);
MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
if (setflag[i][j]) {
if (me == 0) {
fread(&kappa_dh[i][j],sizeof(double),1,fp);
fread(&qeff_dh_pf[i][j],sizeof(double),1,fp);
fread(&b_dh[i][j],sizeof(double),1,fp);
fread(&cut_dh_ast[i][j],sizeof(double),1,fp);
fread(&cut_dh_c[i][j],sizeof(double),1,fp);
}
MPI_Bcast(&kappa_dh[i][j],1,MPI_DOUBLE,0,world);
MPI_Bcast(&qeff_dh_pf[i][j],1,MPI_DOUBLE,0,world);
MPI_Bcast(&b_dh[i][j],1,MPI_DOUBLE,0,world);
MPI_Bcast(&cut_dh_ast[i][j],1,MPI_DOUBLE,0,world);
MPI_Bcast(&cut_dh_c[i][j],1,MPI_DOUBLE,0,world);
}
}
}
/* ----------------------------------------------------------------------
proc 0 writes to restart file
------------------------------------------------------------------------- */
void PairOxdna2Dh::write_restart_settings(FILE *fp)
{
fwrite(&offset_flag,sizeof(int),1,fp);
fwrite(&mix_flag,sizeof(int),1,fp);
fwrite(&tail_flag,sizeof(int),1,fp);
}
/* ----------------------------------------------------------------------
proc 0 reads from restart file, bcasts
------------------------------------------------------------------------- */
void PairOxdna2Dh::read_restart_settings(FILE *fp)
{
int me = comm->me;
if (me == 0) {
fread(&offset_flag,sizeof(int),1,fp);
fread(&mix_flag,sizeof(int),1,fp);
fread(&tail_flag,sizeof(int),1,fp);
}
MPI_Bcast(&offset_flag,1,MPI_INT,0,world);
MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
MPI_Bcast(&tail_flag,1,MPI_INT,0,world);
}
/* ----------------------------------------------------------------------
proc 0 writes to data file
------------------------------------------------------------------------- */
void PairOxdna2Dh::write_data(FILE *fp)
{
for (int i = 1; i <= atom->ntypes; i++)
fprintf(fp,"%d\
%g %g\
%g %g %g\
\n",i,
kappa_dh[i][i],qeff_dh_pf[i][i],
b_dh[i][i],cut_dh_ast[i][i],cut_dh_c[i][i]);
}
/* ----------------------------------------------------------------------
proc 0 writes all pairs to data file
------------------------------------------------------------------------- */
void PairOxdna2Dh::write_data_all(FILE *fp)
{
for (int i = 1; i <= atom->ntypes; i++)
for (int j = i; j <= atom->ntypes; j++)
fprintf(fp,"%d %d\
%g %g\
%g %g %g\
\n",i,j,
kappa_dh[i][j],qeff_dh_pf[i][j],
b_dh[i][j],cut_dh_ast[i][j],cut_dh_c[i][j]);
}
/* ---------------------------------------------------------------------- */
void *PairOxdna2Dh::extract(const char *str, int &dim)
{
dim = 2;
if (strcmp(str,"kappa_dh") == 0) return (void *) kappa_dh;
if (strcmp(str,"qeff_dh_pf") == 0) return (void *) qeff_dh_pf;
if (strcmp(str,"b_dh") == 0) return (void *) b_dh;
if (strcmp(str,"cut_dh_ast") == 0) return (void *) cut_dh_ast;
if (strcmp(str,"cut_dh_c") == 0) return (void *) cut_dh_c;
return NULL;
}

View File

@ -0,0 +1,75 @@
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS
PairStyle(oxdna2/dh,PairOxdna2Dh)
#else
#ifndef LMP_PAIR_OXDNA2_DH_H
#define LMP_PAIR_OXDNA2_DH_H
#include "pair.h"
namespace LAMMPS_NS {
class PairOxdna2Dh : public Pair {
public:
PairOxdna2Dh(class LAMMPS *);
virtual ~PairOxdna2Dh();
virtual void compute_interaction_sites(double *, double *, double *);
virtual void compute(int, int);
void settings(int, char **);
void coeff(int, char **);
void init_style();
void init_list(int, class NeighList *);
double init_one(int, int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_restart_settings(FILE *);
void read_restart_settings(FILE *);
void write_data(FILE *);
void write_data_all(FILE *);
void *extract(const char *, int &);
protected:
double **qeff_dh_pf,**kappa_dh;
double **b_dh,**cut_dh_ast,**cutsq_dh_ast,**cut_dh_c,**cutsq_dh_c;
virtual void allocate();
};
}
#endif
#endif
/* ERROR/WARNING messages:
E: Illegal ... command
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Incorrect args for pair coefficients
Self-explanatory. Check the input script or data file.
*/

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -19,24 +19,8 @@
#include <stdlib.h>
#include <string.h>
#include "pair_oxdna2_excv.h"
#include "mf_oxdna.h"
#include "atom.h"
#include "comm.h"
#include "force.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "update.h"
#include "integrate.h"
#include "math_const.h"
#include "memory.h"
#include "error.h"
#include "atom_vec_ellipsoid.h"
#include "math_extra.h"
using namespace LAMMPS_NS;
using namespace MathConst;
using namespace MFOxdna;
/* ---------------------------------------------------------------------- */

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS

View File

@ -0,0 +1,50 @@
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "pair_oxdna2_stk.h"
using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
PairOxdna2Stk::PairOxdna2Stk(LAMMPS *lmp) : PairOxdnaStk(lmp)
{
}
/* ---------------------------------------------------------------------- */
PairOxdna2Stk::~PairOxdna2Stk()
{
}
/* ----------------------------------------------------------------------
return temperature dependent oxDNA2 stacking strength
------------------------------------------------------------------------- */
double PairOxdna2Stk::stacking_strength(double T)
{
double eps;
eps = 1.3523 + 2.6717 * T;
return eps;
}

View File

@ -0,0 +1,56 @@
/* ----------------------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS
PairStyle(oxdna2/stk,PairOxdna2Stk)
#else
#ifndef LMP_PAIR_OXDNA2_STK_H
#define LMP_PAIR_OXDNA2_STK_H
#include "pair_oxdna_stk.h"
namespace LAMMPS_NS {
class PairOxdna2Stk : public PairOxdnaStk {
public:
PairOxdna2Stk(class LAMMPS *);
virtual ~PairOxdna2Stk();
protected:
virtual double stacking_strength(double);
};
}
#endif
#endif
/* ERROR/WARNING messages:
E: Illegal ... command
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Incorrect args for pair coefficients
Self-explanatory. Check the input script or data file.
*/

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -680,7 +680,7 @@ void PairOxdnaCoaxstk::coeff(int narg, char **arg)
{
int count;
if (narg != 23) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_xstack");
if (narg != 23) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/coaxstk");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
@ -818,7 +818,7 @@ void PairOxdnaCoaxstk::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_xstack");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/coaxstk");
}

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -455,7 +455,7 @@ void PairOxdnaExcv::coeff(int narg, char **arg)
{
int count;
if (narg != 11) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_excv");
if (narg != 11) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/excv");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
@ -501,7 +501,7 @@ void PairOxdnaExcv::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_excv");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/excv");
count = 0;
@ -532,7 +532,7 @@ void PairOxdnaExcv::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_excv");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/excv");
count = 0;
@ -563,7 +563,7 @@ void PairOxdnaExcv::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_excv");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/excv");
}
@ -664,7 +664,7 @@ double PairOxdnaExcv::init_one(int i, int j)
cutsq_bb_c[j][i] = cutsq_bb_c[i][j];
// set the master list distance cutoff
return cut_ss_ast[i][j];
return cut_ss_c[i][j];
}

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -607,7 +607,7 @@ void PairOxdnaHbond::coeff(int narg, char **arg)
{
int count;
if (narg != 26) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_hbond");
if (narg != 26) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/hbond");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
@ -770,7 +770,7 @@ void PairOxdnaHbond::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_hbond");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/hbond");
}

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -644,6 +644,19 @@ void PairOxdnaStk::settings(int narg, char **arg)
}
/* ----------------------------------------------------------------------
return temperature dependent oxDNA stacking strength
------------------------------------------------------------------------- */
double PairOxdnaStk::stacking_strength(double T)
{
double eps;
eps = 1.3448 + 2.6568 * T;
return eps;
}
/* ----------------------------------------------------------------------
set coeffs for one or more type pairs
------------------------------------------------------------------------- */
@ -652,7 +665,7 @@ void PairOxdnaStk::coeff(int narg, char **arg)
{
int count;
if (narg != 21) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_stk");
if (narg != 21) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/stk");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
@ -662,7 +675,7 @@ void PairOxdnaStk::coeff(int narg, char **arg)
// stacking interaction
count = 0;
double epsilon_st_one, a_st_one, b_st_lo_one, b_st_hi_one;
double T, epsilon_st_one, a_st_one, b_st_lo_one, b_st_hi_one;
double cut_st_0_one, cut_st_c_one, cut_st_lo_one, cut_st_hi_one;
double cut_st_lc_one, cut_st_hc_one, tmp, shift_st_one;
@ -678,7 +691,9 @@ void PairOxdnaStk::coeff(int narg, char **arg)
double a_st1_one, cosphi_st1_ast_one, b_st1_one, cosphi_st1_c_one;
double a_st2_one, cosphi_st2_ast_one, b_st2_one, cosphi_st2_c_one;
epsilon_st_one = force->numeric(FLERR,arg[2]);
T = force->numeric(FLERR,arg[2]);
epsilon_st_one = stacking_strength(T);
a_st_one = force->numeric(FLERR,arg[3]);
cut_st_0_one = force->numeric(FLERR,arg[4]);
cut_st_c_one = force->numeric(FLERR,arg[5]);
@ -790,7 +805,7 @@ void PairOxdnaStk::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_stk");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/stk");
}

View File

@ -11,13 +11,12 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS
PairStyle(oxdna/stk,PairOxdnaStk)
PairStyle(oxdna2/stk,PairOxdnaStk)
#else
@ -48,6 +47,7 @@ class PairOxdnaStk : public Pair {
protected:
// stacking interaction
virtual double stacking_strength(double);
double **epsilon_st, **a_st, **cut_st_0, **cut_st_c;
double **cut_st_lo, **cut_st_hi;
double **cut_st_lc, **cut_st_hc, **b_st_lo, **b_st_hi, **shift_st;

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#include <math.h>
@ -625,7 +625,7 @@ void PairOxdnaXstk::coeff(int narg, char **arg)
{
int count;
if (narg != 25) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_xstk");
if (narg != 25) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/xstk");
if (!allocated) allocate();
int ilo,ihi,jlo,jhi;
@ -772,7 +772,7 @@ void PairOxdnaXstk::coeff(int narg, char **arg)
}
}
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna_xstk");
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients in oxdna/xstk");
}

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
------------------------------------------------------------------------- */
#ifdef PAIR_CLASS