flexible-atomic-code / fac

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

Overlap integration among basis functions #339

Open fujiisoup opened 5 years ago

fujiisoup commented 5 years ago

Hi, @mfgu Thanks for keeping developing and maintaining this good library.

I would like to compute the oscillator strength between two states that are specified by given mixing coefficients. These mixing coefficients may be different from those by FAC (but the basis functions should be the same).

I think if I have an overlap integral among all the basis functions, I may be able to compute it with the given mixing coefficients and simple algebraic operations.

Is it possible to implement such a function in FAC?

I looked inside the FAC code but it looks that it computes oscillator strength level by level, not basis by basis. Is there any reason not to compute the overlap integral first? I guess FAC computes the same overlap integrals for many times, but is this understanding correct?

fujiisoup commented 5 years ago

To be clear, what I want is this matrix image which may be a function (tensor) of initial and final basis indexes (mu and nu) as well as the multipole L.

mfgu commented 5 years ago

you can use SetCILevel(-1) to disable CI, then calculate the multipole matrix emements with the TRTable function. the levels directly correspond to basis functions in this case.

However, if you are using mixing coefficients from another code, it's unlikely that the basis functions in that code would be exactly the same as those used in FAC, as the radial wavefunctions most likely differ.

fujiisoup commented 5 years ago

Hi, @mfgu

Thanks for the reply.

you can use SetCILevel(-1) to disable CI, then calculate the multipole matrix emements with the TRTable function.

Yes, I thought this, but the sign of the element will be gone?

mfgu commented 5 years ago

the last column in the output is the matrix element with the sign when a specific multipole moment is specified in the TRTable function. e.g., TRTable(fn, lower, upper, -1) for E1.

fujiisoup commented 5 years ago

Ah, nice. It is what I exactly want. Thanks.

fujiisoup commented 4 years ago

Hi @mfgu

I am working on this, but still have some trouble.

I tried to reproduce the multipole moment (line strength) based on the following equation, image

I computed 1 Hamiltonian with configuration interaction 2 multipole moment without configuration interaction

From 1, I could compute b_fu and b_iv in the above equation; they are just eigenvectors of Hamiltonian.

From 2, in principle, I could calculate the rest of the part image

However, I couldn't reproduce the original multipole element.

I think something is omitted in equation (24). I saw the source and this function https://github.com/flexible-atomic-code/fac/blob/b8a11a21a1e6d001ddb017d8751dfc6f3e4d35f3/faclib/structure.c#L5863 looks computing the essential part, but I couldn't find the first summation (that against u and v in equation (24)) here.

I would be grateful if you could give me some advice.

mfgu commented 4 years ago

the sum over u and v indices are the loops starting at lines 6121 and 6131. in the code, the sum over u and v are done first, then the sum after alpha and beta. note that the radial moments M^L_{ab} is dependent on the transition energy in the relativistic formula, so it has an implicit dependence on CI. the way you do it would be using a different transition energy for different alpha/beta pairs for the same transition, so you can expect some difference in the final result. the line strength for the diagonal term is not necessarily zero, and that's fine. let me know an example if you see large differences.

On Mon, Dec 16, 2019 at 3:27 PM Keisuke Fujii notifications@github.com wrote:

Reopened #339 https://github.com/flexible-atomic-code/fac/issues/339.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4I6WXQTCG6UCHNWH3TQY6F3XA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOVQDUBGA#event-2886156440, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE6X4PJEGNXXL5PFOVV4TTQY6F3XANCNFSM4H67KCRQ .

fujiisoup commented 4 years ago

I used the following for testing

