<p>This fix implements the Gaussian dynamics (GD) method to simulate a
system at constant mass flux <aclass="reference internal"href="#strong"><spanclass="std std-ref">(Strong)</span></a>. GD is a
nonequilibrium molecular dynamics simulation method that can be used
to study fluid flows through pores, pipes, and channels. In its
original implementation GD was used to compute the pressure required
to achieve a fixed mass flux through an opening. The flux can be
conserved in any combination of the directions, x, y, or z, using
xflag,yflag,zflag. This fix does not initialize a net flux through a
system, it only conserves the center-of-mass momentum that is present
when the fix is declared in the input script. Use the
<aclass="reference internal"href="velocity.html"><spanclass="doc">velocity</span></a> command to generate an initial center-of-mass
momentum.</p>
<p>GD applies an external fluctuating gravitational field that acts as a
driving force to keep the system away from equilibrium. To maintain
steady state, a profile-unbiased thermostat must be implemented to
dissipate the heat that is added by the driving force. <aclass="reference internal"href="compute_temp_profile.html"><spanclass="doc">Compute temp/profile</span></a> can be used to implement a
profile-unbiased thermostat.</p>
<p>A common use of this fix is to compute a pressure drop across a pipe,
pore, or membrane. The pressure profile can be computed in LAMMPS with
<aclass="reference internal"href="compute_stress_atom.html"><spanclass="doc">compute stress/atom</span></a> and <aclass="reference internal"href="fix_ave_chunk.html"><spanclass="doc">fix ave/chunk</span></a>, or with the hardy method in <aclass="reference internal"href="fix_atc.html"><spanclass="doc">fix atc</span></a>. Note that the simple <aclass="reference internal"href="compute_stress_atom.html"><spanclass="doc">compute stress/atom</span></a> method is only accurate away
from inhomogeneities in the fluid, such as fixed wall atoms. Further,
the computed pressure profile must be corrected for the acceleration
applied by GD before computing a pressure drop or comparing it to
other methods, such as the pump method <aclass="reference internal"href="#zhu"><spanclass="std std-ref">(Zhu)</span></a>. The pressure
correction is discussed and described in <aclass="reference internal"href="#strong"><spanclass="std std-ref">(Strong)</span></a>.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">For a complete example including the considerations discussed
above, see the examples/USER/flow_gauss directory.</p>
</div>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">Only the flux of the atoms in group-ID will be conserved. If the
velocities of the group-ID atoms are coupled to the velocities of
other atoms in the simulation, the flux will not be conserved. For
example, in a simulation with fluid atoms and harmonically constrained
wall atoms, if a single thermostat is applied to group <em>all</em>, the
fluid atom velocities will be coupled to the wall atom velocities, and
the flux will not be conserved. This issue can be avoided by
thermostatting the fluid and wall groups separately.</p>
</div>
<p>Adding an acceleration to atoms does work on the system. This added
energy can be optionally subtracted from the potential energy for the
thermodynamic output (see below) to check that the timestep is small
enough to conserve energy. Since the applied acceleration is
fluctuating in time, the work cannot be computed from a potential. As
a result, computing the work is slightly more computationally
expensive than usual, so it is not performed by default. To invoke the
work calculation, use the <em>energy</em> keyword. The
<aclass="reference internal"href="fix_modify.html"><spanclass="doc">fix_modify</span></a><em>energy</em> option also invokes the work
calculation, and overrides an <em>energy no</em> setting here. If neither
<em>energy yes</em> or <em>fix_modify energy yes</em> are set, the global scalar
computed by the fix will return zero.</p>
<divclass="admonition note">
<pclass="first admonition-title">Note</p>
<pclass="last">In order to check energy conservation, any other fixes that do
work on the system must have <em>fix_modify energy yes</em> set as well. This
includes thermostat fixes and any constraints that hold the positions
of wall atoms fixed, such as <aclass="reference internal"href="fix_spring_self.html"><spanclass="doc">fix spring/self</span></a>.</p>
</div>
<hrclass="docutils"/>
<p><strong>Restart, fix_modify, output, run start/stop, minimize info:</strong></p>
<p>This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the <aclass="reference internal"href="Section_start.html#start-3"><spanclass="std std-ref">Making LAMMPS</span></a> section for more info.</p>
<p>No information about this fix is written to <aclass="reference internal"href="restart.html"><spanclass="doc">binary restart files</span></a>.</p>
<p>The <aclass="reference internal"href="fix_modify.html"><spanclass="doc">fix_modify</span></a><em>energy</em> option is supported by this
fix to subtract the work done from the
system’s potential energy as part of <aclass="reference internal"href="thermo_style.html"><spanclass="doc">thermodynamic output</span></a>.</p>
<p>This fix computes a global scalar and a global 3-vector of forces,
which can be accessed by various <aclass="reference internal"href="Section_howto.html#howto-15"><spanclass="std std-ref">output commands</span></a>. The scalar is the negative of the
work done on the system, see above discussion. The vector is the total force
that this fix applied to the group of atoms on the current timestep.
The scalar and vector values calculated by this fix are “extensive”.</p>
<p>No parameter of this fix can be used with the <em>start/stop</em> keywords of
the <aclass="reference internal"href="run.html"><spanclass="doc">run</span></a> command.</p>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.