From 3e4b83abaaa786c11dd5f5aa71704cefc98ddd7d Mon Sep 17 00:00:00 2001 From: sjplimp Date: Wed, 11 May 2016 20:34:40 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15030 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/src/Section_commands.txt | 2 +- doc/src/pair_multi_lucy.txt | 188 +++++++++++++++++++++++++++++++++++ 2 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 doc/src/pair_multi_lucy.txt diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 60d8c682e2..a67f39c8e8 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -931,7 +931,6 @@ package"_Section_start.html#start_3. "coul/cut/soft (o)"_pair_lj_soft.html, "coul/diel (o)"_pair_coul_diel.html, "coul/long/soft (o)"_pair_lj_soft.html, -"dpd/conservative"_pair_dpd_conservative.html, "dpd/fdt"_pair_dpd_fdt.html, "dpd/fdt/energy"_pair_dpd_fdt.html, "eam/cd (o)"_pair_eam.html, @@ -957,6 +956,7 @@ package"_Section_start.html#start_3. "mgpt"_pair_mgpt.html, "morse/smooth/linear"_pair_morse.html, "morse/soft"_pair_morse.html, +"multi/lucy"_pair_multi_lucy.html, "quip"_pair_quip.html, "reax/c"_pair_reax_c.html, "smd/hertz"_pair_smd_hertz.html, diff --git a/doc/src/pair_multi_lucy.txt b/doc/src/pair_multi_lucy.txt new file mode 100644 index 0000000000..48dad8be29 --- /dev/null +++ b/doc/src/pair_multi_lucy.txt @@ -0,0 +1,188 @@ +"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 multi/lucy command :h3 + +[Syntax:] + +pair_style multi/lucy style N keyword ... :pre + +style = {lookup} or {linear} = method of interpolation +N = use N values in {lookup}, {linear} tables :ul + +[Examples:] + +pair_style multi/lucy linear 1000 +pair_coeff * * multibody.table ENTRY1 7.0 :pre + +[Description:] + +Style {multi/lucy} computes a density-dependent force following from the many-body +form described in "(Moore)"_#Moore and "(Warren)"_#Warren as + +:c,image(Eqs/pair_multi_lucy.jpg) + +which consists of a density-dependent function, A(rho), and a radial-dependent weight +function, omegaDD(rij). The radial-dependent weight function, omegaDD(rij), is taken +as the Lucy function: + +:c,image(Eqs/pair_multi_lucy2.jpg) + +The density-dependent energy for a given particle is given by: + +:c,image(Eqs/pair_multi_lucy_energy.jpg) + +See the supporting information of "(Brennan)"_#Brennan or the publication by "(Moore)"_#Moore +for more details on the functional form. + +An interpolation table is used to evaluate the density-dependent energy (Integral(A(rho)drho) and force (A(rho)). +Note that the pre-factor to the energy is computed after the interpolation, thus the Integral(A(rho)drho will +have units of energy / length^4. + +The interpolation table is created as a pre-computation by fitting cubic splines to +the file values and interpolating the density-dependent energy and force at each of {N} densities. +During a simulation, the tables are used to interpolate the density-dependent energy and force as +needed for each pair of particles separated by a distance {R}. The interpolation is done in +one of 2 styles: {lookup} and {linear}. + +For the {lookup} style, the density is used to find the nearest table entry, which is the +density-dependent energy and force. + +For the {linear} style, the density is used to find the 2 surrounding table values from +which the density-dependent energy and force are computed by linear interpolation. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above. + +filename +keyword +cutoff (distance units) :ul + +The filename specifies a file containing the tabulated density-dependent +energy and force. The keyword specifies a section of the file. +The cutoff is an optional coefficient. If not specified, the outer cutoff in the +table itself (see below) will be used to build an interpolation table +that extend to the largest tabulated distance. If specified, only +file values up to the cutoff are used to create the interpolation +table. The format of this file is described below. + +:line + +The format of a tabulated file is a series of one or more sections, +defined as follows (without the parenthesized comments): + +# Density-dependent function (one or more comment or blank lines) :pre + +DD-FUNCTION (keyword is first text on line) +N 500 R 1.0 10.0 (N, R, RSQ parameters) + (blank) +1 1.0 25.5 102.34 (index, density, energy/r^4, force) +2 1.02 23.4 98.5 +... +500 10.0 0.001 0.003 :pre + +A section begins with a non-blank line whose 1st character is not a +"#"; blank lines or lines starting with "#" can be used as comments +between sections. The first line begins with a keyword which +identifies the section. The line can contain additional text, but the +initial text must match the argument specified in the pair_coeff +command. The next line lists (in any order) one or more parameters +for the table. Each parameter is a keyword followed by one or more +numeric values. + +The parameter "N" is required and its value is the number of table +entries that follow. Note that this may be different than the {N} +specified in the "pair_style multi/lucy"_pair_multi_lucy.html command. Let +Ntable = {N} in the pair_style command, and Nfile = "N" in the +tabulated file. What LAMMPS does is a preliminary interpolation by +creating splines using the Nfile tabulated values as nodal points. It +uses these to interpolate the density-dependent energy and force at Ntable different +points. The resulting tables of length Ntable are then used as +described above, when computing the density-dependent energy and force. +This means that if you want the interpolation tables of +length Ntable to match exactly what is in the tabulated file (with +effectively no preliminary interpolation), you should set Ntable = +Nfile, and use the "RSQ" parameter. This is because the +internal table abscissa is always RSQ (separation distance squared), +for efficient lookup. + +All other parameters are optional. If "R" or "RSQ" does +not appear, then the distances in each line of the table are used +as-is to perform spline interpolation. In this case, the table values +can be spaced in {density} uniformly or however you wish to position table +values in regions of large gradients. + +If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} +and {rhi}. If specified, the density associated with each density-dependent +energy and force value is computed from these 2 values (at high accuracy), rather +than using the (low-accuracy) value listed in each line of the table. +The density values in the table file are ignored in this case. +For "R", distances uniformly spaced between {rlo} and {rhi} are +computed; for "RSQ", squared distances uniformly spaced between +{rlo*rlo} and {rhi*rhi} are computed. + +NOTE: If you use "R" or "RSQ", the tabulated distance values in the +file are effectively ignored, and replaced by new values as described +in the previous paragraph. If the density value in the table is not +very close to the new value (i.e. round-off difference), then you will +be assigning density-dependent energy and force values to a different density, +which is probably not what you want. LAMMPS will warn if this is occurring. + +Following a blank line, the next N lines list the tabulated values. +On each line, the 1st value is the index from 1 to N, the 2nd value is +r (in density units), the 3rd value is the density-dependent function value +(in energy units / length^4), and the 4th is the force (in force units). The +density values must increase from one line to the next. + +Note that one file can contain many sections, each with a tabulated +potential. LAMMPS reads the file section by section until it finds +one that matches the specified keyword. + +:line + +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. + +The "pair_modify"_pair_modify.html shift, table, and tail options are +not relevant for this pair style. + +This pair style writes the settings for the "pair_style multi/lucy" command +to "binary restart files"_restart.html, so a pair_style command does +not need to specified in an input script that reads a restart file. +However, the coefficient information is not stored in the restart +file, since it is tabulated in the potential files. Thus, pair_coeff +commands do need to be specified in the restart input script. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +:line + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:line + +:link(Warren) +[(Warren)] Warren, Phys Rev E, 68, 066702 (2003). + +:link(Brennan) +[(Brennan)] Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). + +:link(Moore) +[(Moore)] Moore, J Chem Phys, 144, 104501 (2016). +