SetAtom('Ni')
Config('lev_3d9_4s1', '1s2 2s2 2p6 3s2 3p6 3d9 4s1')
Config('lev_3d9_4p1', '1s2 2s2 2p6 3s2 3p6 3d9 4p1')
ConfigEnergy(0)
OptimizeRadial('lev_3d9_4s1')
ConfigEnergy(1)
Structure('Ni_small.en', 'Ni_small.ham', ['lev_3d9_4s1', 'lev_3d9_4p1'])
BasisTable('Ni_small.basis')
MemENTable('Ni_small.en')
SetTransitionCut(1e-6)
TransitionTable('Ni_small.tr', ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], -3)
TransitionTable('Ni_small.tr', ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], -2)
TransitionTable('Ni_small.tr', ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], -1)
TransitionTable('Ni_small.tr', ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], 1)
TransitionTable('Ni_small.tr', ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], 2)
TransitionTable('Ni_small.tr', ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], 3)
FinalizeMPI()

and I got the following,

image

image

image

image

For parity-conserved transition, there is a huge difference, not only in the diagonal. This is neutral nickel. I am not sure how the relativistic effect is important for this case...

fujiisoup commented 4 years ago

Energy file looks like this

FAC 1.1.5
Endian  = 0
TSess   = 1576536733
Type    = 1
Verbose = 1
Ni Z    =  28.0
NBlocks = 1
E0  = 0, -4.13122011E+04

NELE    = 28
NLEV    = 16
  ILEV  IBASE    ENERGY       P   VNL   2J
     0     -1  0.00000000E+00 0   400    6 1*2.2*8.3*17.4*1                 3d9.4s1                                          3d+5(5)5.4s+1(1)6
     1     -1  1.11532151E-01 0   400    4 1*2.2*8.3*17.4*1                 3d9.4s1                                          3d+5(5)5.4s+1(1)4
     2     -1  2.18253137E-01 0   400    2 1*2.2*8.3*17.4*1                 3d9.4s1                                          3d-3(3)3.4s+1(1)2
     3     -1  6.87719716E-01 0   400    4 1*2.2*8.3*17.4*1                 3d9.4s1                                          3d-3(3)3.4s+1(1)4
     4     -1  2.99682911E+00 1   401    4 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d+5(5)5.4p-1(1)4
     5     -1  3.13381309E+00 1   401    2 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d+5(5)5.4p+1(3)2
     6     -1  3.17369793E+00 1   401    8 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d+5(5)5.4p+1(3)8
     7     -1  3.21177697E+00 1   401    0 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d-3(3)3.4p+1(3)0
     8     -1  3.21200115E+00 1   401    6 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d+5(5)5.4p-1(1)6
     9     -1  3.33965544E+00 1   401    4 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d-3(3)3.4p-1(1)4
    10     -1  3.43886347E+00 1   401    6 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d+5(5)5.4p+1(3)6
    11     -1  3.50782720E+00 1   401    4 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d+5(5)5.4p+1(3)4
    12     -1  3.53238109E+00 1   401    6 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d-3(3)3.4p+1(3)6
    13     -1  3.66456060E+00 1   401    2 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d-3(3)3.4p+1(3)2
    14     -1  3.67396000E+00 1   401    4 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d-3(3)3.4p+1(3)4
    15     -1  4.00078372E+00 1   401    2 1*2.2*8.3*17.4*1                 3d9.4p1                                          3d-3(3)3.4p-1(1)2
mfgu commented 4 years ago

the problem is that not all line strengths are output in the no CI calculation. e.g., the diagonal line strength are not calculated at all when the energy difference between the two levels is 0, even though the line strength itself may not be 0, and it does contribute to the sum when including CI. so the way you are doing is missing some terms in the sum. I am not sure why you need to calculate the transition rates this way. if you want to modify the Hamiltonian on top of what FAC generates, then it's easier to just modify that part of the code.

On Mon, Dec 16, 2019 at 11:53 PM Keisuke Fujii notifications@github.com wrote:

Energy file looks like this

FAC 1.1.5 Endian = 0 TSess = 1576536733 Type = 1 Verbose = 1 Ni Z = 28.0 NBlocks = 1 E0 = 0, -4.13122011E+04

