Page 1 of 1

Anisotropic electrical conductivity using VASP or Phelel

Posted: Thu Jan 29, 2026 11:55 pm
by saranya_velliyarat

Hello,

I am studying electrical transport in a material using VASP+phelel with different transport approximations. I would like to obtain the direction-resolved electrical conductivity (e.g., σxx, σyy, σzz) in my material. Currently, I am not able to find any anisotropic components of conductivity in the OUTCAR.

Is there a way to compute or extract anisotropic electrical conductivity using VASP or phelel?

Any guidance would be greatly appreciated. Thank you!!


Re: Anisotropic electrical conductivity using VASP or Phelel

Posted: Fri Jan 30, 2026 1:14 pm
by manuel_engel1

Hello,

Thanks for reaching out to us.

We do not write the full conductivity matrix to the OUTCAR file to keep the output somewhat concise and readable. Instead, the full 3x3 matrix is written to the vaspout.h5 HDF5 output file. Alongside the upcoming VASP release, we will also release a new version of py4vasp that is able to access the contents of this matrix through an easy-to-use interface. The access might look like this:

Code: Select all

from py4vasp import Calculation
calc = Calculation.from_path(".")
sigma_xx = calc.electron_phonon.transport[0].electronic_conductivity(selection = "xx")

to get the xx component of the electrical conductivity. Until then, you can parse this output yourself from the vaspout.h5 file. The data of your calculation is located inside an HDF5 dataset (which you can inspect with the h5ls tool):

Code: Select all

> h5ls vaspout.h5/results/electron_phonon/electrons/transport_1/e_conductivity
> e_conductivity           Dataset {6, 3, 3}

The first dimension (6) corresponds to the temperatures, and the second and third dimensions are the matrix dimensions (3x3). When you run calculations for multiple scattering approximations, then there will be one "transport_N" data group for each such scattering approximation. You can find the index N and what it means in terms of approximation/settings conveniently in the OUTCAR file. Here is an example:

Code: Select all

Transport calculator N =  1
----------------------------------
transport driver: 2 ! Gauss-Legendre integration
Scattering approximation: self-energy relaxation-time approximation (SERTA)
Static self-energy: F
Transport number of points:   501

I know that this is somewhat technical, but I hope that it allows you to access the data you need until the new py4vasp version arrives.

Feel free to reach out again if there is any confusion or if you are having trouble accessing the data.


Re: Anisotropic electrical conductivity using VASP or Phelel

Posted: Fri Jan 30, 2026 9:36 pm
by saranya_velliyarat

Hi Manuel,

Thank you for the reply. I really appreciate the detailed guidance. I was able to extract the components of the conductivity tensor from the vaspout.h5 file using the h5ls tool following your steps, thank you!

I just wanted to clarify a few things. For my material, which is highly anisotropic, the electronic conductivity data in vaspout.h5 shows:

Code: Select all

e_conductivity           Dataset {6, 3, 3}
    Data:
         541707.428825142, 2225.8607418648, 1035.02389380839, 2225.8607418648, 102603.671998336, -155253.862937197, 1035.02389380838, -155253.862937197, 650777.822728512, 437555.03667569, 2046.44840655279, 905.405014934616, 2046.44840655279, 83233.9593004032,-126690.16881792, 905.405014934616, -126690.16881792, 527986.832753503, 305117.389497555, 1519.04878550162, 845.366550206478, 1519.04878550162, 58116.0347352757, -88063.9035926234, 845.366550206481, -88063.9035926234, 366365.093335523, 222823.700120947, 1111.98483555516, 701.602825040168, 1111.98483555516, 42569.3386175128, -64127.4209806255, 701.602825040168, -64127.4209806255, 266810.835308462, 172303.927411077, 837.947448300643, 592.319397275648, 837.947448300644, 33071.0277943194, -49589.9195458854, 592.319397275648, -49589.9195458854, 206422.930688994, 139253.576321498, 648.874202773516, 518.579461768572, 648.874202773517, 26880.8489417964, -40177.9333289313, 518.57946176857, -40177.9333289313, 167310.216980658

I did this transport calculation for temperatures ranging from 0 to 500 K in steps of 100. So I assume that at 0 K, the conductivity tensor is: \(
\begin{bmatrix}
\sigma_{xx} & \sigma_{xy} & \sigma_{xz} \\
\sigma_{yx} & \sigma_{yy} & \sigma_{yz} \\
\sigma_{zx} & \sigma_{zy} & \sigma_{zz}
\end{bmatrix} =
\begin{bmatrix}
541707.42 & 2225.86 & 1035.02 \\
2225.86 & 102603.67 & -155253.86 \\
1035.02 & -155253.86 & 650777.82
\end{bmatrix} \;\text{S/m}
\)
and the tensors for 100, 200, 300, 400, 500 K follow the same ordering. Please correct me if I am misinterpreting this.

Whereas, in my OUTCAR, the final result shows ;

Code: Select all

Transport for self-energy accumulator N= 1
                 T K               mu eV           sigma S/m      mob cm^2/(V.s)        seebeck μV/K          peltier μV      kappa_e W/(m.K)
          0.00000000          4.53609065     541707.42882514         11.97164196          0.00000000          0.00000000           0.00000000 Gauss-Legendre grids
        100.00000000          4.53623672     437555.03667569          9.67041656         -4.21419575       -421.41957508           1.06298168 Gauss-Legendre grids
        200.00000000          4.53668399     305117.38949755          6.74418190         -9.04104358      -1808.20871591           1.46337882 Gauss-Legendre grids
        300.00000000          4.53745234     222823.70012095          4.92604965        -13.93988847      -4181.96654039           1.57342331 Gauss-Legendre grids
        400.00000000          4.53860995     172303.92741108          3.80903058        -18.63341335      -7453.36534134           1.58535082 Gauss-Legendre grids
        500.00000000          4.54019247     139253.57632150          3.07433805        -22.97329388     -11486.64694211           1.55923497 Gauss-Legendre grids

------------------------ end of transport driver reached -----------------------------------------------

The reported conductivity values in the OUTCAR appear to correspond to the σₓₓ component of the conductivity tensor at each temperature. Likewise, for other quantities such as the Seebeck coefficient, Peltier coefficient, and electronic thermal conductivity (κₑ), the values shown correspond to their respective xx components.

Is there a particular reason VASP outputs only the xx component in the OUTCAR? Was this mainly designed for isotropic materials, or is this standard even for anisotropic materials? I just wanted to make sure I am interpreting the data correctly.

Thank you again for your guidance!
Saranya


Re: Anisotropic electrical conductivity using VASP or Phelel

Posted: Wed Feb 04, 2026 10:46 pm
by saranya_velliyarat

Hi,
As a follow-up, I want to ensure I am correctly mapping the conductivity components (xx, yy, zz) to my physical crystal directions.

Are the conductivity tensor components (σxx, σyy, σzz, etc.) in vaspout.h5 defined with respect to the real-space directions of the simulation cell? If the cell is realigned, is there a specific transformation matrix I should look for in the vaspout.h5 or OUTCAR to map these results back to my real-space directions?

Looking forward to hearing from you. Thank you again!


Re: Anisotropic electrical conductivity using VASP or Phelel

Posted: Thu Feb 05, 2026 9:33 am
by manuel_engel1

Hi Saranya,

Is there a particular reason VASP outputs only the xx component in the OUTCAR? Was this mainly designed for isotropic materials, or is this standard even for anisotropic materials? I just wanted to make sure I am interpreting the data correctly.

You are interpreting everything correctly. There is no deeper meaning or reasoning behind the output in the OUTCAR file. It just appears this way because we only report the minimal amount. However, you raise a good point that in anisotropic materials, it might be confusing to only see a single value without any mentioning of the component it represents (xx). I will put this on my todo list and see if we can improve it for a future version.

Are the conductivity tensor components (σxx, σyy, σzz, etc.) in vaspout.h5 defined with respect to the real-space directions of the simulation cell?

These tensors are defined with respect to Cartesian coordinates, meaning they do not depend on the crystal lattice. To be precise, the coordinate system that is used to express the conductivity tensor is the same as the one used to write the crystal lattice vectors.

I hope that I was able to answer your questions.


Re: Anisotropic electrical conductivity using VASP or Phelel

Posted: Thu Feb 05, 2026 11:24 pm
by saranya_velliyarat

Hi Manuel,

Thank you very much for the clarification. That answers my questions and helps a lot with interpreting data. I also appreciate you considering improving the OUTCAR output for anisotropic systems in future versions.

Thanks again for your time and support!