Skip to content

The thermal conductivity of a molecular dynamics system is calculated using the Green-Kubo fluctuation Dissipation Theorem

Notifications You must be signed in to change notification settings

erny123/MD-GreenKubo-Thermal-Conductivity

Repository files navigation

MD-GreenKubo-Thermal-Conductivity

The thermal conductivity of a molecular dynamics system is calculated using the Green-Kubo fluctuation Dissipation Theorem

For this particular case the Tersoff potential was used for Silicon and the thermal conductivity was calculated at 1000 K. The calculations using the double exponential fit are done using references: Chen, J., Zhang, G., & Li, B. (2010). How to improve the accuracy of equilibrium molecular dynamics for computation of thermal conductivity?. Physics Letters A, 374(23), 2392-2396.

Files:

  • Readme.md : just description

  • 1000kheatflux.in Input file for lammps MD code

  • SiC.tersoff Tersoff potential used for lammps MD simulation

  • "Green Kubo Thermal Conductivity Calculator.ipynb" Jupyter Python Notebook for calculating Thermal conductivity using the heat current flux outputted by LAMMPS

DESCRIPTION:

\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}

Green Kubo Thermal Conductivity Calculator

By Ernesto Barraza-Valdez

10/30/2020

This notebook is to calculate the thermal conductivity using the Green-Kubo Heat Flux autocorrelation method. The steps and techniques are followed from Chen et al: Chen, J., Zhang, G., & Li, B. (2010). How to improve the accuracy of equilibrium molecular dynamics for computation of thermal conductivity?. Physics Letters A, 374(23), 2392-2396.

We have used a 15x15x15 (lattice parameter) Si system with a total of 27,000 atoms at 1,000K. LAMMPS is told to calculate and output the total heat flux using compute heat/flux in the folowing way: compute myKE all ke/atom
compute myPE all pe/atom
compute myStress all stress/atom NULL virial
compute flux all heat/flux myKE myPE myStress
variable Jx equal c_flux[1]/vol
variable Jy equal c_flux[2]/vol
variable Jz equal c_flux[3]/vol

The heat flux outputs for Jx, Jy, Jz were converted to a .csv file where it is then imported into python via pandas

Note: Chen et al uses Stillinger-Weber potential for Si. In this notebook, tersoff potential is used.


To do Solve for the Autocorrelation function we use the algorithm formulated in the wikipedia article and stackoverflow: https://stackoverflow.com/questions/14297012/estimate-autocorrelation-using-python

https://en.wikipedia.org/wiki/Autocorrelation#Estimation

Basically the autocorrelation function for a certain correlation length can be described as:

where is the mean of the data set and is the variance of the data set X. The total time (or length) of the data set is n

We need to do this for all three directions of the heat flux

Notice that we use the np.correlate function which is a full convolution of the data as shown in the following links: https://numpy.org/doc/stable/reference/generated/numpy.correlate.html

https://numpy.org/doc/stable/reference/generated/numpy.convolve.html#numpy.convolve

About

The thermal conductivity of a molecular dynamics system is calculated using the Green-Kubo fluctuation Dissipation Theorem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published