NELE = 28 NLEV = 16 ILEV IBASE ENERGY P VNL 2J 0 -1 0.00000000E+00 0 400 6 12.28.317.41 3d9.4s1 3d+5(5)5.4s+1(1)6 1 -1 1.11532151E-01 0 400 4 12.28.317.41 3d9.4s1 3d+5(5)5.4s+1(1)4 2 -1 2.18253137E-01 0 400 2 12.28.317.41 3d9.4s1 3d-3(3)3.4s+1(1)2 3 -1 6.87719716E-01 0 400 4 12.28.317.41 3d9.4s1 3d-3(3)3.4s+1(1)4 4 -1 2.99682911E+00 1 401 4 12.28.317.41 3d9.4p1 3d+5(5)5.4p-1(1)4 5 -1 3.13381309E+00 1 401 2 12.28.317.41 3d9.4p1 3d+5(5)5.4p+1(3)2 6 -1 3.17369793E+00 1 401 8 12.28.317.41 3d9.4p1 3d+5(5)5.4p+1(3)8 7 -1 3.21177697E+00 1 401 0 12.28.317.41 3d9.4p1 3d-3(3)3.4p+1(3)0 8 -1 3.21200115E+00 1 401 6 12.28.317.41 3d9.4p1 3d+5(5)5.4p-1(1)6 9 -1 3.33965544E+00 1 401 4 12.28.317.41 3d9.4p1 3d-3(3)3.4p-1(1)4 10 -1 3.43886347E+00 1 401 6 12.28.317.41 3d9.4p1 3d+5(5)5.4p+1(3)6 11 -1 3.50782720E+00 1 401 4 12.28.317.41 3d9.4p1 3d+5(5)5.4p+1(3)4 12 -1 3.53238109E+00 1 401 6 12.28.317.41 3d9.4p1 3d-3(3)3.4p+1(3)6 13 -1 3.66456060E+00 1 401 2 12.28.317.41 3d9.4p1 3d-3(3)3.4p+1(3)2 14 -1 3.67396000E+00 1 401 4 12.28.317.41 3d9.4p1 3d-3(3)3.4p+1(3)4 15 -1 4.00078372E+00 1 401 2 12.28.317.41 3d9.4p1 3d-3(3)3.4p-1(1)2

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4L4UT4T25F2LK32OCTQZABGDA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHAM6GY#issuecomment-566284059, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE6X4LWRAAJME2RYCDGCL3QZABGDANCNFSM4H67KCRQ .

fujiisoup commented 4 years ago

Thanks. I am studying some statistics of the hamiltonian, eigenvector and line strength and therefore I need these matrices rather than the results...

I modified fac source code and enabled the line strength among the levels with the same energy. However, the discrepancy increased and I have no idea...

image image image image

Do you have any comments?

I changed https://github.com/flexible-atomic-code/fac/blob/aa1bd3ad7776cb429e12c4ccd29ff566cd20f6fb/faclib/transition.c#L523 and https://github.com/flexible-atomic-code/fac/blob/aa1bd3ad7776cb429e12c4ccd29ff566cd20f6fb/faclib/transition.c#L734

mfgu commented 4 years ago

please use the new version with more options to handle this. use a script like below.

python dni.py 0 produces all no-CI line strengths between basis states.

python dni.py 1 with usual CI mode.

On Tue, Dec 17, 2019 at 4:15 PM Keisuke Fujii notifications@github.com wrote:

Thanks. I am studying some statistics of the hamiltonian, eigenvector and line strength and therefore I need these matrices rather than the results...

I modified fac source code and enabled the line strength among the levels with the same energy. However, the discrepancy increased and I have no idea...

[image: image] https://user-images.githubusercontent.com/6815844/71007500-74320680-212a-11ea-90f3-2eb56c4235e9.png [image: image] https://user-images.githubusercontent.com/6815844/71007503-772cf700-212a-11ea-8467-e1a5ba76c85d.png [image: image] https://user-images.githubusercontent.com/6815844/71007518-7ac07e00-212a-11ea-9f4f-7c4bf407a919.png [image: image] https://user-images.githubusercontent.com/6815844/71007534-7e540500-212a-11ea-842f-e092a0481d3f.png

Do you have any comments?

I changed

