Apply shear stress by 'fix aveforce'

I try to apply two shear opposite stresses on the upper and lower region of my model.
I choose say 2 upper most layers, and also 2 lower most layers. First set force on these two regions to be zero.
Then I apply average forces on those two regions to generate constant shear stress.

I use units metal, force unit is eV/A, length unit A, so that the stress should be stress=force/area (force=aveforceN, area=lxly),
which is expected on the unit of eV/A^3=160 GPa.
However, always I find the target shear stress I apply is incredibly large!!!

Does anyone can comment on my strategy? Below is the detailed script.

Thanks a lot.

Yes, the shear stress is very large. Every Atom is experiencing 160MPa here. Because you should also divide by the total no. of atoms in the upper and lower regions to get the required stress value in the “region”, not the “atom”.

As a check, why dont you dump the force on each atom in both the regions,and judge whether you are correct by seeing the magnitude of force on each atom.( because you are simulating pure shear, the upper and lower forces must be equal).


This again doesn’t explain anything. So what, you explore constant forces, and something is supposed to happen? Two slabs with constant forces, why should I know what happens? It should have a constant temperature source, the dynamics should explode. Unless the dynamics of two species collisions somehow negate this.

Please read a recent response of mine:

Sorry for the scrambled response. But I do suggest a barostat, if this is what you want to achieve.