fix thermal/conductivity group

Hi all users,

I am trying to apply Muller-Plathe algorithm for only one particle in a
simulation box, specifying the group of that particle atoms for fix

fix heat_swap hbn thermal/conductivity 100 y 6

'hbn' is the name of this group (I created it with type or region
options of 'group' but it didn't differ), the particle stands in the
middle of the simulation box and I am kind of fixing its position by 'mom yes
rot yes' options of 'velocity' command and also with 'fix angle hbn
momentum 10 angular'. Please also note that the other parts of the
simulation box, different than particle, is empty.

The problem is, I got 'f_heat_swap' values of 0. I think this command
divides whole simulation box to 6 slabs instead of dividing just group
of 'hbn' so it does not see any atoms in empty slabs and does not change
any velocity. But if it is the case, then why fix thermal/conductivity
command enables us to select any group that we want? I tried same
script, shrinking the box dimensions to particle dimensions and then it
started to show some energy change values, but this is not the case
that I want to see.

I am very curios that if there is someone who agrees with me about the reason of the
problem, is there a way that I can solve this or anyone who experienced it before? I will appreciate your comments.

Best regards

The MP algorithms perform a swap between 2 atoms, in

the case of thermal cond, it is kinetic energy. Probably

it is failing to perform a swap if you have just one atom.


Yes Mr. Plimpton, this is what I think about the problem and thank you for your response. But I wonder why fix thermal/conductivity does not divide only the group specified, or can we consider it as a bug?

I’m not sure what you are asking. I believe the command

works as the doc page explains. It attempts to swap

between 2 atoms, one in the middle of the box, one at the top.

If it can’t, it won’t perform a swap.

If you’re asking to have it swap in some more limited

geometry, e.g. within a region, then someone would

have to add that logic to the code.


Yes I was asking that, about a specific region. I thought that if I can select the group-ID, then may be the code is capable of dividing only the corresponding region of the group. But apparently, this is not the case. Thank you for your help Mr. Plimpton.