https://github.com/flexible-atomic-code/fac/blob/aa1bd3ad7776cb429e12c4ccd29ff566cd20f6fb/faclib/transition.c#L523 and

https://github.com/flexible-atomic-code/fac/blob/aa1bd3ad7776cb429e12c4ccd29ff566cd20f6fb/faclib/transition.c#L734

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4OBC5KOODEKPLHSHWDQZDUILA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHCWN7I#issuecomment-566585085, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE6X4KOASHCT2JN46EP5CLQZDUILANCNFSM4H67KCRQ .

fujiisoup commented 4 years ago

@mfgu Thank you for your help!

Do you have any idea about dni.py? I will try to make it, but it would be nice if I could hear your advice...

mfgu commented 4 years ago

i forgot to attach the file.

On Mon, Dec 23, 2019 at 12:37 AM Keisuke Fujii notifications@github.com wrote:

@mfgu https://github.com/mfgu Thank you for your help!

Do you have any idea about dni.py? I will try to make it, but it would be nice if I could hear your advice...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4KGS5WUDXMC4MRWWHLQZ722XA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHP4ICI#issuecomment-568312841, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE6X4IUG3BDVT5JD4YXSQ3QZ722XANCNFSM4H67KCRQ .

fujiisoup commented 4 years ago

Did you attach the file to the e-mail? I think it is dropped by Github automatically... Can you upload the file in github?

On Mon, Dec 23, 2019 at 5:40 PM Ming Feng Gu notifications@github.com wrote:

i forgot to attach the file.

On Mon, Dec 23, 2019 at 12:37 AM Keisuke Fujii notifications@github.com wrote:

@mfgu https://github.com/mfgu Thank you for your help!

Do you have any idea about dni.py? I will try to make it, but it would be nice if I could hear your advice...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4KGS5WUDXMC4MRWWHLQZ722XA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHP4ICI#issuecomment-568312841 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/ADE6X4IUG3BDVT5JD4YXSQ3QZ722XANCNFSM4H67KCRQ

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ABUAAZG752IPG5TRESCKT4DQ2B2PPA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHQSPWA#issuecomment-568403928, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABUAAZBKDXBJ76VETDXXXWLQ2B2PPANCNFSM4H67KCRQ .

--

-- Keisuke Fujii Department of Mechanical Engineering and Science, Graduate School of Engineering, Kyoto University, Kyoto 615-8540, Japan

藤井恵介 京都大学工学研究科 機械理工学専攻 075-383-3647 (tel, fax) 090-1224-8075 (mobile)

mfgu commented 4 years ago

Copy and paste the code below

from pfac.fac import * import sys

ci = int(sys.argv[1])

SetAtom('Ni') Config('lev_3d9_4s1', '1s2 2s2 2p6 3s2 3p6 3d9 4s1') Config('lev_3d9_4p1', '1s2 2s2 2p6 3s2 3p6 3d9 4p1') ConfigEnergy(0) OptimizeRadial('lev_3d94s1') ConfigEnergy(1) if not ci: SetCILevel(-1) sc='nci' else: sc='wci' Structure('Ni%s.en'%sc, 'Ni_%s.ham'%sc, ['lev_3d9_4s1', 'lev_3d94p1']) BasisTable('Ni%s.basis'%sc) MemENTable('Ni_%s.en'%sc) SetTransitionCut(1e-6) if not ci: SetOption('transition:aw', 0) SetOption('transition:lsall', 1) TransitionTable('Ni%s.tr'%sc, ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], 1)

PrintTable('Ni%s.en'%sc, 'Ni%sa.en'%sc) PrintTable('Ni%s.tr'%sc, 'Ni%sa.tr'%sc)

On Dec 23, 2019, at 2:25 PM, Keisuke Fujii notifications@github.com wrote:

Did you attach the file to the e-mail? I think it is dropped by Github automatically... Can you upload the file in github?

On Mon, Dec 23, 2019 at 5:40 PM Ming Feng Gu notifications@github.com wrote:

i forgot to attach the file.

