# How to numerically calculate the transition dipole integral in periodic systems?

Now I have wave functions $$\psi_a$$ and $$\psi_b$$ of two states in Gaussian CUBE format. I'd like to evaluate the transition dipole moment integral $$\pmb\mu$$ between these two states. As my simulation cell is cubic periodic with length of $$L$$, I will need the Berry phase formula to calculate $$\pmb\mu$$: $$\pmb\mu= \rm{IMAG}\; \rm{LOG}\; \langle \psi_a|\exp(\it i\frac{2\pi}{\it L}\pmb r)|\psi_b\rangle\;$$ My implementation is as follows: $$n$$ is the number of grid points of CUBE file in each direction. $$b$$ is the step length. So the lattice constant $$L$$ is $$nb$$. $$\pmb r$$ is the coordinate. psi_a and psi_b are the volumetric data which are changed to 1D arrays. $$dd=\exp(i2\pi \pmb r/L)$$. However, the above implementation didn't give me correct numbers as I expected. So please can anyone help me point out the problems of the implementation?

• Would you mind properly formatting your question so we can understand it better? Is it $r$ a scalar or the position vector? It seems that you are using a midpoint integration rule, what happens when you increase the number of points? – nicoguaro Apr 3 '19 at 22:32
• r is the position vector. The result changes when the points are increased. However, using similar implementation for the integral <psi_a | r | psi_b> which is the length form of the transition dipole moment, the result is insensitive to the points. So do you think the wrong result is due to the inaccurate numerical integration? – Xiaoming Wang Apr 4 '19 at 3:13
• Don't you need the conjugate of psi_a in your sum? – Bort Apr 4 '19 at 9:49
• psi_a and psi_b are all real in my case. – Xiaoming Wang Apr 4 '19 at 13:42