dumping only atoms with particular coordination number

Hello all,

I am running lammps - 1Feb14 and had a question about outputting certain data for a system I am simulating. I am doing relaxations on a BCC structure at a temperature in which it is unstable and begins to transition towards an HCP structure. I am looking to dump the coordinates of atoms only that are making this transition (i.e. higher coordination number) to a lammpstrj file that can be fed into vmd. I am hoping to see how the hcp phase begins to form by only focusing on the atoms making the transition.

I am able to output the coordination number or cna per atom using ‘compute’, however I am unsure of how to couple this with the actual dump command for visualization purposes. I have a feeling this is similar to how dislocations and defects are visualized in vmd due to the fact that they change coordination number, so if anyone has an idea of how to do this it would be greatly appreciated.

Thank you for your time,

Henry

Hello all,

I am running lammps - 1Feb14 and had a question about outputting certain
data for a system I am simulating. I am doing relaxations on a BCC structure
at a temperature in which it is unstable and begins to transition towards an
HCP structure. I am looking to dump the coordinates of atoms only that are
making this transition (i.e. higher coordination number) to a lammpstrj file
that can be fed into vmd. I am hoping to see how the hcp phase begins to
form by only focusing on the atoms making the transition.

I am able to output the coordination number or cna per atom using 'compute',
however I am unsure of how to couple this with the actual dump command for
visualization purposes. I have a feeling this is similar to how dislocations
and defects are visualized in vmd due to the fact that they change
coordination number, so if anyone has an idea of how to do this it would be
greatly appreciated.

VMD is not designed to handle trajectory files with a variable number
of atoms. there are hacks for that, but unless you are extremely
memory constrained on your viz machine, you are best off using the
recipe from below:

write out a regular custom style dump for *all* atoms and make sure it
contains atom id, coordinates and the compute. some of the optional
fields like element might also be useful, but not required.

now launch VMD and go to the console window. assuming that the cna
compute as the compute id 1 and that your dump file is called
dump.lammpstrj you should type in the following VMD/Tcl commands (or
put them in a script called "script.tcl" and then do "play script.tcl"
instead).

global env
set $env(LAMMPSREMAPFIELDS) vx=c_1
mol new dump.lammpstrj waitfor all
set num [molinfo top get numframes]
set sel [atomselect top all]
for {set i 0} {$i < $num} {incr i} { $sel frame $i ; $sel set user
[$sel get vx] }

This should copy the cna value by way of the velocity import feature
into the User field of the trajectory. Now you can use the user field
in selection strings to show only atoms with a given CNA value or
range of values. if you activate the "Update selection every frame"
feature, this will then adapt which atoms are visible for every step.
for more details on this, please refer to the VMD user's guide and the
available VMD viz tutorials.

a second, less flexible, but also much less convoluted options would
be to use either the dump image or dump movie commands to have LAMMPS
render the visualization for you directly. via "thresh" option of
dump_modify, you can select which atoms will be dumped, i.e.
visualized.

HTH,
    axel.

Dear Henry,

I would add that you can take a look at AtomEye: http://li.mit.edu/Archive/Graphics/A/ . It allows to calculate the coordination number (besides other parameters) and only show part of the atoms. Gallery on the website above has some examples. You will just need to write dump cfg in lammps to use AtomEye.

Regards,
Oleg

Axel Kohlmeyer <[email protected]> 23 апреля 2014 г. 22:27:06 написал: