Skip to content
erny123 edited this page Feb 11, 2021 · 1 revision

Welcome to the Heat-Flux-Autocorrelation-Using-OpenCoarrays-Parallel-Processing wiki!

This code is an addition to the Green Kubo Method for Calculating Thermal Conductivity

The Green Kubo fluctuation dissipation method for calculating thermal conductivity requires long correlation times depending on the thermal conductivity of the material (for materials with large thermal conductivity like Diamond, extremely long correlation times are needed (10 ns or more))

The Green Kubo formula for thermal conductivity is:

Where the heat current autocorrelation function is:

Where

and

For high thermal conductivity materials like Diamond (3,000 W/(m*K)) the autocorrelation function needs to be spread to more than 10 ns to get accurate results. Using a time step of 0.001 ps in LAMMPS, this requires 10,000,000 data points. On my jupyter notebook using numpy autocorrelation function took many hours. This defeats the purpose because LAMMPS itself has an autocorrelation function calculator which is extremely slow also.

Therefore, the purpose of this code is to speed this up using parallel processing with OpenCoarrays. OpenCoarrays uses MPI to access the computing power of multiple cores. OpenCoarrays is utilized in Fortran90 and was successful at reducing the computation time of the heat current autocorrelation function which is then used and inputted into the jupyter notebook (in this repository) to calculate the thermal conductivity of diamond. This was tested on HPC3 cluster of UC Irvine on 40 cores/single node. For a total of 20,000,000 time steps (20ns) total run time was around 30 minutes (as opposed to numpy autocorrelation function with a single core of 4 hours).

Clone this wiki locally