Question about ndb.dipole data structure with open shell system
Posted: Sat Mar 23, 2024 9:43 pm
Dear Yambo developers,
I'm trying to get the transition dipole moment <i|[r,H]|j> from the the ndb.dipoles
I have a question regarding the each dimension of the data. Here i show the datashape of the dipole.
If i understand correctly (2, 1, 1242, 1760, 3, 2) are corresponded to (spin up/dn , k points, v, c, direction x y z, Real and Imaginary component)
My question is when computing the spin-polarized calculation we have different numbers of valence band v and conduction band c at two spin channel.
for example my system is a open shell system that have 1242 electrons at spin up channel and 1240 electrons at spin down channel.
It is unclear to me how to get, for example <v|p|c> = <band 1240|p|band 1241> at spin down channel with current data shape. because both v and c of this matrix element are defined as v in the data.
I'm trying to get the transition dipole moment <i|[r,H]|j> from the the ndb.dipoles
I have a question regarding the each dimension of the data. Here i show the datashape of the dipole.
Code: Select all
database = Dataset("./ndb.dipoles","r")
print(database.variables["DIP_P"])
Code: Select all
>> float32 DIP_P(D_0000000002, D_0000000001, D_0000001242, D_0000001760, D_0000000003, D_0000000002)
unlimited dimensions:
current shape = (2, 1, 1242, 1760, 3, 2)
filling on, default _FillValue of 9.969209968386869e+36 used
My question is when computing the spin-polarized calculation we have different numbers of valence band v and conduction band c at two spin channel.
for example my system is a open shell system that have 1242 electrons at spin up channel and 1240 electrons at spin down channel.
It is unclear to me how to get, for example <v|p|c> = <band 1240|p|band 1241> at spin down channel with current data shape. because both v and c of this matrix element are defined as v in the data.