git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13728 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2015-07-27 14:54:15 +00:00
parent 8936e677c4
commit 6d83f5ed01
4 changed files with 66 additions and 56 deletions

View File

@ -2726,7 +2726,7 @@ group.
<P>There are two ways to thermostat the Drude particles at a low <P>There are two ways to thermostat the Drude particles at a low
temperature: use either <A HREF = "fix_langevin_drude.html">fix langevin/drude</A> temperature: use either <A HREF = "fix_langevin_drude.html">fix langevin/drude</A>
for a Langevin thermostat, or <A HREF = "fix_drude_transform.html">fix for a Langevin thermostat, or <A HREF = "fix_drude_transform.html">fix
drude/transform</A> for a Nose-Hoover drude/transform/*</A> for a Nose-Hoover
thermostat. The former requires use of the command <A HREF = "comm_modify.html">comm_modify vel thermostat. The former requires use of the command <A HREF = "comm_modify.html">comm_modify vel
yes</A>. The latter requires two separate integration yes</A>. The latter requires two separate integration
fixes like <I>nvt</I> or <I>npt</I>. The correct temperatures of the reduced fixes like <I>nvt</I> or <I>npt</I>. The correct temperatures of the reduced

View File

@ -2709,7 +2709,7 @@ group.
There are two ways to thermostat the Drude particles at a low There are two ways to thermostat the Drude particles at a low
temperature: use either "fix langevin/drude"_fix_langevin_drude.html temperature: use either "fix langevin/drude"_fix_langevin_drude.html
for a Langevin thermostat, or "fix for a Langevin thermostat, or "fix
drude/transform"_fix_drude_transform.html for a Nose-Hoover drude/transform/*"_fix_drude_transform.html for a Nose-Hoover
thermostat. The former requires use of the command "comm_modify vel thermostat. The former requires use of the command "comm_modify vel
yes"_comm_modify.html. The latter requires two separate integration yes"_comm_modify.html. The latter requires two separate integration
fixes like {nvt} or {npt}. The correct temperatures of the reduced fixes like {nvt} or {npt}. The correct temperatures of the reduced

View File

@ -8,13 +8,13 @@
<H3>Tutorial for Thermalized Drude oscillators in LAMMPS <H3>Tutorial for Thermalized Drude oscillators in LAMMPS
</H3> </H3>
<P>This tutorial explains how to use <A HREF = "drude_oscillators.html">Drude <P>This tutorial explains how to use Drude oscillators in LAMMPS to
oscillators</A> in LAMMPS to simulate polarizable simulate polarizable systems using the USER-DRUDE package. As an
systems. As an illustration, the input files for a simulation of 250 illustration, the input files for a simulation of 250 phenol molecules
phenol molecules are documented. First of all, LAMMPS has to be are documented. First of all, LAMMPS has to be compiled with the
compiled with the USER-DRUDE package activated. Then, the data file USER-DRUDE package activated. Then, the data file and input scripts
and input scripts have to be modified to include the Drude dipoles and have to be modified to include the Drude dipoles and how to handle
how to handle them. them.
</P> </P>
<HR> <HR>
@ -155,18 +155,13 @@ script (the use of these lines will be explained below). In order for
LAMMPS to recognize that you are using Drude oscillators, you should LAMMPS to recognize that you are using Drude oscillators, you should
use the fix <I>drude</I>. The command is use the fix <I>drude</I>. The command is
</P> </P>
<PRE>fix DRUDE all drude 1 1 1 0 0 2 2 2
</PRE>
<P>or, equivalently
</P>
<PRE>fix DRUDE all drude C C C N N D D D <PRE>fix DRUDE all drude C C C N N D D D
</PRE> </PRE>
<P>The 0, 1, 2 (or N, C, D) following the <I>drude</I> keyword have the <P>The N, C, D following the <I>drude</I> keyword have the following meaning:
following meaning: There is one tag for each atom type. This tag is 1 There is one tag for each atom type. This tag is C for DCs, D for DPs
(or C) for DCs, 2 (or D) for DPs and 0 (or N) for non-polarizable and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O
atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and
4 and 5 (H atoms) are non-polarizable and the atom types 6 to 8 are the atom types 6 to 8 are the newly created DPs.
the newly created DPs.
</P> </P>
<P>By recognizing the fix <I>drude</I>, LAMMPS will find and store matching <P>By recognizing the fix <I>drude</I>, LAMMPS will find and store matching
DC-DP pairs and will treat DP as equivalent to their DC in the DC-DP pairs and will treat DP as equivalent to their DC in the
@ -245,11 +240,16 @@ dump_modify DUMP element C C O H H D D D
LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as
standard atoms in his default compute. If you want to output the standard atoms in his default compute. If you want to output the
temperatures of the DC-DP pair centers of mass and of the DPs relative temperatures of the DC-DP pair centers of mass and of the DPs relative
to their DCs, you should use <I>thermo_style custom</I> with respectively to their DCs, you should use the <A HREF = "compute_temp_drude.html">compute
<I>f_LANG[1]</I> and <I>f_LANG[2]</I>. These should be close to 300. and temp_drude</A>
1. on average.
</P> </P>
<PRE>thermo_style custom step temp f_LANG[1] f_LANG[2] <PRE>compute TDRUDE all temp/drude
</PRE>
<P>And then output the correct temperatures of the Drude oscillators
using <I>thermo_style custom</I> with respectively <I>c_TDRUDE[1]</I> and
<I>c_TDRUDE[2]</I>. These should be close to 300.0 and 1.0 on average.
</P>
<PRE>thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2]
</PRE> </PRE>
<HR> <HR>
@ -320,20 +320,23 @@ pair_coeff 8 8 thole 0.630 0.670
<P>For the <I>thole</I> pair style the coefficients are <P>For the <I>thole</I> pair style the coefficients are
</P> </P>
<OL><LI>the atom polarizability in units of cubic length <OL><LI>the atom polarizability in units of cubic length
<LI>the screening factor of the Thole function (optional, default value specified by the pair_style command)
<LI>the screening factor of the Thole function (optional, default value
specified by the pair_style command)
<LI>the cutoff (optional, default value defined by the pair_style command) <LI>the cutoff (optional, default value defined by the pair_style command)
</OL> </OL>
<P>The special neighbors have charge-charge and charge-dipole <P>The special neighbors have charge-charge and charge-dipole
interactions screened by the <I>coul</I> factors of the <I>special_bonds</I> interactions screened by the <I>coul</I> factors of the <I>special_bonds</I>
command (0., 0., and 0.5 in the example above). Without using the command (0.0, 0.0, and 0.5 in the example above). Without using the
pair_style <I>thole</I>, dipole-dipole interactions are screened by the pair_style <I>thole</I>, dipole-dipole interactions are screened by the
same factor. By using the pair_style <I>thole</I>, dipole-dipole same factor. By using the pair_style <I>thole</I>, dipole-dipole
interactions are screened by Thole's function, whatever their special interactions are screened by Thole's function, whatever their special
relationship (except within each DC-DP pair of course). Consider for relationship (except within each DC-DP pair of course). Consider for
example 1-2 neighbors: using the pair_style <I>thole</I>, their dipoles example 1-2 neighbors: using the pair_style <I>thole</I>, their dipoles
will see each other (despite the <I>coul</I> factor being 0.) and the will see each other (despite the <I>coul</I> factor being 0.) and the
interactions between these dipoles will be damped by Thole's interactions between these dipoles will be damped by Thole's function.
function.
</P> </P>
<HR> <HR>

View File

@ -7,13 +7,13 @@
Tutorial for Thermalized Drude oscillators in LAMMPS :h3 Tutorial for Thermalized Drude oscillators in LAMMPS :h3
This tutorial explains how to use "Drude This tutorial explains how to use Drude oscillators in LAMMPS to
oscillators"_drude_oscillators.html in LAMMPS to simulate polarizable simulate polarizable systems using the USER-DRUDE package. As an
systems. As an illustration, the input files for a simulation of 250 illustration, the input files for a simulation of 250 phenol molecules
phenol molecules are documented. First of all, LAMMPS has to be are documented. First of all, LAMMPS has to be compiled with the
compiled with the USER-DRUDE package activated. Then, the data file USER-DRUDE package activated. Then, the data file and input scripts
and input scripts have to be modified to include the Drude dipoles and have to be modified to include the Drude dipoles and how to handle
how to handle them. them.
:line :line
@ -100,6 +100,7 @@ may align too much. To avoid this, damping at short of the
interactions between the point charges composing the induced dipole interactions between the point charges composing the induced dipole
can be done by "Thole"_#Thole functions. :ole,l can be done by "Thole"_#Thole functions. :ole,l
:line :line
[Preparation of the data file] [Preparation of the data file]
@ -142,6 +143,7 @@ Masses :pre
4 1.008 # HA 4 1.008 # HA
5 1.008 # HO :pre 5 1.008 # HO :pre
:line :line
[Basic input file] [Basic input file]
@ -154,18 +156,13 @@ script (the use of these lines will be explained below). In order for
LAMMPS to recognize that you are using Drude oscillators, you should LAMMPS to recognize that you are using Drude oscillators, you should
use the fix {drude}. The command is use the fix {drude}. The command is
fix DRUDE all drude 1 1 1 0 0 2 2 2 :pre
or, equivalently
fix DRUDE all drude C C C N N D D D :pre fix DRUDE all drude C C C N N D D D :pre
The 0, 1, 2 (or N, C, D) following the {drude} keyword have the The N, C, D following the {drude} keyword have the following meaning:
following meaning: There is one tag for each atom type. This tag is 1 There is one tag for each atom type. This tag is C for DCs, D for DPs
(or C) for DCs, 2 (or D) for DPs and 0 (or N) for non-polarizable and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O
atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and
4 and 5 (H atoms) are non-polarizable and the atom types 6 to 8 are the atom types 6 to 8 are the newly created DPs.
the newly created DPs.
By recognizing the fix {drude}, LAMMPS will find and store matching By recognizing the fix {drude}, LAMMPS will find and store matching
DC-DP pairs and will treat DP as equivalent to their DC in the DC-DP pairs and will treat DP as equivalent to their DC in the
@ -244,11 +241,17 @@ You will notice that the global temperature {thermo_temp} computed by
LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as
standard atoms in his default compute. If you want to output the standard atoms in his default compute. If you want to output the
temperatures of the DC-DP pair centers of mass and of the DPs relative temperatures of the DC-DP pair centers of mass and of the DPs relative
to their DCs, you should use {thermo_style custom} with respectively to their DCs, you should use the "compute
{f_LANG\[1\]} and {f_LANG\[2\]}. These should be close to 300. and temp_drude"_compute_temp_drude.html
1. on average.
compute TDRUDE all temp/drude :pre
And then output the correct temperatures of the Drude oscillators
using {thermo_style custom} with respectively {c_TDRUDE\[1\]} and
{c_TDRUDE\[2\]}. These should be close to 300.0 and 1.0 on average.
thermo_style custom step temp c_TDRUDE\[1\] c_TDRUDE\[2\] :pre
thermo_style custom step temp f_LANG\[1\] f_LANG\[2\] :pre
:line :line
@ -318,21 +321,23 @@ pair_coeff 8 8 thole 0.630 0.670 :pre
For the {thole} pair style the coefficients are For the {thole} pair style the coefficients are
the atom polarizability in units of cubic length the atom polarizability in units of cubic length :olb,l
the screening factor of the Thole function (optional, default value specified by the pair_style command) the screening factor of the Thole function (optional, default value
the cutoff (optional, default value defined by the pair_style command) :ol specified by the pair_style command) :l
the cutoff (optional, default value defined by the pair_style command)
:l,ole
The special neighbors have charge-charge and charge-dipole The special neighbors have charge-charge and charge-dipole
interactions screened by the {coul} factors of the {special_bonds} interactions screened by the {coul} factors of the {special_bonds}
command (0., 0., and 0.5 in the example above). Without using the command (0.0, 0.0, and 0.5 in the example above). Without using the
pair_style {thole}, dipole-dipole interactions are screened by the pair_style {thole}, dipole-dipole interactions are screened by the
same factor. By using the pair_style {thole}, dipole-dipole same factor. By using the pair_style {thole}, dipole-dipole
interactions are screened by Thole's function, whatever their special interactions are screened by Thole's function, whatever their special
relationship (except within each DC-DP pair of course). Consider for relationship (except within each DC-DP pair of course). Consider for
example 1-2 neighbors: using the pair_style {thole}, their dipoles example 1-2 neighbors: using the pair_style {thole}, their dipoles
will see each other (despite the {coul} factor being 0.) and the will see each other (despite the {coul} factor being 0.) and the
interactions between these dipoles will be damped by Thole's interactions between these dipoles will be damped by Thole's function.
function.
:line :line
@ -391,6 +396,7 @@ fix_modify NPT temp TATOMS press thermo_press
fix NVT DRUDES nvt temp 1. 1. 20 fix NVT DRUDES nvt temp 1. 1. 20
fix INVERSE all drude/transform/inverse :pre fix INVERSE all drude/transform/inverse :pre
:line :line
[Rigid bodies] [Rigid bodies]
@ -431,6 +437,7 @@ fix_modify RIGID temp TATOM press thermo_press
fix NVT DRUDES nvt temp 1. 1. 20 fix NVT DRUDES nvt temp 1. 1. 20
fix INVERSE all drude/transform/inverse :pre fix INVERSE all drude/transform/inverse :pre
:line :line
:link(Lamoureux) :link(Lamoureux)