Doubt regarding restriction of atoms vibration in lateral directions

Hello,
I’m performing uniaxial tension test on a chain of lattice in LAMMPS.
I want to fix the position of all atoms in Y and Z direction to stabilize the system. The atoms will now vibrate in only X direction. Please guide me how to proceed with that. Some relevant portion of my code are:
print " ----------------------- EQUILIBRATION ------------------------------"
reset_timestep 0 # set timer to zero

variable delta_sigma_star equal 0.001 # Fine_time_step: delta_sigma* = 0.001 Ps

timestep ${delta_sigma_star}

Integrate the equations of motion, to update the position of atoms

fix 1 all nve

Provide some initial vel. to all atoms, by setting avg. sys. temp.= 300k

velocity all create 300 12345 mom yes rot no

Set velocity of boundary atoms to zero at every step

fix 2 boundary_atoms move linear 0 0 0 units box

Use minimize command to relax the system

minimize 1.0e-4 1.0e-6 1000 10000

I want to implement only kinematic restrictions.
Thank You.

Hi @baruahsarthak,

Please read the guidelines of the forum. You will get instructions on how to format your post and demand in a proper way to help people provide meaningful answer to your query.

The code you are providing does not do anything you say you want to do. This is not the way the move command works. You might want to read about commands like fix spring/self or fix setforce which seems closer to your goal.

1 Like

Thank You.

First off, there is no dynamic in your input, only minimization.
Second, always report the LAMMPS version you are using and the platform you are running on.

To have atoms immobile during minimization, you have to set their forces to zero, e.g. using fix setforce NULL 0.0 0.0. To have them also immobile during an MD run, you also need to set their velocities to zero, e.g. with velocity all set NULL 0.0 0.0

As stated in the documentation, fix move is not invoked during minimization. Also, its use like this is an error. Doesn’t LAMMPS complain, that you have atoms that are time integrated multiple times?? A simpler way to achieve the same is to apply fix nve only to those atoms that you want to be moved instead of all atoms.

1 Like

It does say integrated multiple times.

Yes, makes sense to apply fix nve to only the moved atoms.

BDW, can you please clarify by using fix setforce 0 0 0, are we setting Inertia Force (ma) to 0? so that the initial velocity we specified remains constant?

Thank You.

I am not in the habit of repeating what I am stating multiple times. Everything you need to know is stated in the documentation of the mentioned commands and the rest is basic classical mechanics knowledge.

If you need confirmation, set up a simple test system where you record the trajectory at every step and output positions and velocities and see for yourself. This is all standard procedure when doing research. Just think about it. In the end, it is you that has to explain the choices for your simulation and you cannot justify them with “some dude on the internet said it was ok”.

1 Like

Thank You for your time. Sorry for repeated questions, I’m very new in research work.