LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] Finding the heat flux across a vacuum gap between two solids
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] Finding the heat flux across a vacuum gap between two solids

From: Ray Shan <rshan@...1795...>
Date: Tue, 22 Aug 2017 20:25:08 +0000

In method 1 there is no reason for the two thermostats to take or give the same amount of energy since they independently act on the two independent groups.

Note that sigma in pair_style lj/cut is the energy minimum.  From the doc page: "Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma."


On 8/21/17, 7:20 AM, "Sen Gupta, Ashim" <ashim.sen-gupta14@...68...> wrote:

Dear LAMMPS users,

I have been having trouble lately trying to run simulations that will give me the heat flux between two solids and I thought I might look for some advice.

The setup:

I construct 2, regular 2D grids of atoms, each with differing atom types (1 and 2), with an equal spacing in the x and y directions of 4.5 Angstroms. Atoms of the same type are harmonically bonded to their nearest neighbour in the x and y directions. Meanwhile, atoms of differing types can interact via a Lennard-Jones (12-6) potential. The two grids are separated by a small 'vacuum gap' of 1 nanometre (10 Angstroms in metal units). This can be seen in the picture I have attached called 'Simulation_visual.png', the 'before' section. I designate one grid to be hot (the left one) and the other to be cold. I have adjusted the cut-off of the LJ potential so that surface atoms of either grid cannot interact deeper than 1-2 layers of the other grid (so the heat transmission is mediated by surface atoms of each grid).


The objective of my simulation is quite straightforward: I want to find the heat flux between the two solids as a result of their LJ coupling. These are the two latest methods I have employed:

Method 1- Thermostatting the two solids so that the hot group remain at 300K and the cold group remain at 10K and computing the heat flux, which I try with the 'in.ph_2D_metal_d=3.0' script.

Method 2 - Supplying the hot group with a constant power and subtracting that same amount of power from the cold group, and waiting to see what their steady state temperatures are (and then figuring out the heat flux from the temperature difference in the steady state), which I try with the 'in.ph_2D_metal_HEAT_d=3.0' script.

The problem(s):

In both cases I do not get results that I expect. In Method 1, when I print the energy tallies of the Langevin thermostats in the thermodynamical report, I find that the magnitude of the energy that the hot atoms receive from its thermostat is not equal to the magnitude of the energy lost by the cold atoms to the 'cold' thermostat, in general the cold atoms lose 7 times more energy than the hot atoms gain.

In method 2, when I visualise the simulation in VMD through an XYZ dump file (and I do this because the temperatures of both solids rise dramatically given enough time into the simulation run), I see that the two solids 'squash' themselves and almost pull themselves towards each other (see the 'after' section of the 'Simulation_visual.png' file). They don't appear to behave like solids.

The recurring theme of my attempts is that when I visualise my simulation in VMD, the two solids do not behave like solids and instead often morph themselves through the simulation. I do not expect to see this because I would have thought the harmonic bonds between atoms in the solids would give them their 'solidity'. I am hesitant to use the fix spring/self command since that seems quite ad-hoc, and I am unsure about whether it will affect my numerical flux results, thereby making my system dissimilar from real physical systems and not comparable (though please do tell me if I am mistaken in thinking this way). I have also tried 'extreme' cases, where I replace the LJ potential with harmonic bonds (i.e. a strong interaction regime), where I should expect the heat flux between the two solids to increase, but this does not happen. In fact, oddly the strong-interaction regime gives identical flux values to when I set no interaction between atom types 1 and 2 at all.

Am I perhaps performing my equilibrations incorrectly? Have I not used the right fixes that would ensure I am modelling solids (i.e. have I unintentionally written something that is actually closer to simulating a liquid or gas)? Or is my intuition wrong in that I should not, for example, expect to find equal (but opposite sign) energy tallies for the two Langevin thermostats (for hot and cold) in the case of Method 1?

If you have any pointers on how to simulate solids and how to study the heat flux between them, even if they are general and abstract, I would highly appreciate them. 

Apologies for the length of this, I hope I have been clear, please let me know if I have not explained something adequately.

Many Thanks,


Imperial College