On Mon, Dec 23, 2019 at 12:37 AM Keisuke Fujii notifications@github.com wrote:

@mfgu https://github.com/mfgu Thank you for your help!

Do you have any idea about dni.py? I will try to make it, but it would be nice if I could hear your advice...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4KGS5WUDXMC4MRWWHLQZ722XA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHP4ICI#issuecomment-568312841 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/ADE6X4IUG3BDVT5JD4YXSQ3QZ722XANCNFSM4H67KCRQ

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ABUAAZG752IPG5TRESCKT4DQ2B2PPA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHQSPWA#issuecomment-568403928, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABUAAZBKDXBJ76VETDXXXWLQ2B2PPANCNFSM4H67KCRQ .

--

-- Keisuke Fujii Department of Mechanical Engineering and Science, Graduate School of Engineering, Kyoto University, Kyoto 615-8540, Japan

藤井恵介 京都大学工学研究科 機械理工学専攻 075-383-3647 (tel, fax) 090-1224-8075 (mobile) — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

mfgu commented 4 years ago

 Copy and paste the code below

from pfac.fac import * import sys

ci = int(sys.argv[1])

SetAtom('Ni') Config('lev_3d9_4s1', '1s2 2s2 2p6 3s2 3p6 3d9 4s1') Config('lev_3d9_4p1', '1s2 2s2 2p6 3s2 3p6 3d9 4p1') ConfigEnergy(0) OptimizeRadial('lev_3d94s1') ConfigEnergy(1) if not ci: SetCILevel(-1) sc='nci' else: sc='wci' Structure('Ni%s.en'%sc, 'Ni_%s.ham'%sc, ['lev_3d9_4s1', 'lev_3d94p1']) BasisTable('Ni%s.basis'%sc) MemENTable('Ni_%s.en'%sc) SetTransitionCut(1e-6) if not ci: SetOption('transition:aw', 0) SetOption('transition:lsall', 1) TransitionTable('Ni%s.tr'%sc, ['lev_3d9_4s1', 'lev_3d9_4p1'], ['lev_3d9_4s1', 'lev_3d9_4p1'], 1)

PrintTable('Ni%s.en'%sc, 'Ni%sa.en'%sc) PrintTable('Ni%s.tr'%sc, 'Ni%sa.tr'%sc)

On Dec 23, 2019, at 2:25 PM, Keisuke Fujii notifications@github.com wrote: Did you attach the file to the e-mail? I think it is dropped by Github automatically... Can you upload the file in github?

On Mon, Dec 23, 2019 at 5:40 PM Ming Feng Gu notifications@github.com wrote:

i forgot to attach the file.

On Mon, Dec 23, 2019 at 12:37 AM Keisuke Fujii notifications@github.com wrote:

@mfgu https://github.com/mfgu Thank you for your help!

Do you have any idea about dni.py? I will try to make it, but it would be nice if I could hear your advice...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub < https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4KGS5WUDXMC4MRWWHLQZ722XA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHP4ICI#issuecomment-568312841 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/ADE6X4IUG3BDVT5JD4YXSQ3QZ722XANCNFSM4H67KCRQ

.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ABUAAZG752IPG5TRESCKT4DQ2B2PPA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHQSPWA#issuecomment-568403928, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABUAAZBKDXBJ76VETDXXXWLQ2B2PPANCNFSM4H67KCRQ .

--

-- Keisuke Fujii Department of Mechanical Engineering and Science, Graduate School of Engineering, Kyoto University, Kyoto 615-8540, Japan

藤井恵介 京都大学工学研究科 機械理工学専攻 075-383-3647 (tel, fax) 090-1224-8075 (mobile) — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

fujiisoup commented 4 years ago

Nice! Thank you so much!!

fujiisoup commented 4 years ago

I think this option does not reproduce the transition rate or even worsen the result. Probably something is missing...

For me, it is ok as E1 transitions are dominant and they are reproduced relatively well from the computation without the options. But I am a little wondering if it is an indication of some bugs inside...

With the output with the options

