Commit 4a90bca7 authored by Steve Plimpton's avatar Steve Plimpton
Browse files

patch 17Mar17

parent 9f35b764
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="10 Mar 2017 version">
<META NAME="docnumber" CONTENT="17 Mar 2017 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
</HEAD>
......@@ -21,7 +21,7 @@
<H1></H1>
LAMMPS Documentation :c,h3
10 Mar 2017 version :c,h4
17 Mar 2017 version :c,h4
Version info: :h4
......
......@@ -687,6 +687,7 @@ package"_Section_start.html#start_3.
"eos/cv"_fix_eos_cv.html,
"eos/table"_fix_eos_table.html,
"eos/table/rx"_fix_eos_table_rx.html,
"filter/corotate"_fix_filter_corotate.html,
"flow/gauss"_fix_flow_gauss.html,
"gle"_fix_gle.html,
"grem"_fix_grem.html,
......
......@@ -31,26 +31,29 @@ fix cor all filter/corotate b 4 19 a 3 5 2 :pre
[Description:]
This fix implements a corotational filter for a mollified impulse method. In
biomolecular simulations, it allows the usage of larger timesteps for
long-range electrostatic interactions. For details, see "(Fath)"_#Fath2017.
When using "run_style respa"_run_style.html for a biomolecular simulation with high-frequency covalent
bonds, the outer time-step is restricted to below ~ 4fs due to resonance
problems. This fix filters the outer stage of the respa and thus a larger
(outer) time-step can be used. Since in large biomolecular simulations the
computation of the long-range electrostatic contributions poses a major
bottleneck, this can significantly accelerate the simulation.
The filter computes a cluster decomposition of the molecular structure following
the criteria indicated by the options a, b, t and m. This process is similar to
the approach in "fix shake"_fix_shake.html, however, the clusters are not kept
contrained. Instead, the position is slightly modified only for the computation
of long-range forces. A good cluster decomposition constitutes in building
clusters which contain the fastest covalent bonds inside clusters.
If the clusters are chosen suitably, the "run_style respa"_run_style.html is stable for outer
time-steps of at least 8fs.
This fix implements a corotational filter for a mollified impulse
method. In biomolecular simulations, it allows the usage of larger
timesteps for long-range electrostatic interactions. For details, see
"(Fath)"_#Fath2017.
When using "run_style respa"_run_style.html for a biomolecular
simulation with high-frequency covalent bonds, the outer time-step is
restricted to below ~ 4fs due to resonance problems. This fix filters
the outer stage of the respa and thus a larger (outer) time-step can
be used. Since in large biomolecular simulations the computation of
the long-range electrostatic contributions poses a major bottleneck,
this can significantly accelerate the simulation.
The filter computes a cluster decomposition of the molecular structure
following the criteria indicated by the options a, b, t and m. This
process is similar to the approach in "fix shake"_fix_shake.html,
however, the clusters are not kept contrained. Instead, the position
is slightly modified only for the computation of long-range forces. A
good cluster decomposition constitutes in building clusters which
contain the fastest covalent bonds inside clusters.
If the clusters are chosen suitably, the "run_style
respa"_run_style.html is stable for outer time-steps of at least 8fs.
:line
......@@ -81,4 +84,4 @@ Currently, it does not support "molecule templates"_molecule.html.
:line
:link(Fath2017)
[(Fath)] Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017).
\ No newline at end of file
[(Fath)] Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017).
......@@ -66,6 +66,7 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) :
virial_flag = 1;
create_attribute = 1;
dof_flag = 1;
// error check
molecular = atom->molecular;
......
......@@ -38,7 +38,8 @@ enum{KEYWORD,COMPUTE,FIX,VARIABLE,DNAME,INAME};
FixStoreState::FixStoreState(LAMMPS *lmp, int narg, char **arg) :
Fix(lmp, narg, arg),
nvalues(0), which(NULL), argindex(NULL), value2index(NULL), ids(NULL), values(NULL),
nvalues(0), which(NULL), argindex(NULL), value2index(NULL),
ids(NULL), values(NULL),
vbuf(NULL), pack_choice(NULL)
{
if (narg < 5) error->all(FLERR,"Illegal fix store/state command");
......@@ -1046,7 +1047,8 @@ void FixStoreState::pack_ysu(int n)
for (int i = 0; i < nlocal; i++) {
if (mask[i] & groupbit)
vbuf[n] = (x[i][1]-boxylo)*invyprd + (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
vbuf[n] = (x[i][1]-boxylo)*invyprd +
(image[i] >> IMGBITS & IMGMASK) - IMGMAX;
else vbuf[n] = 0.0;
n += nvalues;
}
......@@ -1158,7 +1160,8 @@ void FixStoreState::pack_iy(int n)
int nlocal = atom->nlocal;
for (int i = 0; i < nlocal; i++) {
if (mask[i] & groupbit) vbuf[n] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
if (mask[i] & groupbit)
vbuf[n] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
else vbuf[n] = 0.0;
n += nvalues;
}
......
......@@ -1176,7 +1176,6 @@ void median_merge(void *in, void *inout, int *len, MPI_Datatype *dptr)
void RCB::invert(int sortflag)
{
// only create Irregular if not previously created
// allows Irregular to persist for multiple RCB calls by fix balance
......
#define LAMMPS_VERSION "10 Mar 2017"
#define LAMMPS_VERSION "17 Mar 2017"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment