8
$\begingroup$

I am trying to find the d-band center of pdos data generated using quantum espresso 6.8. I'm aware that this maybe calculated by the formula:

$$ \frac{\int_{-\infty}^\infty E \cdot \textrm{pdos}(E)dE}{\int_{-\infty}^\infty \textrm{pdos}(E)dE} \tag{1}$$

I tried XMgrace as suggested here but was not able to do it. Is there a way to use this formula using MatLab, or any other software to integrate the pdos curve (maybe a piece of code)? Any help would be appreciated :)

$\endgroup$
4
  • 2
    $\begingroup$ if you have E and pdos(E) data, you can use trapz function in matlab to integrate numerator and denominator of equation. mathworks.com/help/matlab/ref/trapz.html $\endgroup$ Commented Feb 5, 2022 at 15:26
  • $\begingroup$ That worked. Thank you @pranavkumar $\endgroup$ Commented Feb 6, 2022 at 3:05
  • $\begingroup$ @pranavkumar Can you turn that into an answer? $\endgroup$ Commented Mar 2, 2022 at 19:17
  • $\begingroup$ @pranavkumar Nike has a good point. If you can provide even a little more detail about this process, an answer is much more visible for future users (and much less likely to disappear than a comment). $\endgroup$ Commented Mar 2, 2022 at 20:07

1 Answer 1

2
$\begingroup$

Numerical integration for evenly-spaced data can be performed using trapz function in MATLAB. Here infinite integration can assumed to integrate between extrema of data.

d_center=trapz(E,P)/trapz(E) 

Trapezoidal rule of integration

$\int_{a}^{b}f(x)dx=\frac{b-a}{2N}( f(x_{1})+2f(x_{2})...+2f(x_{n})+f(x_{n+1}))$

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.