SetOption('transition:aw', 0)
SetOption('transition:ls_all', 1)

image image image image

Without the options

# SetOption('transition:aw', 0)
# SetOption('transition:ls_all', 1)

image image image image

mfgu commented 4 years ago

I could reproduce the line strength very well. below is the code I use to combine the no-CI line strength. call it: mtr(upper, lower)

from pylab import *

def mtr(i1, i0): r1 = loadtxt('Ni_wci.basis', unpack=1, skiprows=34) w0 = where(r1[0] == i0) w1 = where(r1[0] == i1) s0 = argsort(r1[5][w0]) s1 = argsort(r1[5][w1]) m0 = r1[9][w0][s0] m1 = r1[9][w1][s1] r0 = loadtxt('Ni_nci.basis', unpack=1, skiprows=34) w0 = where(r0[1] == r1[1][w0[0][0]]) w1 = where(r0[1] == r1[1][w1[0][0]]) s0 = argsort(r0[5][w0]) s1 = argsort(r0[5][w1]) j0 = int64(r0[0][w0][s0]) j1 = int64(r0[0][w1][s1]) t = loadtxt('Ni_ncia.tr', unpack=1, skiprows=13) n = 1+int(max(t[0])) a = zeros((n,n)) a[int64(t[0]),int64(t[2])] = t[7] n0 = len(j0) n1 = len(j1) r = 0.0 for i in range(n0): r += sum(m0[i]a[:,j0[i]][j1]m1) return r

On Tue, Dec 24, 2019 at 4:20 AM Keisuke Fujii notifications@github.com wrote:

I think this option does not reproduce the transition rate or even worsen the result. Probably something is missing...

For me, it is ok as E1 transitions are dominant and they are reproduced relatively well from the computation without the options. But I am a little wondering if it is an indication of some bugs inside... With the output with the options

SetOption('transition:aw', 0) SetOption('transition:ls_all', 1)

[image: image] https://user-images.githubusercontent.com/6815844/71391324-082e3180-2647-11ea-87ea-157a07a70a66.png [image: image] https://user-images.githubusercontent.com/6815844/71391327-0b292200-2647-11ea-9ff5-26e88bf573cc.png [image: image] https://user-images.githubusercontent.com/6815844/71391330-0d8b7c00-2647-11ea-91aa-51bec17a004a.png [image: image] https://user-images.githubusercontent.com/6815844/71391332-10866c80-2647-11ea-844c-c3c3bb33789f.png Without the options

SetOption('transition:aw', 0)

SetOption('transition:ls_all', 1)

[image: image] https://user-images.githubusercontent.com/6815844/71391341-15e3b700-2647-11ea-9ac4-2a0e2f276e7a.png [image: image] https://user-images.githubusercontent.com/6815844/71391343-18461100-2647-11ea-9f96-a3840604899a.png [image: image] https://user-images.githubusercontent.com/6815844/71391344-1bd99800-2647-11ea-9fd4-39c9638614bb.png [image: image] https://user-images.githubusercontent.com/6815844/71391348-2005b580-2647-11ea-8f1d-af8227219214.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flexible-atomic-code/fac/issues/339?email_source=notifications&email_token=ADE6X4IM3LOVMZ57KGCBYRTQ2F5YRA5CNFSM4H67KCR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHSL6II#issuecomment-568639265, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE6X4JX2SSAJSRIC3LNLHLQ2F5YRANCNFSM4H67KCRQ .

fujiisoup commented 4 years ago

Ah, you are right. Something should be wrong in MY script. Thank you for taking time. I'll try to fix.

fujiisoup commented 4 years ago

I found the reason. With options

SetOption('transition:aw', 0)
SetOption('transition:ls_all', 1)

the transition matrix is not symmetric.

With the options

image

Without the options

image

I assumed it is symmetric in my script. Probably the upper diagonal is only correct?

mfgu commented 4 years ago

the line strength matrix is only symmetric up to a phase factor. depending on the angular momenta, S_ij=S_ji or S_ij=-S_ji