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

This commit is contained in:
sjplimp
2016-08-05 20:45:14 +00:00
parent 390b492d08
commit 30d6007565
6 changed files with 57 additions and 19 deletions

View File

@ -350,9 +350,28 @@ minimization, most likely in an undesirable way.
setting.
This fix computes a global scalar which can be accessed by various
:ref:`output commands <howto_15>`. The scalar is the
:ref:`output commands <howto_15>`. The scalar is the
pressure-volume energy, plus the strain energy, if it exists.
This fix computes a global scalar which can be accessed by various
:ref:`output commands <howto_15>`. The scalar is given
by the energy expression shown above. The energy values reported
at the end of a minimization run under "Minimization stats" include
this energy, and so differ from what LAMMPS normally reports as
potential energy. This fix does not support the
:doc:`fix_modify <fix_modify>` *energy* option,
because that would result in double-counting of the fix energy in the
minimization energy. Instead, the fix energy can be explicitly
added to the potential energy using one of these two variants:
.. parsed-literal::
variable emin equal pe+f_1
.. parsed-literal::
variable emin equal pe+f_1/atoms
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.

View File

@ -17,7 +17,7 @@ Syntax
* Kp = proportional gain in PID equation (unitless)
* Ki = integral gain in PID equation (unitless)
* Kd = derivative gain in PID equation (unitless)
* pvar = process variable of form c_ID, c_ID[N], f_ID, f_ID[N], or v_name
* pvar = process variable of form c_ID, c_ID[I], f_ID, f_ID[I], or v_name
.. parsed-literal::
c_ID = global scalar calculated by a compute with ID
@ -105,8 +105,8 @@ keywords described above. The discretized version of this equation is:
.. image:: Eqs/fix_controller2.jpg
:align: center
where *tau* = *Nevery*\ *timestep is the time interval between updates,
and the subsripted variables indicated the values of *c* and *e* at
where *tau* = *Nevery* * *timestep* is the time interval between updates,
and the subscripted variables indicate the values of *c* and *e* at
successive updates.
From the first equation, it is clear that if the three gain values
@ -128,9 +128,10 @@ feedback is sufficient, and so *Ki*\ =\ *Kd*\ =0 can be used. In cases where
there is a substantial lag time in the response of *pvar* to a change
in *cvar*\ , this can be counteracted by increasing *Kd*\ . In situations
where *pvar* plateaus without reaching *setpoint*\ , this can be
counteracted by increasing *Ki*\ . In the language of Charles Dickens
(or Donald Trump), *Kp* represents the error of the present, *Ki* the
error of the past, and *Kd* the error yet to come.
counteracted by increasing *Ki*\ . In the language of Charles Dickens,
*Kp* represents the error of the present, *Ki* the error of the past,
and *Kd* the error yet to come. (insert your own Donald Trump joke
here)
Because this fix updates *cvar*\ , but does not initialize its value,
the initial value is that assigned by the user in the input script via

View File

@ -413,8 +413,24 @@ specified by the <em>press</em> keyword will be unaffected by the <em>temp</em>
setting.</p>
</div>
<p>This fix computes a global scalar which can be accessed by various
<a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. The scalar is the
<a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. The scalar is the
pressure-volume energy, plus the strain energy, if it exists.</p>
<p>This fix computes a global scalar which can be accessed by various
<a class="reference internal" href="Section_howto.html#howto-15"><span class="std std-ref">output commands</span></a>. The scalar is given
by the energy expression shown above. The energy values reported
at the end of a minimization run under &#8220;Minimization stats&#8221; include
this energy, and so differ from what LAMMPS normally reports as
potential energy. This fix does not support the
<a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> <em>energy</em> option,
because that would result in double-counting of the fix energy in the
minimization energy. Instead, the fix energy can be explicitly
added to the potential energy using one of these two variants:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">variable</span> <span class="n">emin</span> <span class="n">equal</span> <span class="n">pe</span><span class="o">+</span><span class="n">f_1</span>
</pre></div>
</div>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">variable</span> <span class="n">emin</span> <span class="n">equal</span> <span class="n">pe</span><span class="o">+</span><span class="n">f_1</span><span class="o">/</span><span class="n">atoms</span>
</pre></div>
</div>
<p>No parameter of this fix can be used with the <em>start/stop</em> keywords of
the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command.</p>
<p>This fix is invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>, but

View File

