Giter Club home page Giter Club logo

Comments (23)

fujiisoup avatar fujiisoup commented on August 10, 2024

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.

from fac.

mfgu avatar mfgu commented on August 10, 2024

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.

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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?

from fac.

mfgu avatar mfgu commented on August 10, 2024

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.

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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.

  • For the parity-changing transitions (E1, M2, E3), the line strength is almost reproduced (but not perfect)
  • For the parity-conserved transitions (M1, E2, M3), the reproduced line strengths are completely different from that by FAC.
    For example, if I calculate naively, the finite line-strength is computed for the diagonal (S_ff > 0).

I think something is omitted in equation (24).
I saw the source and this function

int AngularZMix(ANGULAR_ZMIX **ang, int lower, int upper, int mink, int maxk,

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.

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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...

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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

if (e0 > 0) k++;

and
if (a[i] <= 0 || a[i] < (transition_option.eps * trd)) continue;

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

@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...

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

Nice! Thank you so much!!

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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

from fac.

mfgu avatar mfgu commented on August 10, 2024

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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

from fac.

fujiisoup avatar fujiisoup commented on August 10, 2024

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?

from fac.

mfgu avatar mfgu commented on August 10, 2024

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

from fac.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.