Simple shear using fix box/relax

Hello lammps users,

I am trying to apply simple shear to my periodic simulation cell. I have tried using fix box/relax for this purpose but I believe this fix is not applying a pure shear stress instead of simple shear:

fix 3 all box/relax x 0.00 y 0.0 z 0.0 xz 0.0 xy 2000 yz 0.0 nreset 100 couple none

Reading through the documentation as well as the sourceforge mailing list, I have seen fix deform being suggested as a way of applying simple shear stresses which controls strain and outputs stress as a consequence of the applied strain. Is there any other way to perform a stress controlled simple shear simulation?

Please note that each command in LAMMPS is doing what is described in its documentation (it is a bug if it does not) and that some commands have special use cases. So you have to look at the descriptions of the individual commands and see if and how an available command can be applied to your simulation.

Unfortunately, your description is too vague to give any specific advice, but please note the following.

As the documentation says(!), fix box/relax is meant to be used during energy minimization and not during an MD run. If you want to have your system react to external pressure during MD, you should use fix npt for time integration.

I cannot comment on the science related specifics since you are using a nomenclature that I am not familiar with. and this is not my area of research, so my knowledge is only circumstantial. It is my impression that people prefer to use fix deform because it is easier to study the response to a prescribed strain rather than having to monitor the response to a fixed external stress, which can be difficult to observe if the added stress is small, since stress/pressure is having rather large fluctuations at typical MD simulation time and length scales.

Thanks for responding! I am trying to simulate simple shear in FCC Cu at zero temperature and so my minimization attempt is for a molecular static run rather than an MD run.

Fix box/relax documentation assumes symmetric shear components in the system stress tensor however I do not want to simulate symmetric shear stresses. So for pure shear tau_xy = tau_yx but for a simple shear case tau_xy != tau_yx.

I don’t see how this can be possible with periodic boundary conditions which are required for fix box/relax to work.

It is impossible (and unphysical) to apply an “external” (or “bulk”) stress globally to an isolated system. All you can do would be to add forces to selected atoms.

Are you sure you are not trying to apply logic and methodology for studying macroscopic systems to your atomic scale system?

Please also note that the stress contributions from most of the models used in LAMMPS is symmetric due to the isotropic nature of the interactions. You have to have “directional” interactions (explicit bonded interactions or manybody models with implicit bonds) to have asymmetric stress contributions and have to use compute centroid/stress/atom to collect those, but this is primarily used for studying thermal conductivity not elasticity, if I remember correctly.