Uniaxial deformation

Hello Sir,

I am doing uni axial tensile deformation of Iron nano wire in Y axis at room temperature. I am defining my simulation box with 128,000 atoms. I have divided my simulation box into two region boundary and mobile. Boundary region consists of top and bottom layers of atom. These top contains four layer of atom, bottom also contain four layer of atoms, rest is defined in mobile.

Initially I am relaxing my system by running NVE, with langevin thermostat and berendsen barostat.
After equilibration, using fix/setforce I am setting zero force on boundary atoms. Then after I am deforming my system at strain rate of 10e9 per second using fix deform command. I am also using npt ensemble to maintain the temperature and pressure constant in the system.

Now, I can see using dump command, atom in the mobile region is moving, experiencing some force, atom in boundary region is experiencing zero force.

Up til here is ok, I am getting stress strain curve, plane rotation, dislocation motion, all I can observe in my system.

But the time total strain reaches to UTS, material fails below the boundary region and fully developed necking is not observed. Some time vacancy gets created below the boundary region, and sometime the two layer of atomic pane just move apart failing in brittle manner.

I guess if it can be boundary effect, as plane in boundary is experiencing zero force and plane just below in mobile region experiences some forces.

I think for this I should define a region of atoms, in between boundary and mobile, which will experience force near mobile end and decay to zero in boundary end.

Is there any fix defined in LAMMPS to do so. or how to do this task in LAMMPS.


You could write your own fix to do whatever you want. The fix
setforce command lets you input a variable as the force that
will be applied. That variable can be a function of position,
so a different force can be applied to each atom in a region.