Hi,
I want to compute the heat flux in solids using equilibrium positions of atoms. Currently, LAMMPS uses a definition of heat flux which is based on the updated configuration of atoms. Can you please let me know how can I do this in LAMMPS?
Thank you very much
I don’t quite understand what you mean, but you might be able to do this with the per-atom kinetic and potential energy, and per-atom stress, computes.
What definition do you want to use for the heat flux?
Dear Niall,
Thanks for your response. Currently, heat flux is defined as J = d/dt ( sigma(r_i*E_i) ) in LAMMPS, where r_i is the updated (or current) position of atoms.
Instead, I want to use another definition as: J = d/dt ( sigma(r_i0*E_i) ), where r_i0 is the equilibrium position of atoms.
I hope this is clear. I am looking forward to your comments.
Best
In that case, I don’t think so. You would need to postprocess.
What is sigma in this case?
Thanks for your comments. Sigma is summation over all atoms i ?!
Best
Thanks for your comments. Sigma is summation over all atoms i ?!
Best
Dear Niall,
I figured out how I can do it. The “compute heat/flux” command will output a vector with six components. The first three components are the total heat flux and the second three components are the convective heat flux. So I need to subtract the total HF from convective HF to get the desired heat flux.
On other note, I found a bug in LAMMPS manual (page 352, section Output info). I attached this page in PDF. The “conductive” heat flux should be “convective”.
Please let me know if these make sense.
Best
Manual_LAMMPS_bug.pdf (368 KB)
I’ll change the word in the manual - thanks
Steve
That will give you the term that you’re interested in (\sum_i S_i v_i), but the term that you get left with will still be calculated using the instantaneous positions of the atoms, I don’t know if that’s a problem or not.
Yes that is true. But that might work for me. I am doing some tests. Thanks anyway for your help.
Best