Hi. I am wondering the difference of thermal conductivity I will get using kubo formula in EMD by supercell of primitive cell and conventional cell. For example, if we are looking at a FCC structrue, using its conventional cell, we can get thermal conductivity easily by Green-Kubo. However, what if I use the primitive cell? Since LAMMPS can only deal with cubic domain or triclinic domain, one of the axes of primitive cell must be x axis. Thus, the x, y, and z direction are no longer the same for primitive cell as before for conventional cell. As a result, I am wondering how to calculate heat flow along a certain direcion in EMD? Or if anyone could provide some ideas about the thermal conductivity simulation using primitive cell or papers reporting this, I would appreciate it as well!
While you cannot change the orientation of the simulation cell in LAMMPS, you can change the orientation of the lattice of the geometry inside. When creating an FCC geometry in LAMMPS you can use the orient keyword to change the placement of the lattice points from the default 1 0 0 orientation. Of course, you need to choose a suitable supercell to have a correct periodic continuation. Similarly, if what LAMMPS has to offer is too primitive for your needs, you can use some external tool like Atomsk to create the geometry and then import it as a data file.
Not really did this before but here are some of my thoughts:
- You took FCC as an example. Since an FCC crystal is isotropic (i.e. the thermal conductivity tensor is identity matrix multiply by a scalar), so the only “degree of freedom” is that scalar, which can be estimated by (k_xx+k_yy+k_zz)/3. Because rotations don’t change the identity matrix, you may calculate the thermal conductivity in any (Cartesian) coordinate system and the result should be statistically same (at least under thermodynamic limit).
- if you cannot exploit the isotropy and cannot get the axes aligned, it’s still possible to work out the full conductivity tensor and manually apply the rotation matrix. From documentation it seems that fix ave/correlate can do the first part (by type auto/upper, auto/lower, or full; I didn’t personally try this though). It may take some time to figure out the correct rotation matrix for a particular pair of orientations, but theoretically this should be possible.