From 6d83f5ed01a586b590d3b517d728808f32fd5b81 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Mon, 27 Jul 2015 14:54:15 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13728 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Section_howto.html | 2 +- doc/Section_howto.txt | 2 +- doc/tutorial_drude.html | 57 ++++++++++++++++++++------------------ doc/tutorial_drude.txt | 61 +++++++++++++++++++++++------------------ 4 files changed, 66 insertions(+), 56 deletions(-) diff --git a/doc/Section_howto.html b/doc/Section_howto.html index 7843fe1a07..86ba137918 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -2726,7 +2726,7 @@ group.

There are two ways to thermostat the Drude particles at a low temperature: use either fix langevin/drude for a Langevin thermostat, or fix -drude/transform for a Nose-Hoover +drude/transform/* for a Nose-Hoover thermostat. The former requires use of the command comm_modify vel yes. The latter requires two separate integration fixes like nvt or npt. The correct temperatures of the reduced diff --git a/doc/Section_howto.txt b/doc/Section_howto.txt index f6f680af92..ce040ef8c1 100644 --- a/doc/Section_howto.txt +++ b/doc/Section_howto.txt @@ -2709,7 +2709,7 @@ group. There are two ways to thermostat the Drude particles at a low temperature: use either "fix langevin/drude"_fix_langevin_drude.html 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 yes"_comm_modify.html. The latter requires two separate integration fixes like {nvt} or {npt}. The correct temperatures of the reduced diff --git a/doc/tutorial_drude.html b/doc/tutorial_drude.html index 62509b0f90..b900440292 100644 --- a/doc/tutorial_drude.html +++ b/doc/tutorial_drude.html @@ -8,13 +8,13 @@

Tutorial for Thermalized Drude oscillators in LAMMPS

-

This tutorial explains how to use Drude -oscillators in LAMMPS to simulate polarizable -systems. As an illustration, the input files for a simulation of 250 -phenol molecules are documented. First of all, LAMMPS has to be -compiled with the USER-DRUDE package activated. Then, the data file -and input scripts have to be modified to include the Drude dipoles and -how to handle them. +

This tutorial explains how to use Drude oscillators in LAMMPS to +simulate polarizable systems using the USER-DRUDE package. As an +illustration, the input files for a simulation of 250 phenol molecules +are documented. First of all, LAMMPS has to be compiled with the +USER-DRUDE package activated. Then, the data file and input scripts +have to be modified to include the Drude dipoles and how to handle +them.


@@ -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 use the fix drude. The command is

-
fix DRUDE all drude 1 1 1 0 0 2 2 2 
-
-

or, equivalently -

fix DRUDE all drude C C C N N D D D 
 
-

The 0, 1, 2 (or N, C, D) following the drude keyword have the -following meaning: There is one tag for each atom type. This tag is 1 -(or C) for DCs, 2 (or D) for DPs and 0 (or N) for non-polarizable -atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types -4 and 5 (H atoms) are non-polarizable and the atom types 6 to 8 are -the newly created DPs. +

The N, C, D following the drude keyword have the following meaning: +There is one tag for each atom type. This tag is C for DCs, D for DPs +and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O +atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and +the atom types 6 to 8 are the newly created DPs.

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 @@ -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 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 -to their DCs, you should use thermo_style custom with respectively -f_LANG[1] and f_LANG[2]. These should be close to 300. and -1. on average. +to their DCs, you should use the compute +temp_drude

-
thermo_style custom step temp f_LANG[1] f_LANG[2] 
+
compute TDRUDE all temp/drude 
+
+

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] 
 

@@ -319,21 +319,24 @@ pair_coeff 8 8 thole 0.630 0.670

For the thole pair style the coefficients are

-
  1. the atom polarizability in units of cubic length -
  2. the screening factor of the Thole function (optional, default value specified by the pair_style command) -
  3. the cutoff (optional, default value defined by the pair_style command) +
    1. the atom polarizability in units of cubic length + +
    2. the screening factor of the Thole function (optional, default value +specified by the pair_style command) + +
    3. the cutoff (optional, default value defined by the pair_style command) +

    The special neighbors have charge-charge and charge-dipole 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 same factor. By using the pair_style thole, dipole-dipole interactions are screened by Thole's function, whatever their special relationship (except within each DC-DP pair of course). Consider for example 1-2 neighbors: using the pair_style thole, their dipoles will see each other (despite the coul factor being 0.) and the -interactions between these dipoles will be damped by Thole's -function. +interactions between these dipoles will be damped by Thole's function.


    diff --git a/doc/tutorial_drude.txt b/doc/tutorial_drude.txt index c574395c35..adbe888f0c 100644 --- a/doc/tutorial_drude.txt +++ b/doc/tutorial_drude.txt @@ -7,13 +7,13 @@ Tutorial for Thermalized Drude oscillators in LAMMPS :h3 -This tutorial explains how to use "Drude -oscillators"_drude_oscillators.html in LAMMPS to simulate polarizable -systems. As an illustration, the input files for a simulation of 250 -phenol molecules are documented. First of all, LAMMPS has to be -compiled with the USER-DRUDE package activated. Then, the data file -and input scripts have to be modified to include the Drude dipoles and -how to handle them. +This tutorial explains how to use Drude oscillators in LAMMPS to +simulate polarizable systems using the USER-DRUDE package. As an +illustration, the input files for a simulation of 250 phenol molecules +are documented. First of all, LAMMPS has to be compiled with the +USER-DRUDE package activated. Then, the data file and input scripts +have to be modified to include the Drude dipoles and how to handle +them. :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 can be done by "Thole"_#Thole functions. :ole,l + :line [Preparation of the data file] @@ -142,6 +143,7 @@ Masses :pre 4 1.008 # HA 5 1.008 # HO :pre + :line [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 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 -The 0, 1, 2 (or N, C, D) following the {drude} keyword have the -following meaning: There is one tag for each atom type. This tag is 1 -(or C) for DCs, 2 (or D) for DPs and 0 (or N) for non-polarizable -atoms. Here the atom types 1 to 3 (C and O atoms) are DC, atom types -4 and 5 (H atoms) are non-polarizable and the atom types 6 to 8 are -the newly created DPs. +The N, C, D following the {drude} keyword have the following meaning: +There is one tag for each atom type. This tag is C for DCs, D for DPs +and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O +atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and +the atom types 6 to 8 are the newly created DPs. 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 @@ -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 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 -to their DCs, you should use {thermo_style custom} with respectively -{f_LANG\[1\]} and {f_LANG\[2\]}. These should be close to 300. and -1. on average. +to their DCs, you should use the "compute +temp_drude"_compute_temp_drude.html + +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 @@ -318,21 +321,23 @@ pair_coeff 8 8 thole 0.630 0.670 :pre For the {thole} pair style the coefficients are -the atom polarizability in units of cubic length -the screening factor of the Thole function (optional, default value specified by the pair_style command) -the cutoff (optional, default value defined by the pair_style command) :ol +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) :l +the cutoff (optional, default value defined by the pair_style command) +:l,ole The special neighbors have charge-charge and charge-dipole 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 same factor. By using the pair_style {thole}, dipole-dipole interactions are screened by Thole's function, whatever their special relationship (except within each DC-DP pair of course). Consider for example 1-2 neighbors: using the pair_style {thole}, their dipoles will see each other (despite the {coul} factor being 0.) and the -interactions between these dipoles will be damped by Thole's -function. +interactions between these dipoles will be damped by Thole's function. + :line @@ -391,6 +396,7 @@ fix_modify NPT temp TATOMS press thermo_press fix NVT DRUDES nvt temp 1. 1. 20 fix INVERSE all drude/transform/inverse :pre + :line [Rigid bodies] @@ -431,6 +437,7 @@ fix_modify RIGID temp TATOM press thermo_press fix NVT DRUDES nvt temp 1. 1. 20 fix INVERSE all drude/transform/inverse :pre + :line :link(Lamoureux)