# Low steady state temperature in graphene

I am simulating 3d heat transfer in a graphene sheet (in the x-y plane , along x direction)using REBO potential. I have different edges kept at different fixed temperature using temp/rescale while some edges are free. I use NVE ensemble. When there are differences in temperatures of different edges (e.g., some at 300K , some at 100 K), there are predictable temperature gradients and heat currents.

In the graphene sheet, I have a small area where the sheet width (width along y) is very small (~3 Angstrom). As a result, there is large temperature drop near this region due to strong phonon scattering. This area is meant to serve as a resistance to heat transfer.
Now, when I keep same temperature (300 K) at all edges , I expect to see the entire sheet to attain 300 K or fluctuate slightly about 300K. However, I am getting 5-10 K lower readings (290-295 K). Even when all edges are kept at same temperature, there is a 5-10 K drop across that very thin region, suggesting there is some heat flow, when ideally there should be none. I was wondering if this drop is an artifact of the simulation? or can this be approved? Initially I thought that the system is not steady yet and ran it for longer upto 7 nanoseconds with 0.5 fs time step, it turns out that indeed I get a steady state but the temperature is always 5-10 K lower than the desired temperature.

I tried Tersoff potential , same story. Whenever there is a region with small width, a temperature drop occurs even if there should be no gradient. . This does not happen if I simulate a square or rectangular graphene sheet, with heat transfer between any two opposite edges.

It will be great if someone can explain if there is something I could do to imprve this situation.

Thanks and regards,
Souvik

I am simulating 3d heat transfer in a graphene sheet (in the x-y plane ,
along x direction)using REBO potential. I have different edges kept at
different fixed temperature using temp/rescale while some edges are free. I
use NVE ensemble. When there are differences in temperatures of different
edges (e.g., some at 300K , some at 100 K), there are predictable

In the graphene sheet, I have a small area where the sheet width (width
along y) is very small (~3 Angstrom). As a result, there is large
temperature drop near this region due to strong phonon scattering. This area
is meant to serve as a resistance to heat transfer.
Now, when I keep same temperature (300 K) at all edges , I expect to see
the entire sheet to attain 300 K or fluctuate slightly about 300K. However,
I am getting 5-10 K lower readings (290-295 K). Even when all edges are kept
at same temperature, there is a 5-10 K drop across that very thin region,
suggesting there is some heat flow, when ideally there should be none. I was
wondering if this drop is an artifact of the simulation? or can this be
approved? Initially I thought that the system is not steady yet and ran it
for longer upto 7 nanoseconds with 0.5 fs time step, it turns out that
indeed I get a steady state but the temperature is always 5-10 K lower than
the desired temperature.

I tried Tersoff potential , same story. Whenever there is a region with
small width, a temperature drop occurs even if there should be no gradient.
. This does not happen if I simulate a square or rectangular graphene sheet,
with heat transfer between any two opposite edges.

It will be great if someone can explain if there is something I could do to
imprve this situation.

the obvious improvement would be to get rid of temp/rescale and use a
less brutal method (e.g. fix langevin) to manipulate the kinetic
energy.

beyond that, i suggest you start asking yourself: what is the meaning
of "temperature"? particularly under the boundary conditions of your
simulation.

axel.

Thanks Dr. Kohlmeyer for the suggestion. I think it is a good idea.

I am now trying both fix langevin and nose hoover thermostat at the layer of atoms just next to the fixed boundaries. However, When I am computing the temperature profile using fix ave/spatial, the temperature at the hot end exceeds the source temperature. For instance, if the source temperature is 300 K, the last temperature in the temperature profile is close to 480K ! That is not physical. Is there a better way to compute the temperature profile , especially near the source region? There is a very nonlinear temperature drop near the the source, and it seems like the ave/spatial can not track that. I have tried with different bin sizes from 2 to 5 angstroms but the result is always more or less the same. Just the last temperature point is ~480 K. This was also present with fix temp/rescale. The interesting thing is that when I define a compute for the source region, it returns the correct temperature (300 K). So the source is indeed kept at 300 K, But the ave/spatial thinks that the edge of this region is at 480 K. Below is the code segmentâ€¦

compute ke1 all ke/atom
variable temperature atom c_ke1/(1.50.001987.0433634) ## units :metal.
thermo 10000

fix NVThot hot nvt temp 300.0 300.0 .1
fix NVTcold cold nvt temp 100.0 100.0 .1
fix NVE ntmst nve ## fix nve for non thermostatted region

thermo_style custom step atoms pe ke etotal c_h1 c_h2 f_NVThot f_NVTcold

fix tmp upper ave/spatial 1 200000 200000 x lower 2.8 v_temperature file andnonn1_upper_temp_profile.temp units box

Sometimes, if the source is very thin, there are artifacts in temperature profile due to what I found is called phonon localized edge modes in graphene which goes away if number of layers of atom is more that 4. I have 5 layers of atom and 160 atoms in each source and sink. In any case, I do not understand why the temperature at the edge of the source is so much higher than the source itself? Even if the fixed boundary layer atoms are included in the last averaging bin, the temperature would be lower than the source, because those fixed atoms have zero kinetic energy.

Thanks and regards,
Souvik

Thanks Dr. Kohlmeyer for the suggestion. I think it is a good idea.

I am now trying both fix langevin and nose hoover thermostat at the layer of
atoms just next to the fixed boundaries. However, When I am computing the
temperature profile using fix ave/spatial, the temperature at the hot end
exceeds the source temperature. For instance, if the source temperature is
300 K, the last temperature in the temperature profile is close to 480K !
That is not physical. Is there a better way to compute the temperature

the problem is - and this has been stated on this mailing list many
times - that temperature itself is not a very meaningful term at such
small systems. typically the temperature is computed under the
assumption that you have an equal amount of kinetic energy per degree
of freedom. but this is really only well defined for a large number of
atoms and a macroscopic system (remember the fundamental laws of
thermodynamics! there is no absolute definition of temperature, only
that two objects have the same temperature, if there is no heat
exchanged by them). but even if we assume equipartitioning, how do
you assign the degrees of freedom for your system? what if some atoms,
by construction of the geometry, are more (or less!) mobile than
others. the temperature compute doesn't know about it...

profile , especially near the source region? There is a very nonlinear
temperature drop near the the source, and it seems like the ave/spatial can
not track that. I have tried with different bin sizes from 2 to 5 angstroms
but the result is always more or less the same. Just the last temperature
point is ~480 K. This was also present with fix temp/rescale. The
interesting thing is that when I define a compute for the source region, it
returns the correct temperature (300 K). So the source is indeed kept at 300
K, But the ave/spatial thinks that the edge of this region is at 480 K.
Below is the code segment..

as stated many, many times. input fragments are almost always useless.
if you want somebody to look into your issues, you need at the very
least provide a full input deck, so that somebody can run your system
and try out different options and get an independent appraisal.

axel.