use dynamic/dof and extra/dof consistently. remove compatibility note in docs.
This commit is contained in:
@ -12,16 +12,14 @@ Syntax
|
|||||||
|
|
||||||
* compute-ID = ID of the compute to modify
|
* compute-ID = ID of the compute to modify
|
||||||
* one or more keyword/value pairs may be listed
|
* one or more keyword/value pairs may be listed
|
||||||
* keyword = *extra/dof* or *extra* or *dynamic/dof* or *dynamic*
|
* keyword = *extra/dof* or *dynamic/dof*
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*extra/dof* value = N
|
*extra/dof* value = N
|
||||||
N = # of extra degrees of freedom to subtract
|
N = # of extra degrees of freedom to subtract
|
||||||
*extra* syntax is identical to *extra/dof*, will be disabled at some point
|
|
||||||
*dynamic/dof* value = *yes* or *no*
|
*dynamic/dof* value = *yes* or *no*
|
||||||
yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature
|
yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature
|
||||||
*dynamic* syntax is identical to *dynamic/dof*, will be disabled at some point
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
""""""""
|
""""""""
|
||||||
@ -37,19 +35,18 @@ Description
|
|||||||
Modify one or more parameters of a previously defined compute. Not
|
Modify one or more parameters of a previously defined compute. Not
|
||||||
all compute styles support all parameters.
|
all compute styles support all parameters.
|
||||||
|
|
||||||
The *extra/dof* or *extra* keyword refers to how many degrees of
|
The *extra/dof* keyword refers to how many degrees of freedom are
|
||||||
freedom are subtracted (typically from :math:`3N`) as a normalizing
|
subtracted (typically from :math:`3N`) as a normalizing factor in a
|
||||||
factor in a temperature computation. Only computes that compute a
|
temperature computation. Only computes that compute a temperature use
|
||||||
temperature use this option. The default is 2 or 3 for :doc:`2d or 3d
|
this option. The default is 2 or 3 for :doc:`2d or 3d systems
|
||||||
systems <dimension>` which is a correction factor for an ensemble of
|
<dimension>` which is a correction factor for an ensemble of velocities
|
||||||
velocities with zero total linear momentum. For compute temp/partial,
|
with zero total linear momentum. For compute temp/partial, if one or
|
||||||
if one or more velocity components are excluded, the value used for
|
more velocity components are excluded, the value used for *extra/dof* is
|
||||||
*extra* is scaled accordingly. You can use a negative number for the
|
scaled accordingly. You can use a negative number for the *extra/dof*
|
||||||
*extra* parameter if you need to add degrees-of-freedom. See the
|
parameter if you need to add degrees-of-freedom. See the :doc:`compute
|
||||||
:doc:`compute temp/asphere <compute_temp_asphere>` command for an
|
temp/asphere <compute_temp_asphere>` command for an example.
|
||||||
example.
|
|
||||||
|
|
||||||
The *dynamic/dof* or *dynamic* keyword determines whether the number
|
The *dynamic/dof* keyword determines whether the number
|
||||||
of atoms :math:`N` in the compute group and their associated degrees
|
of atoms :math:`N` in the compute group and their associated degrees
|
||||||
of freedom (DOF) are re-computed each time a temperature is computed.
|
of freedom (DOF) are re-computed each time a temperature is computed.
|
||||||
Only compute styles that calculate a temperature use this option. By
|
Only compute styles that calculate a temperature use this option. By
|
||||||
@ -61,12 +58,6 @@ are adding atoms or molecules to the system (see the :doc:`fix pour
|
|||||||
<fix_evaporate>`), then this option should be used to ensure the
|
<fix_evaporate>`), then this option should be used to ensure the
|
||||||
temperature is correctly normalized.
|
temperature is correctly normalized.
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
The *extra* and *dynamic* keywords should not be used as they
|
|
||||||
are deprecated (March 2017) and will eventually be disabled. Instead,
|
|
||||||
use the equivalent *extra/dof* and *dynamic/dof* keywords.
|
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
none
|
none
|
||||||
@ -79,5 +70,5 @@ Related commands
|
|||||||
Default
|
Default
|
||||||
"""""""
|
"""""""
|
||||||
|
|
||||||
The option defaults are extra/dof = 2 or 3 for 2d or 3d systems and
|
The option defaults are extra/dof = 2 or 3 for 2d or 3d systems,
|
||||||
dynamic/dof = *no*.
|
respectively, and dynamic/dof = *no*.
|
||||||
|
|||||||
@ -202,7 +202,7 @@ change from zero to one at the location of the spike in :math:`g(r)`.
|
|||||||
parallel efficiency and scaling. For systems, where only the type
|
parallel efficiency and scaling. For systems, where only the type
|
||||||
of atoms changes (e.g., when using :doc:`fix atom/swap <fix_atom_swap>`),
|
of atoms changes (e.g., when using :doc:`fix atom/swap <fix_atom_swap>`),
|
||||||
you need to explicitly request the dynamic normalization updates
|
you need to explicitly request the dynamic normalization updates
|
||||||
via :doc:`compute_modify dynamic yes <compute_modify>`
|
via :doc:`compute_modify dynamic/dof yes <compute_modify>`
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -49,25 +49,26 @@ rotational).
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
This choice for degrees of freedom (DOF) assumes that all
|
This choice for degrees of freedom (DOF) assumes that all finite-size
|
||||||
finite-size aspherical or spherical particles in your model will
|
aspherical or spherical particles in your model will freely rotate,
|
||||||
freely rotate, sampling all their rotational DOF. It is possible to
|
sampling all their rotational DOF. It is possible to use a
|
||||||
use a combination of interaction potentials and fixes that induce no
|
combination of interaction potentials and fixes that induce no torque
|
||||||
torque or otherwise constrain some of all of your particles so that
|
or otherwise constrain some of all of your particles so that this is
|
||||||
this is not the case. Then there are fewer DOF and you should use the
|
not the case. Then there are fewer DOF and you should use the
|
||||||
:doc:`compute_modify extra <compute_modify>` command to adjust the DOF
|
:doc:`compute_modify extra/dof <compute_modify>` command to adjust
|
||||||
accordingly.
|
the DOF accordingly.
|
||||||
|
|
||||||
For example, an aspherical particle with all three of its shape
|
For example, an aspherical particle with all three of its shape
|
||||||
parameters the same is a sphere. If it does not rotate, then it
|
parameters the same is a sphere. If it does not rotate, then it should
|
||||||
should have 3 DOF instead of 6 in 3d (or two instead of three in 2d).
|
have 3 DOF instead of 6 in 3d (or two instead of three in 2d). A
|
||||||
A uniaxial aspherical particle has two of its three shape parameters the
|
uniaxial aspherical particle has two of its three shape parameters the
|
||||||
same. If it does not rotate around the axis perpendicular to its
|
same. If it does not rotate around the axis perpendicular to its
|
||||||
circular cross section, then it should have 5 DOF instead of 6 in 3d.
|
circular cross section, then it should have 5 DOF instead of 6 in 3d.
|
||||||
The latter is the case for uniaxial ellipsoids in a :doc:`GayBerne model <pair_gayberne>` since there is no induced torque around the
|
The latter is the case for uniaxial ellipsoids in a :doc:`GayBerne model
|
||||||
optical axis. It will also be the case for biaxial ellipsoids when
|
<pair_gayberne>` since there is no induced torque around the optical
|
||||||
exactly two of the semiaxes have the same length and the corresponding
|
axis. It will also be the case for biaxial ellipsoids when exactly two
|
||||||
relative well depths are equal.
|
of the semiaxes have the same length and the corresponding relative well
|
||||||
|
depths are equal.
|
||||||
|
|
||||||
The translational kinetic energy is computed the same as is described
|
The translational kinetic energy is computed the same as is described
|
||||||
by the :doc:`compute temp <compute_temp>` command. The rotational
|
by the :doc:`compute temp <compute_temp>` command. The rotational
|
||||||
@ -90,15 +91,17 @@ inertia tensor are used. The six components of the vector are ordered
|
|||||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||||
|
|
||||||
The number of atoms contributing to the temperature is assumed to be
|
The number of atoms contributing to the temperature is assumed to be
|
||||||
constant for the duration of the run; use the *dynamic* option of the
|
constant for the duration of the run; use the *dynamic/dof* option of
|
||||||
:doc:`compute_modify <compute_modify>` command if this is not the case.
|
the :doc:`compute_modify <compute_modify>` command if this is not the
|
||||||
|
case.
|
||||||
|
|
||||||
This compute subtracts out translational degrees-of-freedom due to
|
This compute subtracts out translational degrees-of-freedom due to fixes
|
||||||
fixes that constrain molecular motion, such as :doc:`fix shake <fix_shake>` and :doc:`fix rigid <fix_rigid>`. This means the
|
that constrain molecular motion, such as :doc:`fix shake <fix_shake>`
|
||||||
temperature of groups of atoms that include these constraints will be
|
and :doc:`fix rigid <fix_rigid>`. This means the temperature of groups
|
||||||
computed correctly. If needed, the subtracted degrees-of-freedom can
|
of atoms that include these constraints will be computed correctly. If
|
||||||
be altered using the *extra* option of the
|
needed, the subtracted degrees-of-freedom can be altered using the
|
||||||
:doc:`compute_modify <compute_modify>` command.
|
*extra/dof* option of the :doc:`compute_modify <compute_modify>`
|
||||||
|
command.
|
||||||
|
|
||||||
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
||||||
discussion of different ways to compute temperature and perform
|
discussion of different ways to compute temperature and perform
|
||||||
|
|||||||
@ -51,11 +51,10 @@ rotational).
|
|||||||
This choice for degrees of freedom (DOF) assumes that all body
|
This choice for degrees of freedom (DOF) assumes that all body
|
||||||
particles in your model will freely rotate, sampling all their
|
particles in your model will freely rotate, sampling all their
|
||||||
rotational DOF. It is possible to use a combination of interaction
|
rotational DOF. It is possible to use a combination of interaction
|
||||||
potentials and fixes that induce no torque or otherwise constrain some
|
potentials and fixes that induce no torque or otherwise constrain
|
||||||
of all of your particles so that this is not the case. Then there are
|
some of all of your particles so that this is not the case. Then
|
||||||
less DOF and you should use the
|
there are less DOF and you should use the :doc:`compute_modify
|
||||||
:doc:`compute_modify extra <compute_modify>` command to adjust the DOF
|
extra/dof <compute_modify>` command to adjust the DOF accordingly.
|
||||||
accordingly.
|
|
||||||
|
|
||||||
The translational kinetic energy is computed the same as is described
|
The translational kinetic energy is computed the same as is described
|
||||||
by the :doc:`compute temp <compute_temp>` command. The rotational
|
by the :doc:`compute temp <compute_temp>` command. The rotational
|
||||||
@ -72,15 +71,16 @@ used. The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
|||||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||||
|
|
||||||
The number of atoms contributing to the temperature is assumed to be
|
The number of atoms contributing to the temperature is assumed to be
|
||||||
constant for the duration of the run; use the *dynamic* option of the
|
constant for the duration of the run; use the *dynamic/dof* option of
|
||||||
:doc:`compute_modify <compute_modify>` command if this is not the case.
|
the :doc:`compute_modify <compute_modify>` command if this is not the
|
||||||
|
case.
|
||||||
|
|
||||||
This compute subtracts out translational degrees-of-freedom due to
|
This compute subtracts out translational degrees-of-freedom due to
|
||||||
fixes that constrain molecular motion, such as :doc:`fix shake <fix_shake>`
|
fixes that constrain molecular motion, such as :doc:`fix shake <fix_shake>`
|
||||||
and :doc:`fix rigid <fix_rigid>`. This means the
|
and :doc:`fix rigid <fix_rigid>`. This means the
|
||||||
temperature of groups of atoms that include these constraints will be
|
temperature of groups of atoms that include these constraints will be
|
||||||
computed correctly. If needed, the subtracted degrees-of-freedom can
|
computed correctly. If needed, the subtracted degrees-of-freedom can
|
||||||
be altered using the *extra* option of the
|
be altered using the *extra/dof* option of the
|
||||||
:doc:`compute_modify <compute_modify>` command.
|
:doc:`compute_modify <compute_modify>` command.
|
||||||
|
|
||||||
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
||||||
|
|||||||
@ -75,7 +75,8 @@ Restrictions
|
|||||||
|
|
||||||
The number of degrees of freedom contributing to the temperature is
|
The number of degrees of freedom contributing to the temperature is
|
||||||
assumed to be constant for the duration of the run unless the
|
assumed to be constant for the duration of the run unless the
|
||||||
*fix_modify* command sets the option *dynamic yes*\ .
|
:doc:`fix_modify command <fix_modify>` sets the option *dynamic/dof
|
||||||
|
yes*\ .
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -49,14 +49,13 @@ each has three degrees of freedom (two translational, one rotational).
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
This choice for degrees of freedom (DOF) assumes that all
|
This choice for degrees of freedom (DOF) assumes that all finite-size
|
||||||
finite-size spherical particles in your model will freely rotate,
|
spherical particles in your model will freely rotate, sampling all
|
||||||
sampling all their rotational DOF. It is possible to use a
|
their rotational DOF. It is possible to use a combination of
|
||||||
combination of interaction potentials and fixes that induce no torque
|
interaction potentials and fixes that induce no torque or otherwise
|
||||||
or otherwise constrain some of all of your particles so that this is
|
constrain some of all of your particles so that this is not the case.
|
||||||
not the case. Then there are less DOF and you should use the
|
Then there are less DOF and you should use the :doc:`compute_modify
|
||||||
:doc:`compute_modify extra <compute_modify>` command to adjust the DOF
|
extra/dof <compute_modify>` command to adjust the DOF accordingly.
|
||||||
accordingly.
|
|
||||||
|
|
||||||
The translational kinetic energy is computed the same as is described
|
The translational kinetic energy is computed the same as is described
|
||||||
by the :doc:`compute temp <compute_temp>` command. The rotational
|
by the :doc:`compute temp <compute_temp>` command. The rotational
|
||||||
@ -73,20 +72,22 @@ velocity.
|
|||||||
A kinetic energy tensor, stored as a six-element vector, is also
|
A kinetic energy tensor, stored as a six-element vector, is also
|
||||||
calculated by this compute. The formula for the components of the
|
calculated by this compute. The formula for the components of the
|
||||||
tensor is the same as the above formulas, except that :math:`v^2` and
|
tensor is the same as the above formulas, except that :math:`v^2` and
|
||||||
:math:`\omega^2` are replaced by :math:`v_x v_y` and :math:`\omega_x \omega_y`
|
:math:`\omega^2` are replaced by :math:`v_x v_y` and :math:`\omega_x
|
||||||
for the :math:`xy` component. The six components of the vector are ordered
|
\omega_y` for the :math:`xy` component. The six components of the
|
||||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
vector are ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`,
|
||||||
|
:math:`xz`, :math:`yz`.
|
||||||
|
|
||||||
The number of atoms contributing to the temperature is assumed to be
|
The number of atoms contributing to the temperature is assumed to be
|
||||||
constant for the duration of the run; use the *dynamic* option of the
|
constant for the duration of the run; use the *dynamic* option of the
|
||||||
:doc:`compute_modify <compute_modify>` command if this is not the case.
|
:doc:`compute_modify <compute_modify>` command if this is not the case.
|
||||||
|
|
||||||
This compute subtracts out translational degrees-of-freedom due to
|
This compute subtracts out translational degrees-of-freedom due to fixes
|
||||||
fixes that constrain molecular motion, such as :doc:`fix shake <fix_shake>` and :doc:`fix rigid <fix_rigid>`. This means the
|
that constrain molecular motion, such as :doc:`fix shake <fix_shake>`
|
||||||
temperature of groups of atoms that include these constraints will be
|
and :doc:`fix rigid <fix_rigid>`. This means the temperature of groups
|
||||||
computed correctly. If needed, the subtracted degrees of freedom can
|
of atoms that include these constraints will be computed correctly. If
|
||||||
be altered using the *extra* option of the
|
needed, the subtracted degrees of freedom can be altered using the
|
||||||
:doc:`compute_modify <compute_modify>` command.
|
*extra/dof* option of the :doc:`compute_modify <compute_modify>`
|
||||||
|
command.
|
||||||
|
|
||||||
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
||||||
discussion of different ways to compute temperature and perform
|
discussion of different ways to compute temperature and perform
|
||||||
|
|||||||
@ -171,7 +171,7 @@ Langevin thermostat:
|
|||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
compute dtemp all temp
|
compute dtemp all temp
|
||||||
compute_modify dtemp dynamic yes
|
compute_modify dtemp dynamic/dof yes
|
||||||
fix fT all langevin 1.0 1.0 1.0 123
|
fix fT all langevin 1.0 1.0 1.0 123
|
||||||
fix_modify fT temp dtemp
|
fix_modify fT temp dtemp
|
||||||
|
|
||||||
|
|||||||
@ -95,10 +95,9 @@ default group "all" and the group specified in the fix deposit command
|
|||||||
(which can also be "all").
|
(which can also be "all").
|
||||||
|
|
||||||
If you are computing temperature values which include inserted
|
If you are computing temperature values which include inserted
|
||||||
particles, you will want to use the
|
particles, you will want to use the :doc:`compute_modify dynamic/dof yes
|
||||||
:doc:`compute_modify <compute_modify>` dynamic option, which ensures the
|
<compute_modify>` option, which ensures the current number of atoms is
|
||||||
current number of atoms is used as a normalizing factor each time the
|
used as a normalizing factor each time the temperature is computed.
|
||||||
temperature is computed.
|
|
||||||
|
|
||||||
Care must be taken that inserted particles are not too near existing
|
Care must be taken that inserted particles are not too near existing
|
||||||
atoms, using the options described below. When inserting particles
|
atoms, using the options described below. When inserting particles
|
||||||
@ -160,15 +159,17 @@ command which also appears in your input script.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you wish the new rigid molecules (and other rigid molecules)
|
If you wish the new rigid molecules (and other rigid molecules) to be
|
||||||
to be thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>`
|
thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>` or
|
||||||
or :doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the
|
:doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the
|
||||||
"fix_modify dynamic/dof yes" command for the rigid fix. This is to
|
:doc:`fix_modify dynamic/dof yes <fix_modify>` command for the rigid
|
||||||
inform that fix that the molecule count will vary dynamically.
|
fix. This is to inform that fix that the molecule count will vary
|
||||||
|
dynamically.
|
||||||
|
|
||||||
If you wish to insert molecules via the *mol* keyword, that will have
|
If you wish to insert molecules via the *mol* keyword, that will have
|
||||||
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
||||||
specifying as its value the ID of a separate :doc:`fix shake <fix_shake>` command which also appears in your input script.
|
specifying as its value the ID of a separate :doc:`fix shake
|
||||||
|
<fix_shake>` command which also appears in your input script.
|
||||||
|
|
||||||
Each timestep a particle is inserted, the coordinates for its atoms
|
Each timestep a particle is inserted, the coordinates for its atoms
|
||||||
are chosen as follows. For insertion of individual atoms, the
|
are chosen as follows. For insertion of individual atoms, the
|
||||||
@ -268,8 +269,8 @@ units of distance or velocity.
|
|||||||
|
|
||||||
If you are monitoring the temperature of a system where the atom
|
If you are monitoring the temperature of a system where the atom
|
||||||
count is changing due to adding particles, you typically should use
|
count is changing due to adding particles, you typically should use
|
||||||
the :doc:`compute_modify dynamic yes <compute_modify>` command for the
|
the :doc:`compute_modify dynamic/dof yes <compute_modify>` command
|
||||||
temperature compute you are using.
|
for the temperature compute you are using.
|
||||||
|
|
||||||
Restart, fix_modify, output, run start/stop, minimize info
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|||||||
@ -69,14 +69,15 @@ incur overhead due to the cost of building neighbor lists.
|
|||||||
|
|
||||||
If you are monitoring the temperature of a system where the atom
|
If you are monitoring the temperature of a system where the atom
|
||||||
count is changing due to evaporation, you typically should use the
|
count is changing due to evaporation, you typically should use the
|
||||||
:doc:`compute_modify dynamic yes <compute_modify>` command for the
|
:doc:`compute_modify dynamic/dof yes <compute_modify>` command for the
|
||||||
temperature compute you are using.
|
temperature compute you are using.
|
||||||
|
|
||||||
Restart, fix_modify, output, run start/stop, minimize info
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
|
No information about this fix is written to :doc:`binary restart files
|
||||||
are relevant to this fix.
|
<restart>`. None of the :doc:`fix_modify <fix_modify>` options are
|
||||||
|
relevant to this fix.
|
||||||
|
|
||||||
This fix computes a global scalar, which can be accessed by various
|
This fix computes a global scalar, which can be accessed by various
|
||||||
:doc:`output commands <Howto_output>`. The scalar is the cumulative
|
:doc:`output commands <Howto_output>`. The scalar is the cumulative
|
||||||
@ -84,7 +85,8 @@ number of deleted atoms. The scalar value calculated by this fix is
|
|||||||
"intensive".
|
"intensive".
|
||||||
|
|
||||||
No parameter of this fix can be used with the *start/stop* keywords of
|
No parameter of this fix can be used with the *start/stop* keywords of
|
||||||
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
|
the :doc:`run <run>` command. This fix is not invoked during
|
||||||
|
:doc:`energy minimization <minimize>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|||||||
@ -146,8 +146,8 @@ center-of-mass is inside the specified region.
|
|||||||
If used with :doc:`fix nvt <fix_nh>`, the temperature of the imaginary
|
If used with :doc:`fix nvt <fix_nh>`, the temperature of the imaginary
|
||||||
reservoir, T, should be set to be equivalent to the target temperature
|
reservoir, T, should be set to be equivalent to the target temperature
|
||||||
used in fix nvt. Otherwise, the imaginary reservoir will not be in
|
used in fix nvt. Otherwise, the imaginary reservoir will not be in
|
||||||
thermal equilibrium with the simulation cell. Also, it is important
|
thermal equilibrium with the simulation cell. Also, it is important that
|
||||||
that the temperature used by fix nvt be dynamic/dof, which can be
|
the temperature used by *fix nvt* is dynamically updated, which can be
|
||||||
achieved as follows:
|
achieved as follows:
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
@ -197,15 +197,17 @@ which also appears in your input script.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you wish the new rigid molecules (and other rigid molecules)
|
If you wish the new rigid molecules (and other rigid molecules) to be
|
||||||
to be thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>`
|
thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>` or
|
||||||
or :doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the
|
:doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the
|
||||||
"fix_modify dynamic/dof yes" command for the rigid fix. This is to
|
:doc:`fix_modify dynamic/dof yes <fix_modify>` command for the rigid
|
||||||
inform that fix that the molecule count will vary dynamically.
|
fix. This is to inform that fix that the molecule count will vary
|
||||||
|
dynamically.
|
||||||
|
|
||||||
If you wish to insert molecules via the *mol* keyword, that will have
|
If you wish to insert molecules via the *mol* keyword, that will have
|
||||||
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
||||||
specifying as its value the ID of a separate :doc:`fix shake <fix_shake>` command which also appears in your input script.
|
specifying as its value the ID of a separate :doc:`fix shake
|
||||||
|
<fix_shake>` command which also appears in your input script.
|
||||||
|
|
||||||
Optionally, users may specify the relative amounts of different MC
|
Optionally, users may specify the relative amounts of different MC
|
||||||
moves using the *mcmoves* keyword. The values *Patomtrans*,
|
moves using the *mcmoves* keyword. The values *Patomtrans*,
|
||||||
@ -335,31 +337,30 @@ temperature.
|
|||||||
Some fixes have an associated potential energy. Examples of such fixes
|
Some fixes have an associated potential energy. Examples of such fixes
|
||||||
include: :doc:`efield <fix_efield>`, :doc:`gravity <fix_gravity>`,
|
include: :doc:`efield <fix_efield>`, :doc:`gravity <fix_gravity>`,
|
||||||
:doc:`addforce <fix_addforce>`, :doc:`langevin <fix_langevin>`,
|
:doc:`addforce <fix_addforce>`, :doc:`langevin <fix_langevin>`,
|
||||||
:doc:`restrain <fix_restrain>`,
|
:doc:`restrain <fix_restrain>`, :doc:`temp/berendsen
|
||||||
:doc:`temp/berendsen <fix_temp_berendsen>`,
|
<fix_temp_berendsen>`, :doc:`temp/rescale <fix_temp_rescale>`, and
|
||||||
:doc:`temp/rescale <fix_temp_rescale>`, and :doc:`wall fixes <fix_wall>`.
|
:doc:`wall fixes <fix_wall>`. For that energy to be included in the
|
||||||
For that energy to be included in the total potential energy of the
|
total potential energy of the system (the quantity used when performing
|
||||||
system (the quantity used when performing GCMC exchange and MC moves),
|
GCMC exchange and MC moves), you MUST enable the :doc:`fix_modify
|
||||||
you MUST enable
|
<fix_modify>` *energy* option for that fix. The doc pages for
|
||||||
the :doc:`fix_modify <fix_modify>` *energy* option for that fix. The
|
individual :doc:`fix <fix>` commands specify if this should be done.
|
||||||
doc pages for individual :doc:`fix <fix>` commands specify if this
|
|
||||||
should be done.
|
|
||||||
|
|
||||||
Use the *charge* option to insert atoms with a user-specified point
|
Use the *charge* option to insert atoms with a user-specified point
|
||||||
charge. Note that doing so will cause the system to become
|
charge. Note that doing so will cause the system to become non-neutral.
|
||||||
non-neutral. LAMMPS issues a warning when using long-range
|
LAMMPS issues a warning when using long-range electrostatics (kspace)
|
||||||
electrostatics (kspace) with non-neutral systems. See the :doc:`compute group/group <compute_group_group>` documentation for more details
|
with non-neutral systems. See the :doc:`compute group/group
|
||||||
about simulating non-neutral systems with kspace on.
|
<compute_group_group>` documentation for more details about simulating
|
||||||
|
non-neutral systems with kspace on.
|
||||||
|
|
||||||
Use of this fix typically will cause the number of atoms to fluctuate,
|
Use of this fix typically will cause the number of atoms to fluctuate,
|
||||||
therefore, you will want to use the
|
therefore, you will want to use the :doc:`compute_modify dynamic/dof
|
||||||
:doc:`compute_modify dynamic/dof <compute_modify>` command to ensure that the
|
<compute_modify>` command to ensure that the current number of atoms is
|
||||||
current number of atoms is used as a normalizing factor each time
|
used as a normalizing factor each time temperature is computed. A simple
|
||||||
temperature is computed. A simple example of this is:
|
example of this is:
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
compute_modify thermo_temp dynamic yes
|
compute_modify thermo_temp dynamic/dof yes
|
||||||
|
|
||||||
A more complicated example is listed earlier on this page
|
A more complicated example is listed earlier on this page
|
||||||
in the context of NVT dynamics.
|
in the context of NVT dynamics.
|
||||||
@ -369,31 +370,29 @@ in the context of NVT dynamics.
|
|||||||
If the density of the cell is initially very small or zero, and
|
If the density of the cell is initially very small or zero, and
|
||||||
increases to a much larger density after a period of equilibration,
|
increases to a much larger density after a period of equilibration,
|
||||||
then certain quantities that are only calculated once at the start
|
then certain quantities that are only calculated once at the start
|
||||||
(kspace parameters) may no longer be accurate. The
|
(kspace parameters) may no longer be accurate. The solution is to
|
||||||
solution is to start a new simulation after the equilibrium density
|
start a new simulation after the equilibrium density has been
|
||||||
has been reached.
|
reached.
|
||||||
|
|
||||||
With some pair_styles, such as :doc:`Buckingham <pair_buck>`,
|
With some pair_styles, such as :doc:`Buckingham <pair_buck>`,
|
||||||
:doc:`Born-Mayer-Huggins <pair_born>` and :doc:`ReaxFF <pair_reaxff>`, two
|
:doc:`Born-Mayer-Huggins <pair_born>` and :doc:`ReaxFF <pair_reaxff>`,
|
||||||
atoms placed close to each other may have an arbitrary large, negative
|
two atoms placed close to each other may have an arbitrary large,
|
||||||
potential energy due to the functional form of the potential. While
|
negative potential energy due to the functional form of the potential.
|
||||||
these unphysical configurations are inaccessible to typical dynamical
|
While these unphysical configurations are inaccessible to typical
|
||||||
trajectories, they can be generated by Monte Carlo moves. The
|
dynamical trajectories, they can be generated by Monte Carlo moves. The
|
||||||
*overlap_cutoff* keyword suppresses these moves by effectively
|
*overlap_cutoff* keyword suppresses these moves by effectively assigning
|
||||||
assigning an infinite positive energy to all new configurations that
|
an infinite positive energy to all new configurations that place any
|
||||||
place any pair of atoms closer than the specified overlap cutoff
|
pair of atoms closer than the specified overlap cutoff distance.
|
||||||
distance.
|
|
||||||
|
|
||||||
The *max* and *min* keywords allow for the restriction of the number
|
The *max* and *min* keywords allow for the restriction of the number of
|
||||||
of atoms in the simulation. They automatically reject all insertion
|
atoms in the simulation. They automatically reject all insertion or
|
||||||
or deletion moves that would take the system beyond the set boundaries.
|
deletion moves that would take the system beyond the set boundaries.
|
||||||
Should the system already be beyond the boundary, only moves that bring
|
Should the system already be beyond the boundary, only moves that bring
|
||||||
the system closer to the bounds may be accepted.
|
the system closer to the bounds may be accepted.
|
||||||
|
|
||||||
The *group* keyword adds all inserted atoms to the
|
The *group* keyword adds all inserted atoms to the :doc:`group <group>`
|
||||||
:doc:`group <group>` of the group-ID value. The *grouptype* keyword
|
of the group-ID value. The *grouptype* keyword adds all inserted atoms
|
||||||
adds all inserted atoms of the specified type to the
|
of the specified type to the :doc:`group <group>` of the group-ID value.
|
||||||
:doc:`group <group>` of the group-ID value.
|
|
||||||
|
|
||||||
Restart, fix_modify, output, run start/stop, minimize info
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
@ -446,22 +445,21 @@ called. Reneighboring is required.
|
|||||||
|
|
||||||
Only usable for 3D simulations.
|
Only usable for 3D simulations.
|
||||||
|
|
||||||
Can be run in parallel, but aspects of the GCMC part will not scale
|
This fix can be run in parallel, but aspects of the GCMC part will not
|
||||||
well in parallel. Currently, molecule translations and rotations
|
scale well in parallel. Currently, molecule translations and rotations
|
||||||
are not supported with more than one MPI process.
|
are not supported with more than one MPI process. It is still possible
|
||||||
It is still possible to do parallel molecule exchange without
|
to do parallel molecule exchange without translation and rotation moves
|
||||||
translation and rotation moves by setting MC moves to zero
|
by setting MC moves to zero and/or by using the *mcmoves* keyword with
|
||||||
and/or by using the *mcmoves* keyword with *Pmoltrans* = *Pmolrotate* = 0 .
|
*Pmoltrans* = *Pmolrotate* = 0 .
|
||||||
|
|
||||||
|
|
||||||
When using fix gcmc in combination with fix shake or fix rigid,
|
When using fix gcmc in combination with fix shake or fix rigid, only
|
||||||
only GCMC exchange moves are supported, so the argument
|
GCMC exchange moves are supported, so the argument *M* must be zero.
|
||||||
*M* must be zero.
|
|
||||||
|
|
||||||
When using fix gcmc in combination with fix rigid, deletion
|
When using fix gcmc in combination with fix rigid, deletion of the last
|
||||||
of the last remaining molecule is not allowed for technical reasons,
|
remaining molecule is not allowed for technical reasons, and so the
|
||||||
and so the molecule count will never drop below 1, regardless of the
|
molecule count will never drop below 1, regardless of the specified
|
||||||
specified chemical potential.
|
chemical potential.
|
||||||
|
|
||||||
Note that very lengthy simulations involving insertions/deletions of
|
Note that very lengthy simulations involving insertions/deletions of
|
||||||
billions of gas molecules may run out of atom or molecule IDs and
|
billions of gas molecules may run out of atom or molecule IDs and
|
||||||
|
|||||||
@ -131,24 +131,24 @@ with their specified level at the beginning of a r-RESPA run.
|
|||||||
The *dynamic/dof* keyword determines whether the number of atoms N in
|
The *dynamic/dof* keyword determines whether the number of atoms N in
|
||||||
the fix group and their associated degrees of freedom are re-computed
|
the fix group and their associated degrees of freedom are re-computed
|
||||||
each time a temperature is computed. Only fix styles that calculate
|
each time a temperature is computed. Only fix styles that calculate
|
||||||
their own internal temperature use this option. Currently this is
|
their own internal temperature use this option. Currently this is only
|
||||||
only the :doc:`fix rigid/nvt/small <fix_rigid>` and :doc:`fix
|
the :doc:`fix rigid/nvt/small <fix_rigid>` and :doc:`fix rigid/npt/small
|
||||||
rigid/npt/small <fix_rigid>` commands for the purpose of
|
<fix_rigid>` commands for the purpose of thermostatting rigid body
|
||||||
thermostatting rigid body translation and rotation. By default, N and
|
translation and rotation. By default, N and their DOF are assumed to be
|
||||||
their DOF are assumed to be constant. If you are adding atoms or
|
constant. If you are adding atoms or molecules to the system (see the
|
||||||
molecules to the system (see the :doc:`fix pour <fix_pour>`, :doc:`fix
|
:doc:`fix pour <fix_pour>`, :doc:`fix deposit <fix_deposit>`, and
|
||||||
deposit <fix_deposit>`, and :doc:`fix gcmc <fix_gcmc>` commands) or
|
:doc:`fix gcmc <fix_gcmc>` commands) or expect atoms or molecules to be
|
||||||
expect atoms or molecules to be lost (e.g. due to exiting the
|
lost (e.g. due to exiting the simulation box or via :doc:`fix evaporate
|
||||||
simulation box or via :doc:`fix evaporate <fix_evaporate>`), then this
|
<fix_evaporate>`), then this option should be used to ensure the
|
||||||
option should be used to ensure the temperature is correctly
|
temperature is correctly normalized.
|
||||||
normalized.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Other thermostatting fixes, such as :doc:`fix nvt <fix_nh>`, do
|
Other thermostatting fixes, such as :doc:`fix nvt <fix_nh>`, do not
|
||||||
not use the *dynamic/dof* keyword because they use a temperature
|
use the *dynamic/dof* keyword because they use a temperature compute
|
||||||
compute to calculate temperature. See the :doc:`compute_modify dynamic/dof <compute_modify>` command for a similar way to ensure
|
to calculate temperature. See the :doc:`compute_modify dynamic/dof
|
||||||
correct temperature normalization for those thermostats.
|
<compute_modify>` command for a similar way to ensure correct
|
||||||
|
temperature normalization for those thermostats.
|
||||||
|
|
||||||
The *bodyforces* keyword determines whether the forces and torques
|
The *bodyforces* keyword determines whether the forces and torques
|
||||||
acting on rigid bodies are computed *early* at the post-force stage of
|
acting on rigid bodies are computed *early* at the post-force stage of
|
||||||
@ -156,7 +156,8 @@ each timestep (right after per-atom forces have been computed and
|
|||||||
communicated among processors), or *late* at the final-integrate stage
|
communicated among processors), or *late* at the final-integrate stage
|
||||||
of each timestep (after any other fixes have finished their post-force
|
of each timestep (after any other fixes have finished their post-force
|
||||||
tasks). Only the rigid-body integration fixes use this option, which
|
tasks). Only the rigid-body integration fixes use this option, which
|
||||||
includes :doc:`fix rigid <fix_rigid>` and :doc:`fix rigid/small <fix_rigid>`, and their variants, and also :doc:`fix poems <fix_poems>`.
|
includes :doc:`fix rigid <fix_rigid>` and :doc:`fix rigid/small
|
||||||
|
<fix_rigid>`, and their variants, and also :doc:`fix poems <fix_poems>`.
|
||||||
|
|
||||||
The default is *late*\ . If there are other fixes that add forces to
|
The default is *late*\ . If there are other fixes that add forces to
|
||||||
individual atoms, then the rigid-body constraints will include these
|
individual atoms, then the rigid-body constraints will include these
|
||||||
|
|||||||
@ -123,15 +123,17 @@ command which also appears in your input script.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you wish the new rigid molecules (and other rigid molecules)
|
If you wish the new rigid molecules (and other rigid molecules) to be
|
||||||
to be thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>`
|
thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>` or
|
||||||
or :doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the
|
:doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the
|
||||||
"fix_modify dynamic/dof yes" command for the rigid fix. This is to
|
:doc:`fix_modify dynamic/dof yes <fix_modify>` command for the rigid
|
||||||
inform that fix that the molecule count will vary dynamically.
|
fix. This is to inform that fix that the molecule count will vary
|
||||||
|
dynamically.
|
||||||
|
|
||||||
If you wish to insert molecules via the *mol* keyword, that will have
|
If you wish to insert molecules via the *mol* keyword, that will have
|
||||||
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
||||||
specifying as its value the ID of a separate :doc:`fix shake <fix_shake>` command which also appears in your input script.
|
specifying as its value the ID of a separate :doc:`fix shake
|
||||||
|
<fix_shake>` command which also appears in your input script.
|
||||||
|
|
||||||
Each timestep particles are inserted, they are placed randomly inside
|
Each timestep particles are inserted, they are placed randomly inside
|
||||||
the insertion volume so as to mimic a stream of poured particles. If
|
the insertion volume so as to mimic a stream of poured particles. If
|
||||||
@ -148,10 +150,10 @@ many timesteps until the desired # of particles has been inserted.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you are monitoring the temperature of a system where the
|
If you are monitoring the temperature of a system where the particle
|
||||||
particle count is changing due to adding particles, you typically
|
count is changing due to adding particles, you typically should use
|
||||||
should use the :doc:`compute_modify dynamic yes <compute_modify>`
|
the :doc:`compute_modify dynamic/dof yes <compute_modify>` command
|
||||||
command for the temperature compute you are using.
|
for the temperature compute you are using.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
# This test evaluates Hardy fields for a small block of LJ material
|
# This test evaluates Hardy fields for a small block of LJ material
|
||||||
# that's undergoing translation in the x-direction through the
|
# that's undergoing translation in the x-direction through the
|
||||||
# periodic boundary.
|
# periodic boundary.
|
||||||
echo both
|
echo both
|
||||||
log log.flying_cube
|
log log.flying_cube
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
variable lattice_constant equal 5.256227487
|
variable lattice_constant equal 5.256227487
|
||||||
variable c equal 6
|
variable c equal 6
|
||||||
variable L equal (${lattice_constant}*$c)
|
variable L equal (${lattice_constant}*$c)
|
||||||
variable V equal $L*$L*$L
|
variable V equal $L*$L*$L
|
||||||
@ -23,15 +23,15 @@ create_box 1 box
|
|||||||
create_atoms 1 region box
|
create_atoms 1 region box
|
||||||
mass 1 $m
|
mass 1 $m
|
||||||
group all region box
|
group all region box
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
pair_coeff 1 1 0.238 3.405
|
pair_coeff 1 1 0.238 3.405
|
||||||
# define region
|
# define region
|
||||||
neighbor 1.0 bin
|
neighbor 1.0 bin
|
||||||
neigh_modify delay 0 every 200 check no
|
neigh_modify delay 0 every 200 check no
|
||||||
# neigh_modify delay 0 every $n
|
# neigh_modify delay 0 every $n
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo $s
|
thermo $s
|
||||||
compute_modify thermo_temp extra 0
|
compute_modify thermo_temp extra/dof 0
|
||||||
thermo_style custom step temp pxx pyy pzz etotal lx ly lz
|
thermo_style custom step temp pxx pyy pzz etotal lx ly lz
|
||||||
timestep ${dt}
|
timestep ${dt}
|
||||||
min_modify line quadratic
|
min_modify line quadratic
|
||||||
@ -46,10 +46,10 @@ variable zHI equal zhi
|
|||||||
# region BOX block ${xLO} ${xHI} ${yLO} ${yHI} ${zLO} ${zHI} units box
|
# region BOX block ${xLO} ${xHI} ${yLO} ${yHI} ${zLO} ${zHI} units box
|
||||||
region BOX block ${xLO} ${xHI} -0.5 31.7 -0.5 31.7 units box
|
region BOX block ${xLO} ${xHI} -0.5 31.7 -0.5 31.7 units box
|
||||||
fix ATC all atc field
|
fix ATC all atc field
|
||||||
fix_modify ATC mesh create 1 1 1 box p p p
|
fix_modify ATC mesh create 1 1 1 box p p p
|
||||||
fix_modify ATC fields add stress velocity displacement
|
fix_modify ATC fields add stress velocity displacement
|
||||||
fix_modify ATC fields add temperature kinetic_temperature
|
fix_modify ATC fields add temperature kinetic_temperature
|
||||||
fix_modify ATC fields add internal_energy energy
|
fix_modify ATC fields add internal_energy energy
|
||||||
fix_modify ATC output flying_cubeFE $s text binary tensor_components
|
fix_modify ATC output flying_cubeFE $s text binary tensor_components
|
||||||
# fix_modify ATC atomic_output flying_cubeMD $m text binary tensor_components
|
# fix_modify ATC atomic_output flying_cubeMD $m text binary tensor_components
|
||||||
dump dumpfc all atom $s flying_cube.dmp
|
dump dumpfc all atom $s flying_cube.dmp
|
||||||
|
|||||||
@ -1,34 +1,34 @@
|
|||||||
# This test compares Hardy and Cauchy-Born metrics of energy density and stress
|
# This test compares Hardy and Cauchy-Born metrics of energy density and stress
|
||||||
# for an Ar system undergoing dynamics at a finite temperature.
|
# for an Ar system undergoing dynamics at a finite temperature.
|
||||||
echo both
|
echo both
|
||||||
log ftcb_constV.log
|
log ftcb_constV.log
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
variable lattice_constant equal 5.256227487
|
variable lattice_constant equal 5.256227487
|
||||||
variable c equal 6
|
variable c equal 6
|
||||||
variable L equal (${lattice_constant}*$c)
|
variable L equal (${lattice_constant}*$c)
|
||||||
variable V equal $L*$L*$L
|
variable V equal $L*$L*$L
|
||||||
print "Volume : $V"
|
print "Volume : $V"
|
||||||
variable Ti equal 0.0001
|
variable Ti equal 0.0001
|
||||||
variable dT equal 0.2
|
variable dT equal 0.2
|
||||||
variable n equal 10000
|
variable n equal 10000
|
||||||
variable m equal 200
|
variable m equal 200
|
||||||
variable dt equal 0.1
|
variable dt equal 0.1
|
||||||
# create system
|
# create system
|
||||||
lattice fcc ${lattice_constant}
|
lattice fcc ${lattice_constant}
|
||||||
region box block 0 $c 0 $c 0 $c
|
region box block 0 $c 0 $c 0 $c
|
||||||
boundary p p p
|
boundary p p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data ftcb_constV_setup.init
|
read_data ftcb_constV_setup.init
|
||||||
mass 1 39.95
|
mass 1 39.95
|
||||||
pair_coeff 1 1 0.238 3.405
|
pair_coeff 1 1 0.238 3.405
|
||||||
# define region
|
# define region
|
||||||
neighbor 1.0 bin
|
neighbor 1.0 bin
|
||||||
neigh_modify delay 0 every 2000 check no
|
neigh_modify delay 0 every 2000 check no
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo $m
|
thermo $m
|
||||||
compute_modify thermo_temp extra 0
|
compute_modify thermo_temp extra/dof 0
|
||||||
variable nrepeat equal $n/$m
|
variable nrepeat equal $n/$m
|
||||||
variable sxx equal -pxx
|
variable sxx equal -pxx
|
||||||
variable intenergy equal etotal
|
variable intenergy equal etotal
|
||||||
fix TDAVE all ave/time $m ${nrepeat} $n c_thermo_temp v_sxx v_intenergy ave one file ftcb_constV.profile
|
fix TDAVE all ave/time $m ${nrepeat} $n c_thermo_temp v_sxx v_intenergy ave one file ftcb_constV.profile
|
||||||
@ -37,7 +37,7 @@ timestep ${dt}
|
|||||||
# filtered
|
# filtered
|
||||||
fix ATCFILT all atc field Ar_CauchyBorn.mat
|
fix ATCFILT all atc field Ar_CauchyBorn.mat
|
||||||
#fix_modify ATCFILT reset_atomic_reference_positions ftcb_constV_setup.data
|
#fix_modify ATCFILT reset_atomic_reference_positions ftcb_constV_setup.data
|
||||||
fix_modify ATCFILT mesh create 1 1 1 box p p p
|
fix_modify ATCFILT mesh create 1 1 1 box p p p
|
||||||
fix_modify ATCFILT fields none
|
fix_modify ATCFILT fields none
|
||||||
fix_modify ATCFILT fields add internal_energy stress cauchy_born_energy cauchy_born_stress
|
fix_modify ATCFILT fields add internal_energy stress cauchy_born_energy cauchy_born_stress
|
||||||
fix_modify ATCFILT fields add temperature displacement
|
fix_modify ATCFILT fields add temperature displacement
|
||||||
@ -51,7 +51,7 @@ fix_modify ATCFILT filter type step
|
|||||||
# not filtered
|
# not filtered
|
||||||
fix ATC all atc field Ar_CauchyBorn.mat
|
fix ATC all atc field Ar_CauchyBorn.mat
|
||||||
#fix_modify ATC reset_atomic_reference_positions ftcb_constV_setup.data
|
#fix_modify ATC reset_atomic_reference_positions ftcb_constV_setup.data
|
||||||
fix_modify ATC mesh create 1 1 1 box p p p
|
fix_modify ATC mesh create 1 1 1 box p p p
|
||||||
fix_modify ATC fields none
|
fix_modify ATC fields none
|
||||||
fix_modify ATC fields add internal_energy stress cauchy_born_energy cauchy_born_stress
|
fix_modify ATC fields add internal_energy stress cauchy_born_energy cauchy_born_stress
|
||||||
fix_modify ATC fields add temperature displacement
|
fix_modify ATC fields add temperature displacement
|
||||||
@ -59,7 +59,7 @@ fix_modify ATC gradients add displacement
|
|||||||
fix_modify ATC output ftcb_constVFE $m text binary tensor_components
|
fix_modify ATC output ftcb_constVFE $m text binary tensor_components
|
||||||
velocity all create ${Ti} 102486 mom yes rot yes dist gaussian
|
velocity all create ${Ti} 102486 mom yes rot yes dist gaussian
|
||||||
# step iu T,V space
|
# step iu T,V space
|
||||||
variable i loop 1
|
variable i loop 1
|
||||||
label loop_i
|
label loop_i
|
||||||
print ">>> step $i, T: ${Ti}, V: $V"
|
print ">>> step $i, T: ${Ti}, V: $V"
|
||||||
variable Tf equal ${Ti}+${dT}
|
variable Tf equal ${Ti}+${dT}
|
||||||
@ -69,6 +69,6 @@ label loop_i
|
|||||||
fix NVT all nvt temp ${Tf} ${Tf} 20 drag 0.5 tchain 1
|
fix NVT all nvt temp ${Tf} ${Tf} 20 drag 0.5 tchain 1
|
||||||
run $n
|
run $n
|
||||||
unfix NVT
|
unfix NVT
|
||||||
variable Ti equal ${Tf}
|
variable Ti equal ${Tf}
|
||||||
next i
|
next i
|
||||||
jump in.ftcb_constV loop_i
|
jump in.ftcb_constV loop_i
|
||||||
|
|||||||
@ -5,50 +5,50 @@
|
|||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
log bar1d_fluids.log
|
log bar1d_fluids.log
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
#read_restart post_eq.dat
|
#read_restart post_eq.dat
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -7 7 -3 3 -3 3
|
#region mdRegion block -7 7 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 2 mdRegion
|
#create_box 2 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass * 39.95
|
#mass * 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
#region mdInternal block -6 6 -3 3 -3 3
|
#region mdInternal block -6 6 -3 3 -3 3
|
||||||
#region mdGhost block -6 6 -3 3 -3 3 side out
|
#region mdGhost block -6 6 -3 3 -3 3 side out
|
||||||
#create_atoms 1 region mdGhost
|
#create_atoms 1 region mdGhost
|
||||||
#lattice fcc 6.5 origin 0.25 0.25 0.25
|
#lattice fcc 6.5 origin 0.25 0.25 0.25
|
||||||
#create_atoms 2 region mdInternal
|
#create_atoms 2 region mdInternal
|
||||||
group internal type 2
|
group internal type 2
|
||||||
group ghost type 1
|
group ghost type 1
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 100. 87287 mom yes loop geom
|
#velocity internal create 100. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff * * .238 3.405 13.5
|
#pair_coeff * * .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
#write_restart tinit.dat
|
#write_restart tinit.dat
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region atcRegion block -6.25 6.25 -3 3 -3 3
|
region atcRegion block -6.25 6.25 -3 3 -3 3
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
# ID part keywords nx ny nz region periodicity
|
# ID part keywords nx ny nz region periodicity
|
||||||
fix_modify AtC mesh create 6 1 1 atcRegion f p p
|
fix_modify AtC mesh create 6 1 1 atcRegion f p p
|
||||||
fix_modify AtC time_integration fractional_step
|
fix_modify AtC time_integration fractional_step
|
||||||
fix_modify AtC atom_element_map eulerian 10 # NOTE this introduces a minor amount of time integration error tracking the atomic temperature
|
fix_modify AtC atom_element_map eulerian 10 # NOTE this introduces a minor amount of time integration error tracking the atomic temperature
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
#fix_modify AtC mass_matrix fe
|
#fix_modify AtC mass_matrix fe
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 100.
|
fix_modify AtC fix temperature all 100.
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_nodeset lbc -6.3 -6.2 -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -6.3 -6.2 -INF INF -INF INF
|
||||||
@ -56,43 +56,43 @@ fix_modify AtC mesh create_nodeset rbc 6.2 6.3 -INF INF -INF INF
|
|||||||
#fix_modify AtC fix temperature lbc 120.
|
#fix_modify AtC fix temperature lbc 120.
|
||||||
#fix_modify AtC fix temperature rbc 100.
|
#fix_modify AtC fix temperature rbc 100.
|
||||||
#used for restarting
|
#used for restarting
|
||||||
#fix_modify AtC consistent_fe_initialization on
|
#fix_modify AtC consistent_fe_initialization on
|
||||||
#fix_modify AtC initial temperature all 100.
|
#fix_modify AtC initial temperature all 100.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
#fix_modify AtC output bar1d_fluids_eqFE 200 text binary
|
#fix_modify AtC output bar1d_fluids_eqFE 200 text binary
|
||||||
#dump D1 all atom 200 dump_eq.bar1d
|
#dump D1 all atom 200 dump_eq.bar1d
|
||||||
timestep 2
|
timestep 2
|
||||||
thermo 200
|
thermo 200
|
||||||
run 2000
|
run 2000
|
||||||
#write_restart post_eq.dat
|
#write_restart post_eq.dat
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
fix_modify AtC reset_time
|
fix_modify AtC reset_time
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
variable deltaT equal 2.*2000.
|
variable deltaT equal 2.*2000.
|
||||||
fix_modify AtC fix temperature lbc temporal_ramp 100. 120. ${deltaT}
|
fix_modify AtC fix temperature lbc temporal_ramp 100. 120. ${deltaT}
|
||||||
#fix_modify AtC fix temperature lbc 100.
|
#fix_modify AtC fix temperature lbc 100.
|
||||||
fix_modify AtC fix temperature rbc 100.
|
fix_modify AtC fix temperature rbc 100.
|
||||||
fix_modify AtC control thermal flux no_boundary
|
fix_modify AtC control thermal flux no_boundary
|
||||||
fix_modify AtC control tolerance 1.e-14
|
fix_modify AtC control tolerance 1.e-14
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 1000.0
|
fix_modify AtC filter scale 1000.0
|
||||||
fix_modify AtC filter on
|
fix_modify AtC filter on
|
||||||
# output commands
|
# output commands
|
||||||
fix_modify AtC output bar1d_fluidsFE 100 text
|
fix_modify AtC output bar1d_fluidsFE 100 text
|
||||||
#undump D1
|
#undump D1
|
||||||
#dump D2 all atom 200 dump.bar1d
|
#dump D2 all atom 200 dump.bar1d
|
||||||
#dump D2 all custom 200 dump.bar1d id type xs ys zs vx vy vz
|
#dump D2 all custom 200 dump.bar1d id type xs ys zs vx vy vz
|
||||||
# set-up non-equilibrium IC
|
# set-up non-equilibrium IC
|
||||||
thermo 100
|
thermo 100
|
||||||
run 2000
|
run 2000
|
||||||
# run non-equilibrium condition
|
# run non-equilibrium condition
|
||||||
fix_modify AtC fix temperature lbc 120.
|
fix_modify AtC fix temperature lbc 120.
|
||||||
run 4000
|
run 4000
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
echo both
|
echo both
|
||||||
units real
|
units real
|
||||||
atom_style full # charge
|
atom_style full # charge
|
||||||
### NOTE p p p is required for both lammps & atc since periodic images are employed in ExtrinsicModelElectrostatic::correct_electrostatic_forces
|
### NOTE p p p is required for both lammps & atc since periodic images are employed in ExtrinsicModelElectrostatic::correct_electrostatic_forces
|
||||||
########### BEGIN PARAMETERS ####################################
|
########### BEGIN PARAMETERS ####################################
|
||||||
variable T equal 300
|
variable T equal 300
|
||||||
variable a equal 1.0 # 5.719025032
|
variable a equal 1.0 # 5.719025032
|
||||||
variable i equal 10 # thermo
|
variable i equal 10 # thermo
|
||||||
variable f equal 50 # neighbor & conc interval
|
variable f equal 50 # neighbor & conc interval
|
||||||
variable s equal 100 # 10 # 100 # output
|
variable s equal 100 # 10 # 100 # output
|
||||||
@ -12,18 +12,18 @@ variable n equal 800 # 20 # 200 # 300 # duration
|
|||||||
variable x equal 4 # 40 # 2 # 4 # exchanges
|
variable x equal 4 # 40 # 2 # 4 # exchanges
|
||||||
variable e equal 100. # 1. # 100. # 10. # energy
|
variable e equal 100. # 1. # 100. # 10. # energy
|
||||||
variable h equal 5 # nelems
|
variable h equal 5 # nelems
|
||||||
variable dt equal 4. #1. # 0 # 4.0
|
variable dt equal 4. #1. # 0 # 4.0
|
||||||
############## END PARAMETERS #################################
|
############## END PARAMETERS #################################
|
||||||
dimension 3
|
dimension 3
|
||||||
boundary p p p
|
boundary p p p
|
||||||
pair_style lj/cut/coul/cut 13.0
|
pair_style lj/cut/coul/cut 13.0
|
||||||
lattice sc $a
|
lattice sc $a
|
||||||
read_data concentration_init.data
|
read_data concentration_init.data
|
||||||
atom_modify sort 0 1
|
atom_modify sort 0 1
|
||||||
mass * 39.948
|
mass * 39.948
|
||||||
pair_coeff * * 0.2381 3.405
|
pair_coeff * * 0.2381 3.405
|
||||||
pair_coeff 1 * 0.4 3.405
|
pair_coeff 1 * 0.4 3.405
|
||||||
dielectric 80.0
|
dielectric 80.0
|
||||||
variable xlo equal xlo
|
variable xlo equal xlo
|
||||||
variable xhi equal xhi
|
variable xhi equal xhi
|
||||||
variable xmid equal 0.5*(${xhi}+${xlo})
|
variable xmid equal 0.5*(${xhi}+${xlo})
|
||||||
@ -37,9 +37,9 @@ region FLUID block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
|
|||||||
region R block ${xmid} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
|
region R block ${xmid} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi} units box
|
||||||
group SOLID type 1
|
group SOLID type 1
|
||||||
variable xdof equal 3*count(SOLID)
|
variable xdof equal 3*count(SOLID)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
#set group SOLID charge 0
|
#set group SOLID charge 0
|
||||||
group NEUTRAL type 2
|
group NEUTRAL type 2
|
||||||
group FLUID type 2 3 4
|
group FLUID type 2 3 4
|
||||||
group NION type 3
|
group NION type 3
|
||||||
group PION type 4
|
group PION type 4
|
||||||
@ -72,16 +72,16 @@ compute PMIN PION reduce min x
|
|||||||
compute PMAX PION reduce max x
|
compute PMAX PION reduce max x
|
||||||
compute NMIN NION reduce min x
|
compute NMIN NION reduce min x
|
||||||
compute NMAX NION reduce max x
|
compute NMAX NION reduce max x
|
||||||
timestep ${dt}
|
timestep ${dt}
|
||||||
#neighbor 13 bin
|
#neighbor 13 bin
|
||||||
neigh_modify every $i check no
|
neigh_modify every $i check no
|
||||||
# coulombic interactions
|
# coulombic interactions
|
||||||
fix ATC FLUID atc species_electrostatic Ar_electrostatic.mat
|
fix ATC FLUID atc species_electrostatic Ar_electrostatic.mat
|
||||||
#fix_modify ATC parallel_consistency off
|
#fix_modify ATC parallel_consistency off
|
||||||
fix_modify ATC extrinsic short_range off
|
fix_modify ATC extrinsic short_range off
|
||||||
#fix_modify ATC boundary SOLID
|
#fix_modify ATC boundary SOLID
|
||||||
fix_modify ATC atom_element_map eulerian $i
|
fix_modify ATC atom_element_map eulerian $i
|
||||||
fix_modify ATC internal_quadrature off
|
fix_modify ATC internal_quadrature off
|
||||||
fix_modify ATC consistent_fe_initialization on
|
fix_modify ATC consistent_fe_initialization on
|
||||||
fix_modify ATC filter type exponential
|
fix_modify ATC filter type exponential
|
||||||
fix_modify ATC filter scale $i
|
fix_modify ATC filter scale $i
|
||||||
@ -97,31 +97,31 @@ fix_modify ATC mesh create_elementset BOX BOX
|
|||||||
fix_modify ATC mass_matrix fe
|
fix_modify ATC mass_matrix fe
|
||||||
fix_modify ATC include atomic_charge
|
fix_modify ATC include atomic_charge
|
||||||
fix_modify ATC add_species N type 3
|
fix_modify ATC add_species N type 3
|
||||||
fix_modify ATC add_species P type 4
|
fix_modify ATC add_species P type 4
|
||||||
fix_modify ATC add_species Nt type 5
|
fix_modify ATC add_species Nt type 5
|
||||||
fix_modify ATC add_species Pt type 6
|
fix_modify ATC add_species Pt type 6
|
||||||
## CC
|
## CC
|
||||||
fix_modify ATC control concentration N R 0.001 Nt # deletions R
|
fix_modify ATC control concentration N R 0.001 Nt # deletions R
|
||||||
fix_modify ATC control concentration N frequency $f
|
fix_modify ATC control concentration N frequency $f
|
||||||
fix_modify ATC control concentration N max_energy $e
|
fix_modify ATC control concentration N max_energy $e
|
||||||
fix_modify ATC control concentration N max_attempts 100
|
fix_modify ATC control concentration N max_attempts 100
|
||||||
fix_modify ATC control concentration N max_exchanges $x
|
fix_modify ATC control concentration N max_exchanges $x
|
||||||
#-
|
#-
|
||||||
fix_modify ATC control concentration P R 0.002 Pt # addtions R
|
fix_modify ATC control concentration P R 0.002 Pt # addtions R
|
||||||
fix_modify ATC control concentration P frequency $f
|
fix_modify ATC control concentration P frequency $f
|
||||||
fix_modify ATC control concentration P max_energy $e
|
fix_modify ATC control concentration P max_energy $e
|
||||||
fix_modify ATC control concentration P max_attempts 100
|
fix_modify ATC control concentration P max_attempts 100
|
||||||
fix_modify ATC control concentration P max_exchanges $x
|
fix_modify ATC control concentration P max_exchanges $x
|
||||||
fix_modify ATC output volume_integral all mass_density
|
fix_modify ATC output volume_integral all mass_density
|
||||||
fix_modify ATC output volume_integral all charge_density
|
fix_modify ATC output volume_integral all charge_density
|
||||||
# data reduction
|
# data reduction
|
||||||
fix PP all atc field
|
fix PP all atc field
|
||||||
#fix_modify PP add_species ions type 3 4
|
#fix_modify PP add_species ions type 3 4
|
||||||
#fix_modify PP add_species IONS type 3 4 1 2
|
#fix_modify PP add_species IONS type 3 4 1 2
|
||||||
fix_modify PP add_species n type 3
|
fix_modify PP add_species n type 3
|
||||||
fix_modify PP add_species p type 4
|
fix_modify PP add_species p type 4
|
||||||
fix_modify PP add_species s type 1
|
fix_modify PP add_species s type 1
|
||||||
fix_modify PP add_species o type 2
|
fix_modify PP add_species o type 2
|
||||||
fix_modify PP fields add species_concentration mass_density charge_density temperature
|
fix_modify PP fields add species_concentration mass_density charge_density temperature
|
||||||
fix_modify PP fields add charge_flux species_flux
|
fix_modify PP fields add charge_flux species_flux
|
||||||
fix_modify PP output volume_integral all mass_density
|
fix_modify PP output volume_integral all mass_density
|
||||||
@ -129,7 +129,7 @@ fix_modify PP output volume_integral all charge_density
|
|||||||
fix_modify PP mesh create $h 1 1 BOX f p p
|
fix_modify PP mesh create $h 1 1 BOX f p p
|
||||||
fix_modify PP atom_element_map eulerian $i
|
fix_modify PP atom_element_map eulerian $i
|
||||||
# output
|
# output
|
||||||
thermo $i
|
thermo $i
|
||||||
variable dN equal f_ATC[1]
|
variable dN equal f_ATC[1]
|
||||||
variable dP equal f_ATC[2]
|
variable dP equal f_ATC[2]
|
||||||
variable Nc equal f_ATC[3]
|
variable Nc equal f_ATC[3]
|
||||||
@ -141,19 +141,19 @@ variable Nu equal f_ATC[7]
|
|||||||
variable Pu equal f_ATC[8]
|
variable Pu equal f_ATC[8]
|
||||||
variable Ng equal f_ATC[9]
|
variable Ng equal f_ATC[9]
|
||||||
variable Pg equal f_ATC[10]
|
variable Pg equal f_ATC[10]
|
||||||
thermo_style custom step temp etotal &
|
thermo_style custom step temp etotal &
|
||||||
atoms v_F v_P v_N v_dP v_dN v_Pc v_Nc v_Pr v_Nr v_Pt v_Nt &
|
atoms v_F v_P v_N v_dP v_dN v_Pc v_Nc v_Pr v_Nr v_Pt v_Nt &
|
||||||
c_PMIN c_NMIN c_PMAX c_NMAX c_Q c_M c_Qf c_Mf v_Pu v_Nu v_Pg v_Ng
|
c_PMIN c_NMIN c_PMAX c_NMAX c_Q c_M c_Qf c_Mf v_Pu v_Nu v_Pg v_Ng
|
||||||
# NOTE this doesn't seem to work
|
# NOTE this doesn't seem to work
|
||||||
#thermo_modify format 4 %5d format 5 %5d format 6 %5d format 7 %5d format 8 %5d
|
#thermo_modify format 4 %5d format 5 %5d format 6 %5d format 7 %5d format 8 %5d
|
||||||
#thermo_modify format 4 %5d
|
#thermo_modify format 4 %5d
|
||||||
#thermo_modify format 5 %5d
|
#thermo_modify format 5 %5d
|
||||||
#thermo_modify format 6 %5d
|
#thermo_modify format 6 %5d
|
||||||
#thermo_modify format 7 %5d
|
#thermo_modify format 7 %5d
|
||||||
#thermo_modify format 8 %5d
|
#thermo_modify format 8 %5d
|
||||||
#thermo_modify format 9 %5d
|
#thermo_modify format 9 %5d
|
||||||
#thermo_modify format 10 %5d
|
#thermo_modify format 10 %5d
|
||||||
#thermo_modify format 11 %5d
|
#thermo_modify format 11 %5d
|
||||||
log concentration.log
|
log concentration.log
|
||||||
fix_modify ATC output concentrationFE $s text binary
|
fix_modify ATC output concentrationFE $s text binary
|
||||||
fix_modify PP output concentrationPP $s text
|
fix_modify PP output concentrationPP $s text
|
||||||
|
|||||||
@ -2,42 +2,42 @@
|
|||||||
# This benchmark tests momentum flux as a BC to the MD region to generate shear flow.
|
# This benchmark tests momentum flux as a BC to the MD region to generate shear flow.
|
||||||
# Currently heat will be generated as it will have no where to go.
|
# Currently heat will be generated as it will have no where to go.
|
||||||
log shear_flow.log
|
log shear_flow.log
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
#read_data temp.init
|
#read_data temp.init
|
||||||
read_data post_eq.init
|
read_data post_eq.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -8 8 -3 3 -3 3
|
#region mdRegion block -8 8 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 2 mdRegion
|
#create_box 2 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass * 39.95
|
#mass * 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
#region mdInternal block -6 6 -3 3 -3 3
|
#region mdInternal block -6 6 -3 3 -3 3
|
||||||
#region mdGhost block -6 6 -3 3 -3 3 side out
|
#region mdGhost block -6 6 -3 3 -3 3 side out
|
||||||
#create_atoms 1 region mdGhost
|
#create_atoms 1 region mdGhost
|
||||||
#lattice fcc 6.5 origin 0.25 0.25 0.25
|
#lattice fcc 6.5 origin 0.25 0.25 0.25
|
||||||
#create_atoms 2 region mdInternal
|
#create_atoms 2 region mdInternal
|
||||||
group internal type 2
|
group internal type 2
|
||||||
group ghost type 1
|
group ghost type 1
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 100. 87287 mom yes loop geom
|
#velocity internal create 100. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff * * .238 3.405 13.5
|
#pair_coeff * * .238 3.405 13.5
|
||||||
#write_restart tinit.dat
|
#write_restart tinit.dat
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
|
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe temp
|
thermo_style custom step cpu etotal pe temp
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
#fix NVT internal nvt temp 100 100 10 drag 0.2
|
#fix NVT internal nvt temp 100 100 10 drag 0.2
|
||||||
@ -49,28 +49,28 @@ timestep 2
|
|||||||
|
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region atcRegion block -6.25 6.25 -3 3 -3 3
|
region atcRegion block -6.25 6.25 -3 3 -3 3
|
||||||
fix AtC internal atc shear Ar_viscosity.mat
|
fix AtC internal atc shear Ar_viscosity.mat
|
||||||
# ID part keywords nx ny nz region periodicity
|
# ID part keywords nx ny nz region periodicity
|
||||||
fix_modify AtC mesh create 6 1 1 atcRegion f p p
|
fix_modify AtC mesh create 6 1 1 atcRegion f p p
|
||||||
#fix_modify AtC time_integration fractional_step
|
#fix_modify AtC time_integration fractional_step
|
||||||
##fix_modify AtC atom_element_map eulerian 10 # NOTE this introduces a minor amount of time integration error tracking the atomic temperature
|
##fix_modify AtC atom_element_map eulerian 10 # NOTE this introduces a minor amount of time integration error tracking the atomic temperature
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
#fix_modify AtC mass_matrix fe
|
#fix_modify AtC mass_matrix fe
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_elementset rbc 4.12 6.3 -INF INF -INF INF
|
fix_modify AtC mesh create_elementset rbc 4.12 6.3 -INF INF -INF INF
|
||||||
#used for restarting
|
#used for restarting
|
||||||
fix_modify AtC consistent_fe_initialization on
|
fix_modify AtC consistent_fe_initialization on
|
||||||
#fix_modify AtC initial velocity x all 0.
|
#fix_modify AtC initial velocity x all 0.
|
||||||
|
|
||||||
# turn on kinetostat
|
# turn on kinetostat
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
fix_modify AtC reset_time
|
fix_modify AtC reset_time
|
||||||
fix_modify AtC source velocity y rbc .0000001
|
fix_modify AtC source velocity y rbc .0000001
|
||||||
fix_modify AtC control momentum flux no_boundary
|
fix_modify AtC control momentum flux no_boundary
|
||||||
fix_modify AtC control tolerance 1.e-14
|
fix_modify AtC control tolerance 1.e-14
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
#fix_modify AtC filter type exponential
|
#fix_modify AtC filter type exponential
|
||||||
#fix_modify AtC filter scale 1000.0
|
#fix_modify AtC filter scale 1000.0
|
||||||
#fix_modify AtC filter on
|
#fix_modify AtC filter on
|
||||||
@ -78,7 +78,7 @@ fix_modify AtC control localized_lambda on
|
|||||||
# output commands
|
# output commands
|
||||||
fix_modify AtC output shear_flowFE 100 text #binary
|
fix_modify AtC output shear_flowFE 100 text #binary
|
||||||
#undump D1
|
#undump D1
|
||||||
#dump D1 all custom 100 shear_flow.dmp id type xs ys zs vx vy vz
|
#dump D1 all custom 100 shear_flow.dmp id type xs ys zs vx vy vz
|
||||||
# set-up non-equilibrium IC
|
# set-up non-equilibrium IC
|
||||||
thermo 100
|
thermo 100
|
||||||
run 2000
|
run 2000
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# This test calculates the J-integral for a sequence of different loads
|
# This test calculates the J-integral for a sequence of different loads
|
||||||
# for a system with a crack tip.
|
# for a system with a crack tip.
|
||||||
#
|
#
|
||||||
# loops around crack and one around undefected material
|
# loops around crack and one around undefected material
|
||||||
@ -7,17 +7,17 @@
|
|||||||
# loop 2 - medium contour around left crack tip
|
# loop 2 - medium contour around left crack tip
|
||||||
# loop 3 - largest contour around left crack tip
|
# loop 3 - largest contour around left crack tip
|
||||||
# loop 4 - medium contour around right crack tip
|
# loop 4 - medium contour around right crack tip
|
||||||
#for Lennard-Jones potential for gold:
|
#for Lennard-Jones potential for gold:
|
||||||
# surface energy (gamma) of 0.1599 eV/Å^2 = 2.56191 J/m2.
|
# surface energy (gamma) of 0.1599 eV/Å^2 = 2.56191 J/m2.
|
||||||
# 2*gamma = 0.3198 eV/Å^2 = 5.12382 J/m2
|
# 2*gamma = 0.3198 eV/Å^2 = 5.12382 J/m2
|
||||||
# using the internal nktv2p conversion factor,
|
# using the internal nktv2p conversion factor,
|
||||||
# the units of eshelby_stress are eV/Å^3, and
|
# the units of eshelby_stress are eV/Å^3, and
|
||||||
# the resulting boundary integral is eV/Å since we also include thickness (a
|
# the resulting boundary integral is eV/Å since we also include thickness (a
|
||||||
# boundary surface area rather than a periphery). If we multiply the 2*gamma
|
# boundary surface area rather than a periphery). If we multiply the 2*gamma
|
||||||
# quantity times the thickness t = 3*4.08 = 12.24 Å, we obtain 2*gamma*t =
|
# quantity times the thickness t = 3*4.08 = 12.24 Å, we obtain 2*gamma*t =
|
||||||
# 3.914352 eV/Å, which agrees with the mesh calculation.
|
# 3.914352 eV/Å, which agrees with the mesh calculation.
|
||||||
echo both
|
echo both
|
||||||
log eshelby_static.log
|
log eshelby_static.log
|
||||||
units metal
|
units metal
|
||||||
dimension 3
|
dimension 3
|
||||||
boundary p p p
|
boundary p p p
|
||||||
@ -29,12 +29,12 @@ lattice fcc 4.08 origin 0.25 0.25 0.25
|
|||||||
region SYSTEM block -10 10 -10 10 0 3
|
region SYSTEM block -10 10 -10 10 0 3
|
||||||
region UPPER block -10 10 0 10 0 3
|
region UPPER block -10 10 0 10 0 3
|
||||||
region LOWER block -10 0 -10 10 0 3
|
region LOWER block -10 0 -10 10 0 3
|
||||||
create_box 1 SYSTEM
|
create_box 1 SYSTEM
|
||||||
create_atoms 1 region SYSTEM
|
create_atoms 1 region SYSTEM
|
||||||
mass 1 63.55
|
mass 1 63.55
|
||||||
group internal region SYSTEM
|
group internal region SYSTEM
|
||||||
group upper region UPPER
|
group upper region UPPER
|
||||||
group lower region LOWER
|
group lower region LOWER
|
||||||
#pair_style eam
|
#pair_style eam
|
||||||
#pair_coeff * * ../../../../potentials/Cu_u3.eam
|
#pair_coeff * * ../../../../potentials/Cu_u3.eam
|
||||||
#pair_style lj/smooth 8.0 10.0
|
#pair_style lj/smooth 8.0 10.0
|
||||||
@ -42,27 +42,27 @@ group lower region LOWER
|
|||||||
pair_style lj/smooth/linear 5.456108274435118
|
pair_style lj/smooth/linear 5.456108274435118
|
||||||
pair_coeff * * 0.7242785984051078 2.598146797350056
|
pair_coeff * * 0.7242785984051078 2.598146797350056
|
||||||
# define region
|
# define region
|
||||||
region abovecrack block -2.01 2.01 0 8 INF INF units lattice
|
region abovecrack block -2.01 2.01 0 8 INF INF units lattice
|
||||||
group abovecrack region abovecrack
|
group abovecrack region abovecrack
|
||||||
region belowcrack block -2.01 2.01 -8 0 INF INF units lattice
|
region belowcrack block -2.01 2.01 -8 0 INF INF units lattice
|
||||||
group belowcrack region belowcrack
|
group belowcrack region belowcrack
|
||||||
neighbor 1.0 bin
|
neighbor 1.0 bin
|
||||||
neigh_modify delay 1000000
|
neigh_modify delay 1000000
|
||||||
neigh_modify exclude group abovecrack belowcrack
|
neigh_modify exclude group abovecrack belowcrack
|
||||||
thermo 10
|
thermo 10
|
||||||
compute_modify thermo_temp extra 0
|
compute_modify thermo_temp extra/dof 0
|
||||||
region FORCECHECK block -6 0 6 10 0 3
|
region FORCECHECK block -6 0 6 10 0 3
|
||||||
group FORCECHECK region FORCECHECK
|
group FORCECHECK region FORCECHECK
|
||||||
compute fxsum FORCECHECK reduce sum fx
|
compute fxsum FORCECHECK reduce sum fx
|
||||||
compute fysum FORCECHECK reduce sum fy
|
compute fysum FORCECHECK reduce sum fy
|
||||||
compute fzsum FORCECHECK reduce sum fz
|
compute fzsum FORCECHECK reduce sum fz
|
||||||
thermo_style custom step ke pe press c_fxsum c_fysum c_fzsum
|
thermo_style custom step ke pe press c_fxsum c_fysum c_fzsum
|
||||||
thermo_modify format 1 %4i format 2 %3.1g format 3 %20.16g
|
thermo_modify format 1 %4i format 2 %3.1g format 3 %20.16g
|
||||||
timestep 0.0
|
timestep 0.0
|
||||||
# (1) minimize the system to get a relaxed configuration
|
# (1) minimize the system to get a relaxed configuration
|
||||||
min_modify line quadratic
|
min_modify line quadratic
|
||||||
variable tol equal 1.e-11
|
variable tol equal 1.e-11
|
||||||
minimize 0.0 ${tol} 100000 1000000
|
minimize 0.0 ${tol} 100000 1000000
|
||||||
write_restart eshelby.restart
|
write_restart eshelby.restart
|
||||||
# (2) pull crack apart
|
# (2) pull crack apart
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
@ -70,13 +70,13 @@ fix PK1 internal atc field
|
|||||||
# NOTE tune this relative to lattice size
|
# NOTE tune this relative to lattice size
|
||||||
fix_modify PK1 mesh create 10 10 1 SYSTEM p f p
|
fix_modify PK1 mesh create 10 10 1 SYSTEM p f p
|
||||||
fix_modify PK1 fields none
|
fix_modify PK1 fields none
|
||||||
fix_modify PK1 fields add mass_density internal_energy temperature stress displacement
|
fix_modify PK1 fields add mass_density internal_energy temperature stress displacement
|
||||||
fix_modify PK1 fields add eshelby_stress transformed_stress
|
fix_modify PK1 fields add eshelby_stress transformed_stress
|
||||||
fix_modify PK1 gradients add displacement
|
fix_modify PK1 gradients add displacement
|
||||||
fix_modify PK1 set reference_potential_energy
|
fix_modify PK1 set reference_potential_energy
|
||||||
fix_modify PK1 output eshelby_staticFE 1 text binary tensor_components
|
fix_modify PK1 output eshelby_staticFE 1 text binary tensor_components
|
||||||
#fix_modify PK1 on_the_fly
|
#fix_modify PK1 on_the_fly
|
||||||
#-- make concentric loops around one/both of the crack tips
|
#-- make concentric loops around one/both of the crack tips
|
||||||
#-- & another around undefected material (loop0)
|
#-- & another around undefected material (loop0)
|
||||||
fix_modify PK1 mesh create_faceset loop0 box -6 0 6 10 -INF INF outward
|
fix_modify PK1 mesh create_faceset loop0 box -6 0 6 10 -INF INF outward
|
||||||
fix_modify PK1 output boundary_integral eshelby_stress faceset loop0
|
fix_modify PK1 output boundary_integral eshelby_stress faceset loop0
|
||||||
|
|||||||
@ -5,12 +5,12 @@ atom_style atomic
|
|||||||
echo both
|
echo both
|
||||||
dimension 3
|
dimension 3
|
||||||
boundary p p p
|
boundary p p p
|
||||||
lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
|
lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
|
||||||
region box block 0 5 0 5 0 5
|
region box block 0 5 0 5 0 5
|
||||||
read_data nvt.init
|
read_data nvt.init
|
||||||
pair_style lj/cut 13.0
|
pair_style lj/cut 13.0
|
||||||
pair_coeff 1 1 0.2381 3.405
|
pair_coeff 1 1 0.2381 3.405
|
||||||
group internal region box
|
group internal region box
|
||||||
|
|
||||||
fix ATC internal atc field
|
fix ATC internal atc field
|
||||||
fix_modify ATC mesh create 1 1 1 box p p p
|
fix_modify ATC mesh create 1 1 1 box p p p
|
||||||
@ -27,12 +27,12 @@ fix_modify PP atom_element_map eulerian 100
|
|||||||
fix_modify PP fields add mass_density energy stress temperature kinetic_temperature
|
fix_modify PP fields add mass_density energy stress temperature kinetic_temperature
|
||||||
fix_modify PP fields add velocity thermal_energy kinetic_energy
|
fix_modify PP fields add velocity thermal_energy kinetic_energy
|
||||||
fix_modify PP output nvtPP 100 text
|
fix_modify PP output nvtPP 100 text
|
||||||
thermo 100
|
thermo 100
|
||||||
compute_modify thermo_temp extra 0
|
compute_modify thermo_temp extra/dof 0
|
||||||
thermo_style custom step temp etotal ke pe press vol
|
thermo_style custom step temp etotal ke pe press vol
|
||||||
timestep 4.0
|
timestep 4.0
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
# NOTE fixes performing time integration (init_integrate/final_integrate) should be defined after atc
|
# NOTE fixes performing time integration (init_integrate/final_integrate) should be defined after atc
|
||||||
fix NVT all nvt temp 30 30 10.0 drag 0.2 tchain 1
|
fix NVT all nvt temp 30 30 10.0 drag 0.2 tchain 1
|
||||||
log nvt.log
|
log nvt.log
|
||||||
run 1000
|
run 1000
|
||||||
|
|||||||
@ -1,38 +1,38 @@
|
|||||||
#AtC Thermal Coupling
|
#AtC Thermal Coupling
|
||||||
# This benchmark tests heat conducting into and out of the MD region. The
|
# This benchmark tests heat conducting into and out of the MD region. The
|
||||||
# temperature is initially 20 everywhere and the left boundary BC is fixed at 40.
|
# temperature is initially 20 everywhere and the left boundary BC is fixed at 40.
|
||||||
# The result should show heat diffusing through the FEM to the MD and back out
|
# The result should show heat diffusing through the FEM to the MD and back out
|
||||||
# to the FEM on the right. Insufficient time is captured to reach the linear
|
# to the FEM on the right. Insufficient time is captured to reach the linear
|
||||||
# steady state, but heat crossing both boundaries should be observed.
|
# steady state, but heat crossing both boundaries should be observed.
|
||||||
|
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
echo both
|
echo both
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -12 12 -3 3 -3 3
|
region simRegion block -12 12 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -5 5 -3 3 -3 3
|
#region mdRegion block -5 5 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 mdRegion
|
#create_box 1 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -4 4 -3 3 -3 3
|
region mdInternal block -4 4 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
fix_modify AtC boundary ghost
|
fix_modify AtC boundary ghost
|
||||||
@ -40,26 +40,26 @@ fix_modify AtC boundary ghost
|
|||||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#dump D1 all atom 100 dump.bar1d
|
#dump D1 all atom 100 dump.bar1d
|
||||||
#fix_modify AtC output bar1dfe 100
|
#fix_modify AtC output bar1dfe 100
|
||||||
timestep 5
|
timestep 5
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
thermo 100
|
thermo 100
|
||||||
run 400
|
run 400
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
fix_modify AtC control thermal hoover
|
fix_modify AtC control thermal hoover
|
||||||
#fix_modify AtC localized_lambda on
|
#fix_modify AtC localized_lambda on
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 10000.0
|
fix_modify AtC filter scale 10000.0
|
||||||
fix_modify AtC filter on
|
fix_modify AtC filter on
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||||
@ -67,13 +67,13 @@ fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
|||||||
fix_modify AtC fix temperature lbc 40.
|
fix_modify AtC fix temperature lbc 40.
|
||||||
fix_modify AtC fix temperature rbc 20.
|
fix_modify AtC fix temperature rbc 20.
|
||||||
# initialize filter
|
# initialize filter
|
||||||
thermo 1
|
thermo 1
|
||||||
run 100
|
run 100
|
||||||
# set up output, should be before a "run"
|
# set up output, should be before a "run"
|
||||||
fix_modify AtC output bar1dFE 100 text binary
|
fix_modify AtC output bar1dFE 100 text binary
|
||||||
# output command
|
# output command
|
||||||
#dump D1 all atom 1000 dump.bar1d
|
#dump D1 all atom 1000 dump.bar1d
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 100
|
thermo 100
|
||||||
run 10000
|
run 10000
|
||||||
|
|||||||
@ -4,33 +4,33 @@
|
|||||||
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data all_atoms.init
|
read_data all_atoms.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -7 7 -3 3 -3 3
|
region simRegion block -7 7 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 simRegion
|
#create_box 1 simRegion
|
||||||
#create_atoms 1 region simRegion
|
#create_atoms 1 region simRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -6 6 -3 3 -3 3
|
region mdInternal block -6 6 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
#write_restart all_atoms.init
|
#write_restart all_atoms.init
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
# ID part keywords nx ny nz region
|
# ID part keywords nx ny nz region
|
||||||
@ -39,34 +39,34 @@ fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF out
|
|||||||
fix_modify AtC mesh create_faceset lbndy box -6.0 16.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset lbndy box -6.0 16.0 -INF INF -INF INF outward
|
||||||
fix_modify AtC mesh create_faceset rbndy box -16.0 6.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset rbndy box -16.0 6.0 -INF INF -INF INF outward
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#dump D1 all atom 100 dump.bar1d
|
#dump D1 all atom 100 dump.bar1d
|
||||||
#fix_modify AtC output bar1dfe 100
|
#fix_modify AtC output bar1dfe 100
|
||||||
#fix_modify AtC time_integration frac_step
|
#fix_modify AtC time_integration frac_step
|
||||||
timestep 5
|
timestep 5
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
thermo 100
|
thermo 100
|
||||||
run 400
|
run 400
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
fix_modify AtC control thermal hoover
|
fix_modify AtC control thermal hoover
|
||||||
#fix_modify AtC thermal control flux interpolate
|
#fix_modify AtC thermal control flux interpolate
|
||||||
#fix_modify AtC thermal control flux faceset obndy
|
#fix_modify AtC thermal control flux faceset obndy
|
||||||
fix_modify AtC filter scale 1000.0
|
fix_modify AtC filter scale 1000.0
|
||||||
#fix_modify AtC filter equilibrate
|
#fix_modify AtC filter equilibrate
|
||||||
#fix_modify AtC filter on
|
#fix_modify AtC filter on
|
||||||
#fix_modify AtC localized_lambda on
|
#fix_modify AtC localized_lambda on
|
||||||
fix_modify AtC boundary_faceset is obndy
|
fix_modify AtC boundary_faceset is obndy
|
||||||
# initialize filter
|
# initialize filter
|
||||||
#fix_modify AtC output bar1d_all_atoms_preqFE 1
|
#fix_modify AtC output bar1d_all_atoms_preqFE 1
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 1
|
thermo 1
|
||||||
#run 5000
|
#run 5000
|
||||||
# add nodesets and ramp temperature
|
# add nodesets and ramp temperature
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
@ -76,26 +76,26 @@ thermo 1
|
|||||||
#fix_modify AtC fix temperature rbc 20.
|
#fix_modify AtC fix temperature rbc 20.
|
||||||
# initialize filter
|
# initialize filter
|
||||||
#fix_modify AtC output bar1d_all_atoms_eqFE 200
|
#fix_modify AtC output bar1d_all_atoms_eqFE 200
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
fix_modify AtC reset_time
|
fix_modify AtC reset_time
|
||||||
#run 5000
|
#run 5000
|
||||||
# release and let run
|
# release and let run
|
||||||
#fix_modify AtC filter on
|
#fix_modify AtC filter on
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
#fix_modify AtC localized_lambda on
|
#fix_modify AtC localized_lambda on
|
||||||
fix_modify AtC control lumped_lambda_solve on
|
fix_modify AtC control lumped_lambda_solve on
|
||||||
# dirichlet boundaries
|
# dirichlet boundaries
|
||||||
#fix_modify AtC fix temperature lbc 40.
|
#fix_modify AtC fix temperature lbc 40.
|
||||||
#fix_modify AtC fix temperature rbc 20.
|
#fix_modify AtC fix temperature rbc 20.
|
||||||
# neumann boundaries
|
# neumann boundaries
|
||||||
fix_modify AtC control thermal flux no_boundary
|
fix_modify AtC control thermal flux no_boundary
|
||||||
fix_modify AtC fix_flux temperature lbndy 0.0000000001
|
fix_modify AtC fix_flux temperature lbndy 0.0000000001
|
||||||
fix_modify AtC fix_flux temperature rbndy -0.0000000001
|
fix_modify AtC fix_flux temperature rbndy -0.0000000001
|
||||||
# set up output, should be before a "run"
|
# set up output, should be before a "run"
|
||||||
fix_modify AtC output bar1d_all_atomsFE 200 text binary
|
fix_modify AtC output bar1d_all_atomsFE 200 text binary
|
||||||
# output command
|
# output command
|
||||||
#dump D1 all atom 1000 dump.bar1d
|
#dump D1 all atom 1000 dump.bar1d
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 200
|
thermo 200
|
||||||
run 5000
|
run 5000
|
||||||
|
|||||||
@ -6,62 +6,62 @@
|
|||||||
# linear # steady state, but heat crossing the boundaries should be observed,
|
# linear # steady state, but heat crossing the boundaries should be observed,
|
||||||
# as should the interaction of the two themostat types.
|
# as should the interaction of the two themostat types.
|
||||||
#echo both
|
#echo both
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -16 4 -3 3 -3 3
|
region simRegion block -16 4 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -5 5 -3 3 -3 3
|
#region mdRegion block -5 5 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 mdRegion
|
#create_box 1 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -4 4 -3 3 -3 3
|
region mdInternal block -4 4 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
region mdGhost block -5 -4 -3 3 -3 3
|
region mdGhost block -5 -4 -3 3 -3 3
|
||||||
group ghost region mdGhost
|
group ghost region mdGhost
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
#write_restart tinit.dat
|
#write_restart tinit.dat
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
fix_modify AtC boundary ghost
|
fix_modify AtC boundary ghost
|
||||||
fix_modify AtC time_integration fractional_step
|
fix_modify AtC time_integration fractional_step
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
# ID part keywords nx ny nz region
|
# ID part keywords nx ny nz region
|
||||||
fix_modify AtC mesh create 10 1 1 simRegion f p p
|
fix_modify AtC mesh create 10 1 1 simRegion f p p
|
||||||
fix_modify AtC mesh create_faceset ibndy box -4.0 40.0 -INF INF -INF INF in
|
fix_modify AtC mesh create_faceset ibndy box -4.0 40.0 -INF INF -INF INF in
|
||||||
fix_modify AtC mesh create_faceset obndy box -4.0 40.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset obndy box -4.0 40.0 -INF INF -INF INF outward
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#fix_modify AtC output bar1dfe_combined_init 100
|
#fix_modify AtC output bar1dfe_combined_init 100
|
||||||
timestep 5
|
timestep 5
|
||||||
thermo 10
|
thermo 10
|
||||||
run 400
|
run 400
|
||||||
# change thermostat to flux
|
# change thermostat to flux
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
fix_modify AtC control thermal flux faceset obndy
|
fix_modify AtC control thermal flux faceset obndy
|
||||||
#fix_modify AtC control thermal hoover
|
#fix_modify AtC control thermal hoover
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
#fix_modify AtC control tolerance 1.e-16 # this tolerance seems necessary to prevent noticeable drift
|
#fix_modify AtC control tolerance 1.e-16 # this tolerance seems necessary to prevent noticeable drift
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
@ -74,8 +74,8 @@ fix_modify AtC fix temperature rbc 20.
|
|||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 1000.0
|
fix_modify AtC filter scale 1000.0
|
||||||
#fix_modify AtC filter on
|
#fix_modify AtC filter on
|
||||||
thermo 100
|
thermo 100
|
||||||
#run 100
|
#run 100
|
||||||
|
|
||||||
# set up output, should be before a "run"
|
# set up output, should be before a "run"
|
||||||
fix_modify AtC output bar1d_combinedFE 100 text
|
fix_modify AtC output bar1d_combinedFE 100 text
|
||||||
@ -83,5 +83,5 @@ fix_modify AtC output bar1d_combinedFE 100 text
|
|||||||
#dump D1 all atom 100 dump.bar1d_combined
|
#dump D1 all atom 100 dump.bar1d_combined
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 100
|
thermo 100
|
||||||
run 5000
|
run 5000
|
||||||
|
|||||||
@ -5,34 +5,34 @@
|
|||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
#echo both
|
#echo both
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -12 12 -3 3 -3 3
|
region simRegion block -12 12 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -5 5 -3 3 -3 3
|
#region mdRegion block -5 5 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 mdRegion
|
#create_box 1 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -4 4 -3 3 -3 3
|
region mdInternal block -4 4 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
#write_restart tinit.dat
|
#write_restart tinit.dat
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
fix_modify AtC boundary ghost
|
fix_modify AtC boundary ghost
|
||||||
@ -42,25 +42,25 @@ fix_modify AtC mesh create 12 1 1 simRegion f p p
|
|||||||
fix_modify AtC mesh create_faceset ibndy box -4.0 4.0 -INF INF -INF INF in
|
fix_modify AtC mesh create_faceset ibndy box -4.0 4.0 -INF INF -INF INF in
|
||||||
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
|
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#fix_modify AtC output bar1dfe_flux_init 100
|
#fix_modify AtC output bar1dfe_flux_init 100
|
||||||
timestep 5
|
timestep 5
|
||||||
thermo 10
|
thermo 10
|
||||||
run 400
|
run 400
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
fix_modify AtC control thermal flux faceset obndy
|
fix_modify AtC control thermal flux faceset obndy
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 10000.0
|
fix_modify AtC filter scale 10000.0
|
||||||
#fix_modify AtC filter on
|
#fix_modify AtC filter on
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||||
@ -68,12 +68,12 @@ fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
|||||||
fix_modify AtC fix temperature lbc 40.
|
fix_modify AtC fix temperature lbc 40.
|
||||||
fix_modify AtC fix temperature rbc 20.
|
fix_modify AtC fix temperature rbc 20.
|
||||||
# initialize filter
|
# initialize filter
|
||||||
run 100
|
run 100
|
||||||
# set up output, should be before a "run"
|
# set up output, should be before a "run"
|
||||||
fix_modify AtC output bar1d_fluxFE 100 text binary
|
fix_modify AtC output bar1d_fluxFE 100 text binary
|
||||||
# output command
|
# output command
|
||||||
#dump D1 all atom 1000 dump.bar1d
|
#dump D1 all atom 1000 dump.bar1d
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 100
|
thermo 100
|
||||||
run 10000
|
run 10000
|
||||||
|
|||||||
@ -4,33 +4,33 @@
|
|||||||
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -12 12 -3 3 -3 3
|
region simRegion block -12 12 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -5 5 -3 3 -3 3
|
#region mdRegion block -5 5 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 mdRegion
|
#create_box 1 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -4 4 -3 3 -3 3
|
region mdInternal block -4 4 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
# ID part keywords nx ny nz region
|
# ID part keywords nx ny nz region
|
||||||
@ -40,7 +40,7 @@ fix_modify AtC internal_atom_integrate off
|
|||||||
fix iNVE internal nve
|
fix iNVE internal nve
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_nodeset lbc -4.1 -3.9 -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -4.1 -3.9 -INF INF -INF INF
|
||||||
@ -48,25 +48,25 @@ fix_modify AtC mesh create_nodeset rbc 3.9 4.1 -INF INF -INF INF
|
|||||||
fix_modify AtC fix temperature lbc 40.
|
fix_modify AtC fix temperature lbc 40.
|
||||||
fix_modify AtC fix temperature rbc 20.
|
fix_modify AtC fix temperature rbc 20.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#dump D1 all atom 100 dump.bar1d
|
#dump D1 all atom 100 dump.bar1d
|
||||||
#fix_modify AtC output bar1dfe 100 text
|
#fix_modify AtC output bar1dfe 100 text
|
||||||
timestep 5
|
timestep 5
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
thermo 100
|
thermo 100
|
||||||
run 400
|
run 400
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
fix_modify AtC fix temperature lbc 40.
|
fix_modify AtC fix temperature lbc 40.
|
||||||
fix_modify AtC fix temperature rbc 20.
|
fix_modify AtC fix temperature rbc 20.
|
||||||
fix_modify AtC control thermal flux no_boundary
|
fix_modify AtC control thermal flux no_boundary
|
||||||
fix_modify AtC control tolerance 1.e-9 # this is to remove looser benchmark tolerance because the lambda solution was reacting to numerical noise, but it results in a slight drift in the constraints
|
fix_modify AtC control tolerance 1.e-9 # this is to remove looser benchmark tolerance because the lambda solution was reacting to numerical noise, but it results in a slight drift in the constraints
|
||||||
#fix_modify AtC thermal control none
|
#fix_modify AtC thermal control none
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 1000.0
|
fix_modify AtC filter scale 1000.0
|
||||||
fix_modify AtC filter on
|
fix_modify AtC filter on
|
||||||
@ -76,5 +76,5 @@ fix_modify AtC output bar1d_frac_stepFE 200 text
|
|||||||
#dump D1 all atom 1000 dump.bar1d
|
#dump D1 all atom 1000 dump.bar1d
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 100
|
thermo 100
|
||||||
run 10000
|
run 10000
|
||||||
|
|||||||
@ -4,35 +4,35 @@
|
|||||||
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
log bar1d_hoover.log
|
log bar1d_hoover.log
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data all_atoms.init
|
read_data all_atoms.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -7 7 -3 3 -3 3
|
region simRegion block -7 7 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 simRegion
|
#create_box 1 simRegion
|
||||||
#create_atoms 1 region simRegion
|
#create_atoms 1 region simRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
#atom_modify sort 0 0
|
#atom_modify sort 0 0
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -6 6 -3 3 -3 3
|
region mdInternal block -6 6 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
# velocities have Vcm = 0, NOTE next four lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
##pair_coeff 1 1 0.010323166 3.405 13.5
|
##pair_coeff 1 1 0.010323166 3.405 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
#write_restart all_atoms.init
|
#write_restart all_atoms.init
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
# ID part keywords nx ny nz region
|
# ID part keywords nx ny nz region
|
||||||
@ -40,9 +40,9 @@ fix AtC internal atc thermal Ar_thermal.mat
|
|||||||
# switch depending on application of BCs or coupling
|
# switch depending on application of BCs or coupling
|
||||||
#variable nEls equal 6 # for boundary conditions
|
#variable nEls equal 6 # for boundary conditions
|
||||||
variable nEls equal 12 # for coupling
|
variable nEls equal 12 # for coupling
|
||||||
fix_modify AtC boundary ghost # for coupling
|
fix_modify AtC boundary ghost # for coupling
|
||||||
|
|
||||||
region atcRegion block -${nEls} ${nEls} -3 3 -3 3
|
region atcRegion block -${nEls} ${nEls} -3 3 -3 3
|
||||||
fix_modify AtC mesh create ${nEls} 1 1 atcRegion f p p
|
fix_modify AtC mesh create ${nEls} 1 1 atcRegion f p p
|
||||||
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
||||||
fix_modify AtC mesh create_faceset lbndy box -6.0 16.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset lbndy box -6.0 16.0 -INF INF -INF INF outward
|
||||||
@ -50,39 +50,39 @@ fix_modify AtC mesh create_faceset rbndy box -16.0 6.0 -INF INF -INF INF ou
|
|||||||
variable tol equal 0.1
|
variable tol equal 0.1
|
||||||
variable uBnd equal ${nEls}+${tol}
|
variable uBnd equal ${nEls}+${tol}
|
||||||
variable lBnd equal ${nEls}-${tol}
|
variable lBnd equal ${nEls}-${tol}
|
||||||
fix_modify AtC mesh create_nodeset lbc -${uBnd} -${lBnd} -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -${uBnd} -${lBnd} -INF INF -INF INF
|
||||||
fix_modify AtC mesh create_nodeset rbc ${lBnd} ${uBnd} -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset rbc ${lBnd} ${uBnd} -INF INF -INF INF
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
#fix_modify AtC initial temperature all 20.
|
#fix_modify AtC initial temperature all 20.
|
||||||
#fix_modify AtC consistent_fe_initialization on
|
#fix_modify AtC consistent_fe_initialization on
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
fix_modify AtC internal_quadrature off
|
fix_modify AtC internal_quadrature off
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#dump D1 all atom 100 dump.bar1d_hoover_init
|
#dump D1 all atom 100 dump.bar1d_hoover_init
|
||||||
#fix_modify AtC output bar1d_hoover_init 100 text binary
|
#fix_modify AtC output bar1d_hoover_init 100 text binary
|
||||||
fix_modify AtC time_integration fractional_step
|
fix_modify AtC time_integration fractional_step
|
||||||
fix_modify AtC temperature_definition total
|
fix_modify AtC temperature_definition total
|
||||||
timestep 5
|
timestep 5
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
thermo 100
|
thermo 100
|
||||||
run 400
|
run 400
|
||||||
|
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
|
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 1000.0
|
fix_modify AtC filter scale 1000.0
|
||||||
fix_modify AtC filter on
|
fix_modify AtC filter on
|
||||||
|
|
||||||
|
|
||||||
# boundary conditions------------------------
|
# boundary conditions------------------------
|
||||||
# dirichlet with ramp (unstable when filtered due to instantaneous change in rate)
|
# dirichlet with ramp (unstable when filtered due to instantaneous change in rate)
|
||||||
#fix_modify AtC fix temperature lbc temporal_ramp 20. 40. 25000.
|
#fix_modify AtC fix temperature lbc temporal_ramp 20. 40. 25000.
|
||||||
#fix_modify AtC fix temperature rbc 20.
|
#fix_modify AtC fix temperature rbc 20.
|
||||||
#fix_modify AtC localized_lambda on
|
#fix_modify AtC localized_lambda on
|
||||||
#fix_modify AtC control thermal flux no_boundary
|
#fix_modify AtC control thermal flux no_boundary
|
||||||
#fix_modify AtC output test_rampFE 200 text binary
|
#fix_modify AtC output test_rampFE 200 text binary
|
||||||
@ -94,7 +94,7 @@ fix_modify AtC filter on
|
|||||||
#fix_modify AtC fix temperature lbc 40.
|
#fix_modify AtC fix temperature lbc 40.
|
||||||
|
|
||||||
# dirichlet with rescaling
|
# dirichlet with rescaling
|
||||||
#fix_modify AtC filter off
|
#fix_modify AtC filter off
|
||||||
#fix_modify AtC fix temperature all 20.
|
#fix_modify AtC fix temperature all 20.
|
||||||
#fix_modify AtC fix temperature lbc 40.
|
#fix_modify AtC fix temperature lbc 40.
|
||||||
#fix_modify AtC output test_rampFE 200 text binary
|
#fix_modify AtC output test_rampFE 200 text binary
|
||||||
@ -126,13 +126,13 @@ fix_modify AtC fix temperature rbc 20.
|
|||||||
#fix_modify AtC lumped_lambda_solve on
|
#fix_modify AtC lumped_lambda_solve on
|
||||||
|
|
||||||
# hoover
|
# hoover
|
||||||
fix_modify AtC control thermal hoover
|
fix_modify AtC control thermal hoover
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
|
|
||||||
fix_modify AtC control tolerance 1.e-14
|
fix_modify AtC control tolerance 1.e-14
|
||||||
fix_modify AtC output bar1d_hooverFE 200 text binary
|
fix_modify AtC output bar1d_hooverFE 200 text binary
|
||||||
#dump D1 all atom 200 dump.bar1d_hoover
|
#dump D1 all atom 200 dump.bar1d_hoover
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
fix_modify AtC reset_time
|
fix_modify AtC reset_time
|
||||||
thermo 100
|
thermo 100
|
||||||
run 5000
|
run 5000
|
||||||
|
|||||||
@ -4,65 +4,65 @@
|
|||||||
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
# 40.# The result should show heat diffusing through the FEM to the MD and back
|
||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -12 12 -3 3 -3 3
|
region simRegion block -12 12 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -5 5 -3 3 -3 3
|
#region mdRegion block -5 5 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 mdRegion
|
#create_box 1 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -4 4 -3 3 -3 3
|
region mdInternal block -4 4 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next three lines commented out for restart
|
# velocities have Vcm = 0, NOTE next three lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
fix_modify AtC boundary ghost
|
fix_modify AtC boundary ghost
|
||||||
# numerical parameters
|
# numerical parameters
|
||||||
fix_modify AtC time_integration fractional_step
|
fix_modify AtC time_integration fractional_step
|
||||||
# ID part keywords nx ny nz region
|
# ID part keywords nx ny nz region
|
||||||
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
||||||
fix_modify AtC mesh create_faceset ibndy box -4.0 4.0 -INF INF -INF INF in
|
fix_modify AtC mesh create_faceset ibndy box -4.0 4.0 -INF INF -INF INF in
|
||||||
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
|
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
|
||||||
#fix_modify AtC fix temperature all quadratic 0 0 0 -0.154 0 0 30. 0.01 0.0 0.0 0 0 0
|
#fix_modify AtC fix temperature all quadratic 0 0 0 -0.154 0 0 30. 0.01 0.0 0.0 0 0 0
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#fix_modify AtC output bar1dfe_flux_init 100
|
#fix_modify AtC output bar1dfe_flux_init 100
|
||||||
timestep 5
|
timestep 5
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
thermo 100
|
thermo 100
|
||||||
run 400
|
run 400
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
fix_modify AtC control thermal none
|
fix_modify AtC control thermal none
|
||||||
fix_modify AtC control thermal flux interpolate
|
fix_modify AtC control thermal flux interpolate
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
#fix_modify AtC thermal control flux faceset obndy
|
#fix_modify AtC thermal control flux faceset obndy
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 10000.0
|
fix_modify AtC filter scale 10000.0
|
||||||
fix_modify AtC filter on
|
fix_modify AtC filter on
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||||
@ -70,11 +70,11 @@ fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
|||||||
fix_modify AtC fix temperature lbc 40.
|
fix_modify AtC fix temperature lbc 40.
|
||||||
fix_modify AtC fix temperature rbc 20.
|
fix_modify AtC fix temperature rbc 20.
|
||||||
# initialize filter
|
# initialize filter
|
||||||
run 100
|
run 100
|
||||||
# set up output, should be before a "run"
|
# set up output, should be before a "run"
|
||||||
fix_modify AtC output bar1d_interpolateFE 100 text
|
fix_modify AtC output bar1d_interpolateFE 100 text
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 100
|
thermo 100
|
||||||
#run 10
|
#run 10
|
||||||
run 10000
|
run 10000
|
||||||
|
|||||||
@ -5,32 +5,32 @@
|
|||||||
# out # to the FEM on the right. Insufficient time is captured to reach the
|
# out # to the FEM on the right. Insufficient time is captured to reach the
|
||||||
# linear # steady state, but heat crossing both boundaries should be observed.
|
# linear # steady state, but heat crossing both boundaries should be observed.
|
||||||
echo both
|
echo both
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
# NOTE following 3 lines added for restart
|
# NOTE following 3 lines added for restart
|
||||||
boundary f p p
|
boundary f p p
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data temp.init
|
read_data temp.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region simRegion block -12 12 -3 3 -3 3
|
region simRegion block -12 12 -3 3 -3 3
|
||||||
# create atoms, NOTE commented out for restart
|
# create atoms, NOTE commented out for restart
|
||||||
#region mdRegion block -5 5 -3 3 -3 3
|
#region mdRegion block -5 5 -3 3 -3 3
|
||||||
#boundary f p p
|
#boundary f p p
|
||||||
#create_box 1 mdRegion
|
#create_box 1 mdRegion
|
||||||
#create_atoms 1 region mdRegion
|
#create_atoms 1 region mdRegion
|
||||||
#mass 1 39.95
|
#mass 1 39.95
|
||||||
# specify interal/ghost atoms
|
# specify interal/ghost atoms
|
||||||
region mdInternal block -4 4 -3 3 -3 3
|
region mdInternal block -4 4 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
group ghost subtract all internal
|
group ghost subtract all internal
|
||||||
# velocities have Vcm = 0, NOTE next three lines commented out for restart
|
# velocities have Vcm = 0, NOTE next three lines commented out for restart
|
||||||
#velocity internal create 40. 87287 mom yes loop geom
|
#velocity internal create 40. 87287 mom yes loop geom
|
||||||
#pair_style lj/cut 13.5
|
#pair_style lj/cut 13.5
|
||||||
#pair_coeff 1 1 .238 3.405 13.5
|
#pair_coeff 1 1 .238 3.405 13.5
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc thermal Ar_thermal.mat
|
fix AtC internal atc thermal Ar_thermal.mat
|
||||||
fix_modify AtC boundary ghost
|
fix_modify AtC boundary ghost
|
||||||
@ -42,30 +42,30 @@ fix_modify AtC mesh create 12 1 1 simRegion f p p
|
|||||||
fix_modify AtC mesh create_faceset ibndy box -4.0 4.0 -INF INF -INF INF in
|
fix_modify AtC mesh create_faceset ibndy box -4.0 4.0 -INF INF -INF INF in
|
||||||
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
|
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
|
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
|
||||||
#fix_modify AtC fix temperature all quadratic 0 0 0 -0.154 0 0 30. 0.01 0.0 0.0 0 0 0
|
#fix_modify AtC fix temperature all quadratic 0 0 0 -0.154 0 0 30. 0.01 0.0 0.0 0 0 0
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
# output
|
# output
|
||||||
thermo 100
|
thermo 100
|
||||||
variable xdof equal 3*count(ghost)
|
variable xdof equal 3*count(ghost)
|
||||||
compute_modify thermo_temp extra ${xdof}
|
compute_modify thermo_temp extra/dof ${xdof}
|
||||||
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
|
||||||
thermo_modify format 1 %6i format 2 %7.2g
|
thermo_modify format 1 %6i format 2 %7.2g
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
#fix_modify AtC output bar1d_lumped_initFE 1 text
|
#fix_modify AtC output bar1d_lumped_initFE 1 text
|
||||||
timestep 5
|
timestep 5
|
||||||
run 400
|
run 400
|
||||||
#run 100
|
#run 100
|
||||||
# change thermostat to hoover
|
# change thermostat to hoover
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
#fix_modify AtC thermal control flux interpolate
|
#fix_modify AtC thermal control flux interpolate
|
||||||
fix_modify AtC control thermal flux faceset obndy
|
fix_modify AtC control thermal flux faceset obndy
|
||||||
fix_modify AtC control localized_lambda on
|
fix_modify AtC control localized_lambda on
|
||||||
fix_modify AtC filter type exponential
|
fix_modify AtC filter type exponential
|
||||||
fix_modify AtC filter scale 10000.0
|
fix_modify AtC filter scale 10000.0
|
||||||
fix_modify AtC filter on
|
fix_modify AtC filter on
|
||||||
# add nodesets
|
# add nodesets
|
||||||
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
||||||
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
||||||
@ -73,13 +73,13 @@ fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
|||||||
fix_modify AtC fix temperature lbc 80.
|
fix_modify AtC fix temperature lbc 80.
|
||||||
fix_modify AtC fix temperature rbc 80.
|
fix_modify AtC fix temperature rbc 80.
|
||||||
# initialize
|
# initialize
|
||||||
thermo 10
|
thermo 10
|
||||||
run 100
|
run 100
|
||||||
# relax
|
# relax
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
# output
|
# output
|
||||||
fix_modify AtC output bar1d_lumpedFE 100 text
|
fix_modify AtC output bar1d_lumpedFE 100 text
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
thermo 100
|
thermo 100
|
||||||
run 10000
|
run 10000
|
||||||
|
|||||||
@ -1,41 +1,41 @@
|
|||||||
# needs description
|
# needs description
|
||||||
#AtC Thermal Coupling
|
#AtC Thermal Coupling
|
||||||
echo both
|
echo both
|
||||||
units real
|
units real
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
boundary f p p
|
boundary f p p
|
||||||
# create domain
|
# create domain
|
||||||
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
||||||
pair_style lj/cut 13.5
|
pair_style lj/cut 13.5
|
||||||
read_data uniform_heating.init
|
read_data uniform_heating.init
|
||||||
lattice fcc 5.405 origin 0.25 0.25 0.25
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
||||||
region mdRegion block -8 8 -3 3 -3 3
|
region mdRegion block -8 8 -3 3 -3 3
|
||||||
region mdInternal block -6 6 -3 3 -3 3
|
region mdInternal block -6 6 -3 3 -3 3
|
||||||
group internal region mdInternal
|
group internal region mdInternal
|
||||||
neighbor 5. bin
|
neighbor 5. bin
|
||||||
neigh_modify every 10 delay 0 check no
|
neigh_modify every 10 delay 0 check no
|
||||||
# ID group atc PhysicsType ParameterFile
|
# ID group atc PhysicsType ParameterFile
|
||||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||||
# ID part keywords nx ny nz region
|
# ID part keywords nx ny nz region
|
||||||
fix_modify AtC mesh create 6 1 1 mdInternal f p p
|
fix_modify AtC mesh create 6 1 1 mdInternal f p p
|
||||||
fix_modify AtC internal_quadrature on
|
fix_modify AtC internal_quadrature on
|
||||||
# fix a temperature
|
# fix a temperature
|
||||||
fix_modify AtC initial temperature all 20.
|
fix_modify AtC initial temperature all 20.
|
||||||
fix_modify AtC fix temperature all 20.
|
fix_modify AtC fix temperature all 20.
|
||||||
fix_modify AtC initial electron_temperature all 20.
|
fix_modify AtC initial electron_temperature all 20.
|
||||||
fix_modify AtC fix electron_temperature all 20.
|
fix_modify AtC fix electron_temperature all 20.
|
||||||
# turn on thermostat
|
# turn on thermostat
|
||||||
fix_modify AtC control thermal rescale 10
|
fix_modify AtC control thermal rescale 10
|
||||||
# output
|
# output
|
||||||
thermo_style custom step cpu pe etotal temp f_AtC[1] f_AtC[2]
|
thermo_style custom step cpu pe etotal temp f_AtC[1] f_AtC[2]
|
||||||
thermo 100
|
thermo 100
|
||||||
log uniform_heating.log
|
log uniform_heating.log
|
||||||
# make thermo output the correct temperature by removing ghost dof
|
# make thermo output the correct temperature by removing ghost dof
|
||||||
# variable xdof equal 3*count(ghost)
|
# variable xdof equal 3*count(ghost)
|
||||||
# compute_modify thermo_temp extra ${xdof}
|
# compute_modify thermo_temp extra/dof ${xdof}
|
||||||
# equilibrate MD field
|
# equilibrate MD field
|
||||||
timestep 5
|
timestep 5
|
||||||
run 400
|
run 400
|
||||||
# change thermostat
|
# change thermostat
|
||||||
fix_modify AtC output uniform_heatingFE 100 text
|
fix_modify AtC output uniform_heatingFE 100 text
|
||||||
fix_modify AtC unfix temperature all
|
fix_modify AtC unfix temperature all
|
||||||
@ -50,4 +50,4 @@ fix_modify AtC fix temperature rbc 20.
|
|||||||
fix_modify AtC source temperature all 6.3363e-10
|
fix_modify AtC source temperature all 6.3363e-10
|
||||||
# run with FE
|
# run with FE
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
run 1000
|
run 1000
|
||||||
|
|||||||
@ -25,7 +25,7 @@ pair_modify shift yes
|
|||||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||||
fix fnve all nve
|
fix fnve all nve
|
||||||
compute dtemp all temp
|
compute dtemp all temp
|
||||||
compute_modify dtemp dynamic yes
|
compute_modify dtemp dynamic/dof yes
|
||||||
fix fT all langevin 1.0 1.0 1.0 123
|
fix fT all langevin 1.0 1.0 1.0 123
|
||||||
fix_modify fT temp dtemp
|
fix_modify fT temp dtemp
|
||||||
|
|
||||||
|
|||||||
@ -6,12 +6,12 @@ neighbor 10.0 bin
|
|||||||
read_data data.chreg-acid-real
|
read_data data.chreg-acid-real
|
||||||
|
|
||||||
#real units
|
#real units
|
||||||
variable sigma equal 7.2 # particle diameter 0.72 nm
|
variable sigma equal 7.2 # particle diameter 0.72 nm
|
||||||
variable temperature equal 298 # temperature 298 K
|
variable temperature equal 298 # temperature 298 K
|
||||||
variable kb index 0.0019872067 # kB in Kcal/mol/K
|
variable kb index 0.0019872067 # kB in Kcal/mol/K
|
||||||
variable epsilon equal ${kb}*${temperature}
|
variable epsilon equal ${kb}*${temperature}
|
||||||
variable tunit equal 2000 # time unit is 2000 fs
|
variable tunit equal 2000 # time unit is 2000 fs
|
||||||
variable timestep equal 0.005*${tunit}
|
variable timestep equal 0.005*${tunit}
|
||||||
|
|
||||||
variable cut_long equal 12.5*${sigma}
|
variable cut_long equal 12.5*${sigma}
|
||||||
variable nevery equal 100
|
variable nevery equal 100
|
||||||
@ -27,13 +27,13 @@ velocity all create ${temperature} 8008 loop geom
|
|||||||
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
pair_style lj/cut/coul/long ${cut_lj} ${cut_long}
|
||||||
pair_coeff * * ${epsilon} ${sigma}
|
pair_coeff * * ${epsilon} ${sigma}
|
||||||
kspace_style pppm 1.0e-3
|
kspace_style pppm 1.0e-3
|
||||||
dielectric 78
|
dielectric 78
|
||||||
pair_modify shift yes
|
pair_modify shift yes
|
||||||
|
|
||||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||||
fix fnve all nve
|
fix fnve all nve
|
||||||
compute dtemp all temp
|
compute dtemp all temp
|
||||||
compute_modify dtemp dynamic yes
|
compute_modify dtemp dynamic/dof yes
|
||||||
fix fT all langevin $(v_temperature) $(v_temperature) $(v_tunit) 123
|
fix fT all langevin $(v_temperature) $(v_temperature) $(v_tunit) 123
|
||||||
fix_modify fT temp dtemp
|
fix_modify fT temp dtemp
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ dielectric 1.0
|
|||||||
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
######### VERLET INTEGRATION WITH LANGEVIN THERMOSTAT ###########
|
||||||
fix fnve all nve
|
fix fnve all nve
|
||||||
compute dtemp all temp
|
compute dtemp all temp
|
||||||
compute_modify dtemp dynamic yes
|
compute_modify dtemp dynamic/dof yes
|
||||||
fix fT all langevin 1.0 1.0 1.0 123
|
fix fT all langevin 1.0 1.0 1.0 123
|
||||||
fix_modify fT temp dtemp
|
fix_modify fT temp dtemp
|
||||||
|
|
||||||
|
|||||||
@ -3,35 +3,35 @@
|
|||||||
# rho ~ 0.5
|
# rho ~ 0.5
|
||||||
# p ~ 1.5
|
# p ~ 1.5
|
||||||
# mu_ex ~ 0.0
|
# mu_ex ~ 0.0
|
||||||
# comparable to Frenkel and Smit GCMC Case Study, Figure 5.8
|
# comparable to Frenkel and Smit GCMC Case Study, Figure 5.8
|
||||||
|
|
||||||
# variables modifiable using -var command line switch
|
# variables modifiable using -var command line switch
|
||||||
|
|
||||||
variable mu index -1.25
|
variable mu index -1.25
|
||||||
variable temp index 2.0
|
variable temp index 2.0
|
||||||
variable disp index 1.0
|
variable disp index 1.0
|
||||||
variable lbox index 5.0
|
variable lbox index 5.0
|
||||||
|
|
||||||
# global model settings
|
# global model settings
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
pair_style lj/cut 3.0
|
pair_style lj/cut 3.0
|
||||||
pair_modify tail no # turn of to avoid triggering full_energy
|
pair_modify tail no # turn of to avoid triggering full_energy
|
||||||
|
|
||||||
# box
|
# box
|
||||||
|
|
||||||
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox}
|
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox}
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
|
|
||||||
# lj parameters
|
# lj parameters
|
||||||
|
|
||||||
pair_coeff * * 1.0 1.0
|
pair_coeff * * 1.0 1.0
|
||||||
mass * 1.0
|
mass * 1.0
|
||||||
|
|
||||||
# we recommend setting up a dedicated group for gcmc
|
# we recommend setting up a dedicated group for gcmc
|
||||||
|
|
||||||
group gcmcgroup type 1
|
group gcmcgroup type 1
|
||||||
|
|
||||||
# gcmc
|
# gcmc
|
||||||
|
|
||||||
@ -39,29 +39,29 @@ fix mygcmc gcmcgroup gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp}
|
|||||||
|
|
||||||
# atom count
|
# atom count
|
||||||
|
|
||||||
variable type1 atom "type==1"
|
variable type1 atom "type==1"
|
||||||
group type1 dynamic gcmcgroup var type1
|
group type1 dynamic gcmcgroup var type1
|
||||||
variable n1 equal count(type1)
|
variable n1 equal count(type1)
|
||||||
|
|
||||||
# averaging
|
# averaging
|
||||||
|
|
||||||
variable rho equal density
|
variable rho equal density
|
||||||
variable p equal press
|
variable p equal press
|
||||||
variable nugget equal 1.0e-8
|
variable nugget equal 1.0e-8
|
||||||
variable lambda equal 1.0
|
variable lambda equal 1.0
|
||||||
variable muex equal ${mu}-${temp}*ln(density*${lambda}+${nugget})
|
variable muex equal ${mu}-${temp}*ln(density*${lambda}+${nugget})
|
||||||
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
|
fix ave all ave/time 10 100 1000 v_rho v_p v_muex v_n1 ave one file rho_vs_p.dat
|
||||||
variable rhoav equal f_ave[1]
|
variable rhoav equal f_ave[1]
|
||||||
variable pav equal f_ave[2]
|
variable pav equal f_ave[2]
|
||||||
variable muexav equal f_ave[3]
|
variable muexav equal f_ave[3]
|
||||||
variable n1av equal f_ave[4]
|
variable n1av equal f_ave[4]
|
||||||
|
|
||||||
# output
|
# output
|
||||||
|
|
||||||
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+${nugget})
|
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+${nugget})
|
||||||
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+${nugget})
|
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+${nugget})
|
||||||
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
|
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+${nugget})
|
||||||
compute_modify thermo_temp dynamic yes
|
compute_modify thermo_temp dynamic/dof yes
|
||||||
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_rhoav v_pav v_muexav v_n1av
|
||||||
thermo 1000
|
thermo 1000
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user