@ -139,7 +139,7 @@
<li>Kp = proportional gain in PID equation (unitless)</li>
<li>Ki = integral gain in PID equation (unitless)</li>
<li>Kd = derivative gain in PID equation (unitless)</li>
<li>pvar = process variable of form c_ID, c_ID[N], f_ID, f_ID[N], or v_name</li>
<li>pvar = process variable of form c_ID, c_ID[I], f_ID, f_ID[I], or v_name</li>
</ul>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">c_ID</span> <span class="o">=</span> <span class="k">global</span> <span class="n">scalar</span> <span class="n">calculated</span> <span class="n">by</span> <span class="n">a</span> <span class="n">compute</span> <span class="k">with</span> <span class="n">ID</span>
<span class="n">c_ID</span><span class="p">[</span><span class="n">I</span><span class="p">]</span> <span class="o">=</span> <span class="n">Ith</span> <span class="n">component</span> <span class="n">of</span> <span class="k">global</span> <span class="n">vector</span> <span class="n">calculated</span> <span class="n">by</span> <span class="n">a</span> <span class="n">compute</span> <span class="k">with</span> <span class="n">ID</span>
@ -233,8 +233,8 @@ the following dynamic equation:</p>
<em>alpha</em>, <em>Kp</em>, <em>Ki</em>, and <em>Kd</em> are constants set by the corresponding
keywords described above. The discretized version of this equation is:</p>
<img alt="_images/fix_controller2.jpg" class="align-center" src="_images/fix_controller2.jpg" />
<p>where <em>tau</em> = <em>Nevery</em><em>timestep is the time interval between updates,
and the subsripted variables indicated the values of *c</em> and <em>e</em> at
<p>where <em>tau</em> = <em>Nevery</em> * <em>timestep</em> is the time interval between updates,
and the subscripted variables indicate the values of <em>c</em> and <em>e</em> at
successive updates.</p>
<p>From the first equation, it is clear that if the three gain values
<em>Kp</em>, <em>Ki</em>, <em>Kd</em> are dimensionless constants, then <em>alpha</em> must have
@ -254,9 +254,10 @@ feedback is sufficient, and so <em>Ki</em>=<em>Kd</em>=0 can be used. In cases w
there is a substantial lag time in the response of <em>pvar</em> to a change
in <em>cvar</em>, this can be counteracted by increasing <em>Kd</em>. In situations
where <em>pvar</em> plateaus without reaching <em>setpoint</em>, this can be
counteracted by increasing <em>Ki</em>. In the language of Charles Dickens
(or Donald Trump), <em>Kp</em> represents the error of the present, <em>Ki</em> the
error of the past, and <em>Kd</em> the error yet to come.</p>
counteracted by increasing <em>Ki</em>. In the language of Charles Dickens,
<em>Kp</em> represents the error of the present, <em>Ki</em> the error of the past,
and <em>Kd</em> the error yet to come. (insert your own Donald Trump joke
here)</p>
<p>Because this fix updates <em>cvar</em>, but does not initialize its value,
the initial value is that assigned by the user in the input script via
the <a class="reference internal" href="variable.html"><span class="doc">internal-style variable</span></a> command. This value is

File diff suppressed because one or more lines are too long

View File

@ -19,7 +19,7 @@ alpha = coupling constant for PID equation (see units discussion below) :l
Kp = proportional gain in PID equation (unitless) :l
Ki = integral gain in PID equation (unitless) :l
Kd = derivative gain in PID equation (unitless) :l
pvar = process variable of form c_ID, c_ID\[N\], f_ID, f_ID\[N\], or v_name :l
pvar = process variable of form c_ID, c_ID\[I\], f_ID, f_ID\[I\], or v_name :l
c_ID = global scalar calculated by a compute with ID
c_ID\[I\] = Ith component of global vector calculated by a compute with ID
f_ID = global scalar calculated by a fix with ID
@ -113,9 +113,10 @@ feedback is sufficient, and so {Ki}={Kd}=0 can be used. In cases where
there is a substantial lag time in the response of {pvar} to a change
in {cvar}, this can be counteracted by increasing {Kd}. In situations
where {pvar} plateaus without reaching {setpoint}, this can be
counteracted by increasing {Ki}. In the language of Charles Dickens
(or Donald Trump), {Kp} represents the error of the present, {Ki} the
error of the past, and {Kd} the error yet to come.
counteracted by increasing {Ki}. In the language of Charles Dickens,
{Kp} represents the error of the present, {Ki} the error of the past,
and {Kd} the error yet to come. (insert your own Donald Trump joke
here)
Because this fix updates {cvar}, but does not initialize its value,
the initial value is that assigned by the user in the input script via