Differences
This shows you the differences between two versions of the page.
| documentation:tutorials:nio_ligand_field:xas_l23_partial_excitations [2016/10/09 15:49] – created Maurits W. Haverkort | documentation:tutorials:nio_ligand_field:xas_l23_partial_excitations [2016/10/10 09:41] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{indexmenu_n> | ||
| + | ====== XAS $L_{2,3}$ partial excitations ====== | ||
| + | ### | ||
| + | In order to understand where a particular peak originates from one can look at the character of the excited state. Quanty works with Green' | ||
| + | ### | ||
| + | |||
| + | ### | ||
| + | The input file is: | ||
| + | <code Quanty XAS_partial.Quanty> | ||
| + | -- In order to understand the different peaks in an absorption experiment one can look | ||
| + | -- at the character of the states one excites into. | ||
| + | |||
| + | -- here we calculate the 2p to 3d x-ray absorption of NiO within the Ligand-field theory | ||
| + | -- approximation. The script is basically a copy of tutorial 41. The difference is in how | ||
| + | -- we define the transition operator. | ||
| + | |||
| + | -- we calculate the spectra separated to t2g and eg excitations, | ||
| + | -- excitations and to excitations into d9 L^10 or d10L9 states. | ||
| + | |||
| + | -- from the previous example we know that within NiO there are 3 states close to each other | ||
| + | -- and then there is an energy gap of about 1 eV. We thus only need to consider the 3 | ||
| + | -- lowest states (Npsi=3 later on) | ||
| + | |||
| + | NF=26 | ||
| + | NB=0 | ||
| + | IndexDn_2p={ 0, 2, 4} | ||
| + | IndexUp_2p={ 1, 3, 5} | ||
| + | IndexDn_3d={ 6, 8,10,12,14} | ||
| + | IndexUp_3d={ 7, 9,11,13,15} | ||
| + | IndexDn_Ld={16, | ||
| + | IndexUp_Ld={17, | ||
| + | |||
| + | -- angular momentum operators on the d-shell | ||
| + | |||
| + | OppSx_3d | ||
| + | OppSy_3d | ||
| + | OppSz_3d | ||
| + | OppSsqr_3d =NewOperator(" | ||
| + | OppSplus_3d=NewOperator(" | ||
| + | OppSmin_3d =NewOperator(" | ||
| + | |||
| + | OppLx_3d | ||
| + | OppLy_3d | ||
| + | OppLz_3d | ||
| + | OppLsqr_3d =NewOperator(" | ||
| + | OppLplus_3d=NewOperator(" | ||
| + | OppLmin_3d =NewOperator(" | ||
| + | |||
| + | OppJx_3d | ||
| + | OppJy_3d | ||
| + | OppJz_3d | ||
| + | OppJsqr_3d =NewOperator(" | ||
| + | OppJplus_3d=NewOperator(" | ||
| + | OppJmin_3d =NewOperator(" | ||
| + | |||
| + | Oppldots_3d=NewOperator(" | ||
| + | |||
| + | -- Angular momentum operators on the Ligand shell | ||
| + | |||
| + | OppSx_Ld | ||
| + | OppSy_Ld | ||
| + | OppSz_Ld | ||
| + | OppSsqr_Ld =NewOperator(" | ||
| + | OppSplus_Ld=NewOperator(" | ||
| + | OppSmin_Ld =NewOperator(" | ||
| + | |||
| + | OppLx_Ld | ||
| + | OppLy_Ld | ||
| + | OppLz_Ld | ||
| + | OppLsqr_Ld =NewOperator(" | ||
| + | OppLplus_Ld=NewOperator(" | ||
| + | OppLmin_Ld =NewOperator(" | ||
| + | |||
| + | OppJx_Ld | ||
| + | OppJy_Ld | ||
| + | OppJz_Ld | ||
| + | OppJsqr_Ld =NewOperator(" | ||
| + | OppJplus_Ld=NewOperator(" | ||
| + | OppJmin_Ld =NewOperator(" | ||
| + | |||
| + | -- total angular momentum | ||
| + | OppSx = OppSx_3d + OppSx_Ld | ||
| + | OppSy = OppSy_3d + OppSy_Ld | ||
| + | OppSz = OppSz_3d + OppSz_Ld | ||
| + | OppSsqr = OppSx * OppSx + OppSy * OppSy + OppSz * OppSz | ||
| + | OppLx = OppLx_3d + OppLx_Ld | ||
| + | OppLy = OppLy_3d + OppLy_Ld | ||
| + | OppLz = OppLz_3d + OppLz_Ld | ||
| + | OppLsqr = OppLx * OppLx + OppLy * OppLy + OppLz * OppLz | ||
| + | OppJx = OppJx_3d + OppJx_Ld | ||
| + | OppJy = OppJy_3d + OppJy_Ld | ||
| + | OppJz = OppJz_3d + OppJz_Ld | ||
| + | OppJsqr = OppJx * OppJx + OppJy * OppJy + OppJz * OppJz | ||
| + | |||
| + | -- define the coulomb operator | ||
| + | -- we here define the part depending on F0 seperately from the part depending on F2 | ||
| + | -- when summing we can put in the numerical values of the slater integrals | ||
| + | |||
| + | OppF0_3d =NewOperator(" | ||
| + | OppF2_3d =NewOperator(" | ||
| + | OppF4_3d =NewOperator(" | ||
| + | |||
| + | -- define onsite energies - crystal field | ||
| + | -- Akm = {{k1, | ||
| + | |||
| + | Akm = PotentialExpandedOnClm(" | ||
| + | OpptenDq_3d = NewOperator(" | ||
| + | OpptenDq_Ld = NewOperator(" | ||
| + | |||
| + | Akm = PotentialExpandedOnClm(" | ||
| + | OppNeg_3d = NewOperator(" | ||
| + | OppNeg_Ld = NewOperator(" | ||
| + | Akm = PotentialExpandedOnClm(" | ||
| + | OppNt2g_3d = NewOperator(" | ||
| + | OppNt2g_Ld = NewOperator(" | ||
| + | |||
| + | OppNUp_2p = NewOperator(" | ||
| + | OppNDn_2p = NewOperator(" | ||
| + | OppN_2p = OppNUp_2p + OppNDn_2p | ||
| + | OppNUp_3d = NewOperator(" | ||
| + | OppNDn_3d = NewOperator(" | ||
| + | OppN_3d = OppNUp_3d + OppNDn_3d | ||
| + | OppNUp_Ld = NewOperator(" | ||
| + | OppNDn_Ld = NewOperator(" | ||
| + | OppN_Ld = OppNUp_Ld + OppNDn_Ld | ||
| + | |||
| + | -- define L-d interaction | ||
| + | |||
| + | Akm = PotentialExpandedOnClm(" | ||
| + | OppVeg | ||
| + | Akm = PotentialExpandedOnClm(" | ||
| + | OppVt2g = NewOperator(" | ||
| + | |||
| + | -- core valence interaction | ||
| + | |||
| + | Oppcldots= NewOperator(" | ||
| + | OppUpdF0 = NewOperator(" | ||
| + | OppUpdF2 = NewOperator(" | ||
| + | OppUpdG1 = NewOperator(" | ||
| + | OppUpdG3 = NewOperator(" | ||
| + | |||
| + | -- dipole transition | ||
| + | |||
| + | t=math.sqrt(1/ | ||
| + | |||
| + | Akm = {{1, | ||
| + | TXASx = NewOperator(" | ||
| + | Akm = {{1, | ||
| + | TXASy = NewOperator(" | ||
| + | Akm = {{1,0,1}} | ||
| + | TXASz = NewOperator(" | ||
| + | |||
| + | -- we now define rotation matrices that rotate the basis of (l lz s sz) to a basis of | ||
| + | -- (k tau s sz) for the d-shell or (j jz) for the p-shell. The function rotate calculates | ||
| + | -- R^* Opp R^T and the rotation matrix is thus equal to the eigen-functions of the | ||
| + | -- crystal-field operator and the spin-orbit coupling operator respectively. | ||
| + | |||
| + | -- the total matrix is a 16 by 16 matrix | ||
| + | |||
| + | t=sqrt(1/2) | ||
| + | u=I*sqrt(1/ | ||
| + | d=sqrt(1/3) | ||
| + | e=sqrt(2/3) | ||
| + | |||
| + | -- rotating the 2p states to a (j jz) basis | ||
| + | |||
| + | rotmatjjzp = {{ 0,-e, d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0,-d, e, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, d, e, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, e, d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}} | ||
| + | | ||
| + | -- rotating the 3d states to a (k tau s sz) basis | ||
| + | | ||
| + | rotmatKd | ||
| + | { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, u, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, u, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0,-t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0,-t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0,-u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0,-u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}} | ||
| + | | ||
| + | -- We can modify the rotation of the 2p orbitals such that we only | ||
| + | -- keep the j=1/2 sub-shell | ||
| + | |||
| + | rotmatjjzp12 = {{ 0,-e, d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0,-d, e, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}} | ||
| + | | ||
| + | -- or modify it such that we only keep the j=3/2 sub-shell | ||
| + | | ||
| + | rotmatjjzp32 = {{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, d, e, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, e, d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}} | ||
| + | | ||
| + | -- We can modify the rotation of the 3d orbitals such that we only keep | ||
| + | -- the orbitals belonging to the eg irreducible representation. | ||
| + | | ||
| + | rotmatKdeg | ||
| + | { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}} | ||
| + | | ||
| + | -- or such that we only keep the orbitals belonging to the t2g irreducible representation | ||
| + | | ||
| + | rotmatKdt2g | ||
| + | { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, u, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, u, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0,-t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, t, 0, 0, 0,-t, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0,-u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, u, 0, 0, 0, 0, 0, 0, 0,-u, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | ||
| + | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}} | ||
| + | | ||
| + | -- The transition operator restricted to a subset of orbitals is then given as: | ||
| + | -- Tnew = R2^* . R1^* . Told . R1^T . R2^T | ||
| + | -- with R1 the restricted rotation matrix | ||
| + | -- and R2 the full rotation matrix conjugate transposed (R^+) | ||
| + | |||
| + | TXASxj12 = Chop(Rotate(Chop(Rotate(TXASx, | ||
| + | TXASyj12 = Chop(Rotate(Chop(Rotate(TXASy, | ||
| + | TXASzj12 = Chop(Rotate(Chop(Rotate(TXASz, | ||
| + | TXASxj32 = Chop(Rotate(Chop(Rotate(TXASx, | ||
| + | TXASyj32 = Chop(Rotate(Chop(Rotate(TXASy, | ||
| + | TXASzj32 = Chop(Rotate(Chop(Rotate(TXASz, | ||
| + | TXASxeg | ||
| + | TXASyeg | ||
| + | TXASzeg | ||
| + | TXASxt2g = Chop(Rotate(Chop(Rotate(TXASx, | ||
| + | TXASyt2g = Chop(Rotate(Chop(Rotate(TXASy, | ||
| + | TXASzt2g = Chop(Rotate(Chop(Rotate(TXASz, | ||
| + | |||
| + | -- The previous definitions allow us to calculate excitations into t2g, eg orbitals from | ||
| + | -- either j=1/2 or j=3/2 orbitals. In order to restrict the operator to specific configurations | ||
| + | -- we set the restrictions on the transition operator | ||
| + | |||
| + | TXASd8x = Clone(TXASx) | ||
| + | TXASd9x = Clone(TXASx) | ||
| + | TXASd8y = Clone(TXASy) | ||
| + | TXASd9y = Clone(TXASy) | ||
| + | TXASd8z = Clone(TXASz) | ||
| + | TXASd9z = Clone(TXASz) | ||
| + | TXASd8x.Restrictions={NF, | ||
| + | TXASd9x.Restrictions={NF, | ||
| + | TXASd8y.Restrictions={NF, | ||
| + | TXASd9y.Restrictions={NF, | ||
| + | TXASd8z.Restrictions={NF, | ||
| + | TXASd9z.Restrictions={NF, | ||
| + | |||
| + | |||
| + | -- We follow the energy definitions as introduced in the group of G.A. Sawatzky (Groningen) | ||
| + | -- J. Zaanen, G.A. Sawatzky, and J.W. Allen PRL 55, 418 (1985) | ||
| + | -- for parameters of specific materials see | ||
| + | -- A.E. Bockquet et al. PRB 55, 1161 (1996) | ||
| + | -- After some initial discussion the energies U and Delta refer to the center of a configuration | ||
| + | -- The L^10 d^n | ||
| + | -- The L^9 d^n+1 configuration has an energy Delta | ||
| + | -- The L^8 d^n+2 configuration has an energy 2*Delta+Udd | ||
| + | -- | ||
| + | -- If we relate this to the onsite energy of the L and d orbitals we find | ||
| + | -- 10 eL + n ed + n(n-1) | ||
| + | -- 9 eL + (n+1) ed + (n+1)n | ||
| + | -- 8 eL + (n+2) ed + (n+1)(n+2) U/2 == 2*Delta+U | ||
| + | -- 3 equations with 2 unknowns, but with interdependence yield: | ||
| + | -- ed = (10*Delta-nd*(19+nd)*U/ | ||
| + | -- eL = nd*((1+nd)*Udd/ | ||
| + | -- | ||
| + | -- For the final state we/they defined | ||
| + | -- The 2p^5 L^10 d^n+1 configuration has an energy 0 | ||
| + | -- The 2p^5 L^9 d^n+2 configuration has an energy Delta + Udd - Upd | ||
| + | -- The 2p^5 L^8 d^n+3 configuration has an energy 2*Delta + 3*Udd - 2*Upd | ||
| + | -- | ||
| + | -- If we relate this to the onsite energy of the p and d orbitals we find | ||
| + | -- 6 ep + 10 eL + n ed + n(n-1) | ||
| + | -- 6 ep + 9 eL + (n+1) ed + (n+1)n | ||
| + | -- 6 ep + 8 eL + (n+2) ed + (n+1)(n+2) Udd/2 + 6 (n+2) Upd == 2*Delta+Udd | ||
| + | -- 5 ep + 10 eL + (n+1) ed + (n+1)(n) | ||
| + | -- 5 ep + 9 eL + (n+2) ed + (n+2)(n+1) Udd/2 + 5 (n+2) Upd == Delta+Udd-Upd | ||
| + | -- 5 ep + 8 eL + (n+3) ed + (n+3)(n+2) Udd/2 + 5 (n+3) Upd == 2*Delta+3*Udd-2*Upd | ||
| + | -- 6 equations with 3 unknowns, but with interdependence yield: | ||
| + | -- epfinal = (10*Delta + (1+nd)*(nd*Udd/ | ||
| + | -- edfinal = (10*Delta - nd*(31+nd)*Udd/ | ||
| + | -- eLfinal = ((1+nd)*(nd*Udd/ | ||
| + | -- | ||
| + | -- | ||
| + | -- | ||
| + | -- note that ed-ep = Delta - nd * U and not Delta | ||
| + | -- note furthermore that ep and ed here are defined for the onsite energy if the system had | ||
| + | -- locally nd electrons in the d-shell. In DFT or Hartree Fock the d occupation is in the end not | ||
| + | -- nd and thus the onsite energy of the Kohn-Sham orbitals is not equal to ep and ed in model | ||
| + | -- calculations. | ||
| + | -- | ||
| + | -- note furthermore that ep and eL actually should be different for most systems. We happily ignore this fact | ||
| + | -- | ||
| + | -- We normally take U and Delta as experimentally determined parameters | ||
| + | |||
| + | -- number of electrons (formal valence) | ||
| + | nd = 8 | ||
| + | -- parameters from experiment (core level PES) | ||
| + | Udd | ||
| + | Upd | ||
| + | Delta | ||
| + | -- parameters obtained from DFT (PRB 85, 165113 (2012)) | ||
| + | F2dd = 11.14 | ||
| + | F4dd = 6.87 | ||
| + | F2pd = 6.67 | ||
| + | G1pd = 4.92 | ||
| + | G3pd = 2.80 | ||
| + | tenDq | ||
| + | tenDqL | ||
| + | Veg | ||
| + | Vt2g = 1.21 | ||
| + | zeta_3d = 0.081 | ||
| + | zeta_2p = 11.51 | ||
| + | Bz = 0.000001 | ||
| + | Hz = 0.120 | ||
| + | |||
| + | ed = (10*Delta-nd*(19+nd)*Udd/ | ||
| + | eL = nd*((1+nd)*Udd/ | ||
| + | |||
| + | epfinal = (10*Delta + (1+nd)*(nd*Udd/ | ||
| + | edfinal = (10*Delta - nd*(31+nd)*Udd/ | ||
| + | eLfinal = ((1+nd)*(nd*Udd/ | ||
| + | |||
| + | F0dd = Udd + (F2dd+F4dd) * 2/63 | ||
| + | F0pd = Upd + (1/15)*G1pd + (3/70)*G3pd | ||
| + | |||
| + | Hamiltonian = F0dd*OppF0_3d + F2dd*OppF2_3d + F4dd*OppF4_3d + zeta_3d*Oppldots_3d + Bz*(2*OppSz_3d + OppLz_3d) + Hz * OppSz_3d + tenDq*OpptenDq_3d + tenDqL*OpptenDq_Ld + Veg * OppVeg + Vt2g * OppVt2g + ed * OppN_3d + eL * OppN_Ld | ||
| + | | ||
| + | XASHamiltonian = F0dd*OppF0_3d + F2dd*OppF2_3d + F4dd*OppF4_3d + zeta_3d*Oppldots_3d + Bz*(2*OppSz_3d + OppLz_3d)+ Hz * OppSz_3d + tenDq*OpptenDq_3d + tenDqL*OpptenDq_Ld + Veg * OppVeg + Vt2g * OppVt2g + edfinal * OppN_3d + eLfinal * OppN_Ld + epfinal * OppN_2p + zeta_2p * Oppcldots + F0pd * OppUpdF0 + F2pd * OppUpdF2 + G1pd * OppUpdG1 + G3pd * OppUpdG3 | ||
| + | |||
| + | -- we now can create the lowest Npsi eigenstates: | ||
| + | Npsi=3 | ||
| + | -- in order to make sure we have a filling of 8 electrons we need to define some restrictions | ||
| + | StartRestrictions = {NF, NB, {" | ||
| + | |||
| + | psiList = Eigensystem(Hamiltonian, | ||
| + | oppList={Hamiltonian, | ||
| + | |||
| + | -- print of some expectation values | ||
| + | |||
| + | print(" | ||
| + | for i = 1,#psiList do | ||
| + | io.write(string.format(" | ||
| + | for j = 1,#oppList do | ||
| + | expectationvalue = Chop(psiList[i]*oppList[j]*psiList[i]) | ||
| + | io.write(string.format(" | ||
| + | end | ||
| + | io.write(" | ||
| + | end | ||
| + | |||
| + | -- calculating the spectra is simple and single line once all operators and wave-functions | ||
| + | -- are defined. | ||
| + | |||
| + | -- we here calculate the spectra for x polarized light and seperate the excitations into the t2g or eg sub-shell. | ||
| + | -- We also calculate the spectra separately coming form j=1/2 or j=3/2 orbitals. | ||
| + | |||
| + | XASSpectra = CreateSpectra(XASHamiltonian, | ||
| + | |||
| + | XASSpectra.Broaden(0.4, | ||
| + | |||
| + | -- in order to plot the spectra we write them to file in ASCII format | ||
| + | -- note that the calculated object, i.e. <psi | T^dag 1/ | ||
| + | -- is complex. Minus the imaginary part is the absorption. | ||
| + | XASSpectra.Print({{" | ||
| + | |||
| + | -- in order to plot we use gnuplot. You can use any program, but gnuplot is nice as it can | ||
| + | -- be called from within Quanty. We first define the gnuplot script as a string inside Quanty | ||
| + | gnuplotInput = [[ | ||
| + | set autoscale | ||
| + | set xtic auto | ||
| + | set ytic auto | ||
| + | set style line 1 lt 1 lw 1 lc rgb "# | ||
| + | set style line 2 lt 1 lw 1 lc rgb "# | ||
| + | set style line 3 lt 1 lw 1 lc rgb "# | ||
| + | |||
| + | set xlabel "E (eV)" font " | ||
| + | set ylabel " | ||
| + | |||
| + | set out " | ||
| + | set size 1.0, 1.0 | ||
| + | set terminal postscript portrait enhanced color " | ||
| + | |||
| + | set multiplot layout 5, 1 | ||
| + | |||
| + | plot " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | plot " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | plot " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | ]] | ||
| + | |||
| + | -- next we save this string to a file | ||
| + | file = io.open(" | ||
| + | file: | ||
| + | file: | ||
| + | |||
| + | -- and finally call gnuplot to execute the script | ||
| + | os.execute(" | ||
| + | -- as I like pdf to view and eps to include in the manuel I transform the format | ||
| + | os.execute(" | ||
| + | </ | ||
| + | ### | ||
| + | |||
| + | The resulting spectra are: | ||
| + | | {{ : | ||
| + | ^ $2p$ to $3d$ excitations. Top panel: Split according to excitations into the Ni $3d$ $e_g$ or $t_{2g}$ orbitals. Middle panel: Split according to excitations from the Ni $2p$ $j=1/2$ or $j=3/2$ orbital. Bottom panel: split according to excitations into $d^8$ or $d^9$ configurations. ^ | ||
| + | |||
| + | ### | ||
| + | The output of the script is: | ||
| + | <file Quanty_Output XAS_partial.out> | ||
| + | Start of BlockGroundState. Converge 3 states to an energy with relative variance smaller than 1.490116119384766E-06 | ||
| + | |||
| + | Start of BlockOperatorPsiSerialRestricted | ||
| + | Outer loop 1, Number of Determinants: | ||
| + | Start of BlockOperatorPsiSerialRestricted | ||
| + | Start of BlockGroundState. Converge 3 states to an energy with relative variance smaller than 1.490116119384766E-06 | ||
| + | |||
| + | Start of BlockOperatorPsiSerial | ||
| + | Outer loop 1, Number of Determinants: | ||
| + | Start of BlockOperatorPsiSerial | ||
| + | Outer loop 2, Number of Determinants: | ||
| + | Start of BlockOperatorPsiSerial | ||
| + | # < | ||
| + | 1 | ||
| + | 2 | ||
| + | 3 | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Start of LanczosTriDiagonalizeRR | ||
| + | Spectra printed to file: XASSpec.dat | ||
| + | </ | ||
| + | ### | ||
| + | |||
| + | |||
| + | ===== Table of contents ===== | ||
| + | {{indexmenu> | ||