QuantumATK > General Questions and Answers

Unit trouble dipole moments

(1/2) > >>

MariaWJ:
Using the script for calculating dipole moments seems to have an error in the unit. I follow the tutorial: https://docs.quantumatk.com/manual/Types/ElectronDensity/ElectronDensity.html . What is the correct unit for the dipole moment?

I think the problem is this line:
# Calculate the volume of the volume element.
dV = numpy.dot(dX, numpy.cross(dY,dZ)) * length_unit**3

When I print dV.unit() I get bohr**6, I assume that is a mistake.
So is the final dipole printed in the unit of e*bohr or is it maybe Debye? or am I misunderstanding something?

Please help me, I am very confused!

Anders Blom:
Yes, it's a mistake. At some point in the ancient past numpy.dot would strip off the unit so we had to reapply now, but now it gets multiplied in with the unit already applied.

Just skip the length_unit**3 and it works better! However, also see https://forum.quantumatk.com/index.php?topic=10790 about why you should use the ElectronDifferenceDensity, rather.

MariaWJ:
So the final unit should then be bohr*e, great. I am actually using electron difference density with a script adapted from your tutorial, but thanks for the heads up. I have a final curious question, would this dipole approach actually be applicable for periodic boundary conditions or is this purely molecular?
I am trying to calculate both polarization using the dipole for a monolayer with a bias. The bias I create with the metal plates but the dipole and  seem to respond rather drastically yielding too high values, so I just wondered if maybe I shouldn't do dipole with periodic boundaries?

Hope you have some insight

Anders Blom:
I think the way we evaluate the dipole from the electron density is basically limited to molecules. For monolayers with voltages applied etc, it's more relevant to consider the dielectric response, i.e. the field gradient in the material vs. the external electric field.

MariaWJ:
Thank you for the response, but should polarization then not be a good property to calculate for a monolayer? Or is that best for a bulk material? I have tried running it but again I get mysteriously large values, in fact almost the same as when I do the dipole over the volume. That makes me question, is the polarization actually calculated through the dipole as in the scripts?

Navigation

[0] Message Index

[#] Next page

Go to full version