I have a question about temperature effect.
Let me describe the problem: Assume that we have a box with atoms A and B. Atoms A are bonded to each other, while atoms B are free. And they are located in two sides of the box (They are NOT mixed). We group each type by its name.
Let’s give zero velocity to atoms B. Also give the velocity corresponding to 300 K to atoms A.
velocity A create 300 123456 rot yes mom yes dist uniform
velocity B create 0 123456 rot yes mom yes dist uniform
We run the simulation in an NPT ensemble for group A:
fix 2 A npt temp 300.0 300.0 10.0 x 0.0 0.0 100 y 0.0 0.0 100 z 0.0 0.0 100 couple none
(while the group B is freezed in the box and is “far” from group A to avoid unwanted interactions). IN the ouputs the temperature of the system is 300 and the pressure is zero, as expected. In the movie we see atoms B are still and not moving while atoms A are vibrating in their place, which is expected too.
Now we want to give the B atoms a velocity and let them move around and probably hit atoms A.
velocity B create 300 123456 rot yes mom yes dist uniform
fix 10 all nve
Again in the simulation movie everything looks fine, and we see atoms B moving in the box as expected and reaching A atoms.
However, when we look at the temperature output versus timesteps, we see temperature (and kinetic energy) have a sudden jump at the beginning of the NVE part. Also the total energy is not constant, while we are running in an NVE ensemble. So the questions are:
Why temperature of the system jumps to 6000K while both species are heated to 300K? This happens immediately after the B atoms are given the 300K velocities, and before they even start moving and reaching to A atoms.
Why the total energy is not constant while we run in an NVE ensemble?
I do appreciate your comments on this matter.
Are you measuring the temperature of all atoms or just A?
In your 2nd scenarios the B atoms are adding random energy to the A
atoms by interacting with them (and not being slowed down
themselves by the interaction). Hence it seems normal
to me that the temperature of the A atoms would increase.
I am measuring the temperature of all the atoms using “thermo_style custom temp”.
I agree with you that the temperature of A atoms should go up. However what happens is the temperature of the system abruptly jumps to ~6000 K before even the simulation starts the new part. The B atoms did not reach the A atoms yet. Is there anything that I do not consider when looking at the temperature?
By the way I am using reax/c potential.
fix 2 A npt temp 300.0 300.0 10.0 x 0.0 0.0 100 y 0.0 0.0 100 z 0.0 0.0
100 couple none
(while the group B is freezed in the box and is "far" from group A to avoid
unwanted interactions). IN the ouputs the temperature of the system is 300
and the pressure is zero, as expected. In the movie we see atoms B are still
and not moving while atoms A are vibrating in their place, which is expected
What is the fix applied to the group of B atoms? Is it because no fix
is applied to B so that they were still?
It seems your group of B atoms is a gas phase; make sure there is no
overlapping B atoms. Temperature shooting up at the beginning of a
run implies such possibility.
You are right, no fix was applied to B atoms. The B atoms are in
gaseous state, and I was afraid if I apply NPT with p = 0 to them the
box expands too much.
About overlapping of B atoms, it makes much sense. Actually I tried
systems with different number of B atoms. For more B atoms, the
temperature shoots up higher. So I believe it has a relationship with
the number of B atoms, and the overlapping issue could be the reason.
I check it and will let you know by mid next week that how it works.
To prepare such sample, it is best to carry out the process in separate steps.
1) Equilibrate a system containing only bulk A with NPT,
2) Create surfaces to A from 1), equilibrate with NPT,
3) Equilibrate a system containing only gas B with NVE/NVT, and
4) Combine A and B, run with NVT.
I believe your focus is the interaction, or chemical reaction, between
A surface and B atoms, so you really don't need to run step 4) with
That sounds to be a robust approach. Thanks so much Ray!