forked from lijiext/lammps
Upgrade to oxDNA2
This commit is contained in:
parent
af0b5b0e84
commit
8afed61db1
Binary file not shown.
|
@ -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
|
||||
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -16,6 +16,7 @@ Bond Styles :h1
|
|||
bond_none
|
||||
bond_nonlinear
|
||||
bond_oxdna
|
||||
bond_oxdna2
|
||||
bond_quartic
|
||||
bond_table
|
||||
bond_zero
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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).
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
@ -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
|
|
@ -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
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Oliver Henrich (EPCC, University of Edinburgh)
|
||||
Contributing author: Oliver Henrich (University of Strathclyde, Glasgow)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <math.h>
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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.
|
||||
|
||||
*/
|
|
@ -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;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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.
|
||||
|
||||
*/
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue