git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15454 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 “Minimization stats” 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
|
||||
|
||||
@ -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
@ -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
|
||||
|
||||
Reference in New Issue
Block a user