flexible-atomic-code / fac

FAC - Flexible Atomic Code by Ming Feng Gu
GNU General Public License v3.0
74 stars 56 forks source link

Polarization calculations leaves most states unpopulated #280

Closed hbekker closed 5 years ago

hbekker commented 5 years ago

The files necessary to reproduce the issue can be found at: https://mcloud.mpi-hd.mpg.de/index.php/s/BYgbNNrxPskriCt

Thanks to the previous bug fix, I was able to get a CE file for the magnetic sublevels that I'm interested in. I load this using the pfac.pol functions and try to run the population iteration, no errors are given. However, in the populations file, most excitations above 15 eV appear to remain unpopulated. I've tried several different combinations of settings for e-density and SetMIteration, but nothing seems to help.

It seems that some highly excited states are actually populated, like ILEV 258 and 262, which belong to the same configuration. Is the a buffer overflow due to strange configurations or high J's again? As before, help is greatly appreciated!

mfgu commented 5 years ago

those with 0 populations are the levels that you don't have a radiative decay rates calculated.

for polarization calculation, you need to calculate the radiative transition rates with specific multipoles. the 4th arg of the TRTable or TransitionTable needs to be defined. if left missing, the decay rates of different multipoles are summed up. but magnetic sublevel transitions needs to have individual multipoles to split.

hbekker commented 5 years ago

Thanks for your answer, unfortunately it didn't resolve the issue I'm having. I ran TRTable with m up to +-7, results are at: https://mcloud.mpi-hd.mpg.de/index.php/s/fBEXk2RtjR7pWc4

Still, most states remain unpopulated. Am I overlooking something? Furthermore, could you comment on the command line output from the pol.py script? It reads

0 0.0000E+00 1.00000000E+00 0.00000000E+00 2.8768E-01

Does this tell me something about the achieved accuracy of the iteration proces?

mfgu commented 5 years ago

found and fixed the issue in the latest update. you only need to rerun pol.py script.

hbekker commented 5 years ago

Thanks, works as expected now :-)