[lammps-users] fix msst and some question about the example of msst in lammps

Dear all,

There is the computational procedure in the lammps: fix msst. I have read the description and syntax of the command. And I also run the example of msst. However, I still have some confusion, and I need your help.

There are two ‘timestep’ command in this script (see the markers), I don’t know why. And the velocity command, the instruction shows that the temperature of system is setted to around 300.0k, but why in the command line temp=600.0?

From the description, I know the command “fix msst”----- ‘performs the Multi-Scale Shock Technique (MSST) integration to update positions and velocities each timestep to mimic a compressive shock wave passing over the system’, and now I am doing some research about radiation damage which involves high-energy particles impacting on material, so I want to know whether this command is suitable to simulate this kind of shock which caused by high-speed particles hit on materials. If so, in the manual, it says, the command ‘fix msst’ computes a temperature and pressure each timestep and its create its own computes of style “temp” and “pressure”, so I want to know how I can get the information of temperature-time distribution and so on. Shall I divide the simulation box into N layers and utilize the command ‘fix ave/spatial’ and output the information of temperature-time distribution into a file?
Any suggestion and advice will be highly appreciated.
Finally I wish you a Merry Christmas and a happy new year.
Sincerely,
Maosheng

the example msst input script:

dear maosheng,

2010/12/25 maosheng chai <[email protected]...>:

Dear all,

There is the computational procedure in the lammps: fix msst. I have read
the description and syntax of the command. And I also run the example of
msst. However, I still have some confusion, and I need your help.

There are two 'timestep' command in this script (see the markers), I don't
know why. And the velocity command, the instruction shows that the
temperature of system is setted to around 300.0k, but why in the command
line temp=600.0?

i cannot answer the second part of your question, but the first part
straightforward and should be very obvious, once you think about it.

your initial structure in this input is a perfect crystal with its atom
position in the global minimum. that is equivalent to a (theoretical)
structure at a temperature of 0K. now you assign initial velocities
and thus kinetic energy and now part of the kinetic energy is converted
into potential energy. just think of the crystal as a lattice of harmonic
oscillators. you start with all oscillators in the minimum, but if you
are in equilibrium at a finite temperature, you have a distribution of
the oscillators in different potential energy. this has to come from
somewhere and the only source of energy is the kinetic energy.
for classical harmonic oscillators exactly half of the kinetic energy
will be converted. hence the initialization with 600K to get a system
with 300K when in equilibrium.

cheers,
     axel.

Dear Axel,
Thank you very much for your letters. There is still a little confusion: since it is so set temperature, shall we utilize an ensemble instead, just as ‘fix npt’ or ‘fix temp/berendsen’, and the temperature can set to 300K directly? Is there any advantage doing like this or else?
Hope others who have experience about the command “fix msst” could give me some advice and suggestion.
Best wishes.
Maosheng

Dear Axel,
Thank you very much for your letters. There is still a little confusion:
since it is so set temperature, shall we utilize an ensemble instead, just
as 'fix npt' or 'fix temp/berendsen', and the temperature can set to 300K
directly? Is there any advantage doing like this or else?

no! you still don't get it. if you have a crystal "equilibrated" to 0K and
then add 600K worth of kinetic energy you should get a system
of 300K when it equilibrates.

you cannot use fix npt with fix msst since fix msst
does its own time integration of atom positions
and using fix berendsen would mess things up.

Hope others who have experience about the command "fix msst" could give
me some advice and suggestion.

i doubt that fix msst is what you want. i strongly suggest you
read the relevant publications. it propagates a system under
a shock-wave ensemble conditions, i.e. you have a shock wave
moving through your system at constant velocity, e.g. as it
would be generated by the impact of a projectile to an object.
that is very different from radiation damage, isn't it?

axel.

Dear Axel,

Thank you very much for your advice.

no! you still don’t get it. if you have a crystal “equilibrated” to 0K and
then add 600K worth of kinetic energy you should get a system
of 300K when it equilibrates.

I’m confused about this. For example:
fix 1 all temp/berendsen 300.0 300.0 0.05
fix nve all nve
when run N timesteps untill the system equilibrates, the temperature of the system is 300.0K, isn’t it? I think it equivalent to :
velocity all create 600.0 9999

you cannot use fix npt with fix msst since fix msst
does its own time integration of atom positions
and using fix berendsen would mess things up.

If we unfix the “fix npt” or " fix temp/berendsen" befor the follow-up operation “fix msst” , shall we use it insted?

Best wishes,
Maosheng

Dear Axel,

   Thank you very much for your advice\.

> no! you still don't get it. if you have a crystal "equilibrated" to 0K
> and
> then add 600K worth of kinetic energy you should get a system
> of 300K when it equilibrates.

I'm confused about this. For example:
fix 1 all temp/berendsen 300.0 300.0 0.05
fix nve all nve
when run N timesteps untill the system equilibrates, the temperature of the
system is 300.0K, isn't it? I think it equivalent to :
velocity all create 600.0 9999

yes and no. the total kinetic energy of the system
is going to be the same, but that doesn't say much
about the overall state and how well equilibrated it is.

i am not a great fan of the berendsen thermostat algorithm.
it has one major weakness in using velocity rescaling to control
the temperature. that is not a problem for systems that are already
equilibrated, but if you have local differences in kinetic energy,
it will rather enhance those differences rather than dissipate them.
fix langevin is much better in that respect, as it will speed up
equipartitioning, but that alone is also not a good measure of
reaching equilibrium.

what is the best way to set up a system depends very much
on the system itself. often it doesn't matter, but still there are times
where the strategy you choose and how well you equilibrate a system
can have consequences on the results. there was fool proof method,
MD codes would not have so many different ways to set up
simulations. ever wondered about that?

> you cannot use fix npt with fix msst since fix msst
> does its own time integration of atom positions
> and using fix berendsen would mess things up.

If we unfix the "fix npt" or " fix temp/berendsen" befor the follow-up
operation "fix msst" , shall we use it insted?

as i wrote before, i don't know the shock ensemble well enough to
answer such questions with authority.

why don't you read the original literature? that should be a much
better guide than some example input that is just to demonstrate
how to use a keyword.

axel.

I want to know whether this command is suitable to simulate this kind of shock which >caused by high-speed particles hit on materials. If so, in the manual, it says, the command >'fix msst' computes a temperature and pressure each timestep and its create its own >computes of style "temp" and "pressure", so I want to know how I can get the information >of temperature-time distribution and so on. Shall I divide the simulation box into N layers >and utilize the command 'fix ave/spatial' and output the information of temperature-time >distribution into a file?

The fix msst doc page tells you the IDs of these T and P computes. So you
can access them like any other compute and output their info with
thermo output or average it, etc. See section 4.15 of the manual for
an overview.

Steve

2010/12/25 maosheng chai <[email protected]...>: