def lmm_mg(): """Electron config for LMM DR with mg-like initial state""" fac.Closed('1s') fac.Config('2*8 3s2', group="initial") fac.Config('2*7 3*4', group="transient") fac.Config('2*8 3*3', group="final") return "LMM-Mg"
def lmm_al(): """Electron config for LMM DR with al-like initial state""" fac.Closed('1s') fac.Config('2*8 3s2 3p1', group="initial") fac.Config('2*7 3*5', group="transient") fac.Config('2*8 3*4', group="final") return "LMM-Al"
def lmm_na(): """Electron config for LMM DR with na-like initial state""" fac.Closed('1s') fac.Config('2*8 3s1', group="initial") fac.Config('2*7 3*3', group="transient") fac.Config('2*8 3*2', group="final") return "LMM-Na"
def lmm_ni(): """Electron config for LMM DR with ni-like initial state""" fac.Closed('1s 4s') fac.Config('2*8 3s2 3p6 3d8', group="initial") fac.Config('2*7 3*18', group="transient") fac.Config('2*8 3*17', group="final") return "LMM-Ni"
def lmm_ca(): """Electron config for LMM DR with ca-like initial state""" fac.Closed('1s 4s') fac.Config('2*8 3s2 3p6', group="initial") fac.Config('2*7 3*10', group="transient") fac.Config('2*8 3*9', group="final") return "LMM-Ca"
def lmm_cl(): """Electron config for LMM DR with cl-like initial state""" fac.Closed('1s') fac.Config('2*8 3s2 3p5', group="initial") fac.Config('2*7 3*9', group="transient") fac.Config('2*8 3*8', group="final") return "LMM-Cl"
def lmm_k(): """Electron config for LMM DR with k-like initial state""" fac.Closed('1s') fac.Config('2*8 3s2 3p6 4s1', group="initial") fac.Config('2*7 3*10 4s1', group="transient") fac.Config('2*8 3*9 4s1', group="final") return "LMM-K"
def lmm_fe(): """Electron config for LMM DR with fe-like initial state""" fac.Closed('1s 4s') fac.Config('2*8 3s2 3p6 3d6', group="initial") fac.Config('2*7 3*16', group="transient") fac.Config('2*8 3*15', group="final") return "LMM-Fe"
def lmm_p(): """Electron config for LMM DR with p-like initial state""" fac.Closed('1s') fac.Config('2*8 3s2 3p3', group="initial") fac.Config('2*7 3*7', group="transient") fac.Config('2*8 3*6', group="final") return "LMM-P"
def lmm_n(): """Electron config for LMM DR with n-like initial state""" fac.Closed('1s') fac.Config('2s2 2p3', group="initial") fac.Config('2*4 3*2', group="transient") fac.Config('2*5 3*1', group="final") return "LMM-N"
def lmm_f(): """Electron config for LMM DR with f-like initial state""" fac.Closed('1s') fac.Config('2s2 2p5', group="initial") fac.Config('2*6 3*2', group="transient") fac.Config('2*7 3*1', group="final") return "LMM-F"
def lmm_li(): """Electron config for LMM DR with li-like initial state""" fac.Closed('1s') fac.Config('2s1', group="initial") fac.Config('2*0 3*2', group="transient") fac.Config('2*1 3*1', group="final") return "LMM-Li"
def lmm_b(): """Electron config for LMM DR with b-like initial state""" fac.Closed('1s') fac.Config('2s2 2p1', group="initial") fac.Config('2*2 3*2', group="transient") fac.Config('2*3 3*1', group="final") return "LMM-B"
def lmm_ti(): """Electron config for LMM DR with ti-like initial state""" fac.Closed('1s 4s') fac.Config('2*8 3s2 3p6 3d2', group="initial") fac.Config('2*7 3*12', group="transient") fac.Config('2*8 3*11', group="final") return "LMM-Ti"
def lmm_cr(): """Electron config for LMM DR with cr-like initial state""" fac.Closed('1s 4s') fac.Config('2*8 3s2 3p6 3d4', group="initial") fac.Config('2*7 3*14', group="transient") fac.Config('2*8 3*13', group="final") return "LMM-Cr"
def kll_be(): """Electron config for KLL DR with be-like initial state""" fac.Config('1*2 2*2', group="initial") fac.Config('1*1 2*4', group="transient") fac.Config('1*2 2*3', group="final") return "KLL-Be"
def kll_o(): """Electron config for KLL DR with o-like initial state""" fac.Config('1*2 2*6', group="initial") fac.Config('1*1 2*8', group="transient") fac.Config('1*2 2*7', group="final") return "KLL-O"
def klm_f(): """Electron config for KLM DR with f-like initial state""" fac.Config('1*2 2*7 3*0', group="initial") fac.Config('1*1 2*8 3*1', group="transient") fac.Config('1*2 2*8 3*0', '1*2 2*7 3*1', group="final") return "KLM-O"
def klm_c(): """Electron config for KLM DR with c-like initial state""" fac.Config('1*2 2*4 3*0', group="initial") fac.Config('1*1 2*5 3*1', group="transient") fac.Config('1*2 2*5 3*0', '1*2 2*4 3*1', '1*1 2*6 3*0', group="final") return "KLM-C"
def klm_be(): """Electron config for KLM DR with be-like initial state""" fac.Config('1*2 2*2 3*0', group="initial") fac.Config('1*1 2*3 3*1', group="transient") fac.Config('1*2 2*3 3*0', '1*2 2*2 3*1', '1*1 2*4 3*0', group="final") return "KLM-Be"
""" calculate the photoionization and radiative recombination cross sections """ # import the modules from pfac import fac fac.SetAtom('Fe') # specify the configurations for both recombining # and recombined ions. fac.Config('1s2', group='n1') fac.Config('1s1 2*1', group='n2') fac.Config('1s2 2*1', group='rn2') fac.ConfigEnergy(0) fac.OptimizeRadial(['rn2']) fac.ConfigEnergy(1) # configuration interaction between n=1 and n=2 # complexes are included for the recombining ion. fac.Structure('li.lev.b', ['n1', 'n2']) fac.Structure('li.lev.b', ['rn2']) fac.MemENTable('li.lev.b') fac.PrintTable('li.lev.b', 'li.lev', 1) fac.RRTable('li.rr.b', ['rn2'], ['n1']) fac.PrintTable('li.rr.b', 'li.rr', 1)
""" calculate the electron impact ionization cross sections """ # import the modules from pfac import fac fac.SetAtom('Fe') # 1s shell is closed fac.Closed('1s') # Ne-like ground state fac.Config('2*8', group='fe17') # F-like configuations fac.Config('2*7', group='fe18') # solve the structure problem fac.ConfigEnergy(0) fac.OptimizeRadial(['fe17']) fac.ConfigEnergy(1) fac.Structure('ne_f.lev.b', ['fe17']) fac.Structure('ne_f.lev.b', ['fe18']) fac.MemENTable('ne_f.lev.b') fac.PrintTable('ne_f.lev.b', 'ne_f.lev', 1) # set the output collision energies e = [500.0, 900.0, 1.3e3, 1.7e3, 2.1e3, 4.2e3, 6.0e3, 8.0e3] fac.SetUsrCIEGrid(e) fac.CITable('ne.ci.b', ['fe17'], ['fe18']) fac.PrintTable('ne.ci.b', 'ne.ci', 1)
from pfac import fac import os fac.SetAtom('Fe') fac.Closed('1s') #Set the target configurations fac.Config('T1', '2*7') fac.Config('T2', '2*6 3*1') fac.Config('T31.4s', '2s2 2p4 4s1') fac.Config('T31.4p', '2s2 2p4 4p1') fac.Config('T31.4d', '2s2 2p4 4d1') fac.Config('T32.4s', '2s1 2p5 4s1') fac.Config('T32.4p', '2s1 2p5 4p1') fac.Config('T32.4d', '2s1 2p5 4d1') #other target configurations fac.Config('T31.4f', '2s2 2p4 4f1') fac.Config('T32.4f', '2s1 2p5 4f1') fac.Config('T33.4*', '2p6 4*1') fac.Config('T4', '2*6 5*1') fac.Config('T5', '2*6 6*1') fac.Config('T6', '2*6 7*1') fac.Config('T7', '2*6 8*1') fac.Config('T8', '2*6 9*1') fac.Config('T9', '2*6 10*1') #Set the bound configurations fac.Config('T1.2*', '2*8') fac.Config('T1.3*', '2*7 3*1')
def kll_c(): """Electron config for KLL DR with c-like initial state""" fac.Config('1*2 2*4', group="initial") fac.Config('1*1 2*6', group="transient") fac.Config('1*2 2*5', group="final") return "KLL-C"
""" calculate the autoionization rates for Ne-like Se. """ # import the modules from pfac import fac fac.SetAtom('Se') # configurations for the F-like ion fac.Closed('1s') fac.Closed('2s') fac.Config('2p5', group='n2') # configurations of doubly excited Ne-like ion fac.Config('2p4 3s2', '2p4 3s1 3p1', group='n33') fac.ConfigEnergy(0) fac.OptimizeRadial('n33') fac.ConfigEnergy(1) fac.Structure('se.lev.b', ['n2']) fac.Structure('se.lev.b', ['n33']) fac.MemENTable('se.lev.b') fac.PrintTable('se.lev.b', 'se.lev', 1) fac.AITable('se.ai.b', ['n33'], ['n2']) fac.PrintTable('se.ai.b', 'se.ai', 1)
#30 from pfac import fac import time start = time.clock() fac.SetUTA(0) fac.SetAtom('Ho') fac.Closed('1s', '2s', '2p', '3s', '3p', '3d', '4s') fac.Config('4p6 4d2', group='Gnd.0') fac.Config('4p5 4d3', group='Gnd.1') fac.Config('4p6 4d1 4f1', group='Gnd.3') fac.Config('4p5 4d2 4f1', group='Exc.1') fac.Config('4p4 4d4', group='Exc.2') fac.Config('4p6 4d0 4f2', group='Exc.3') fac.ConfigEnergy(0) fac.OptimizeRadial(['Gnd.0']) fac.ConfigEnergy(1) fac.Structure('Ho.lev.b', ['Gnd.0', 'Gnd.1', 'Gnd.3', 'Exc.1', 'Exc.2', 'Exc.3']) fac.MemENTable('Ho.lev.b') fac.TransitionTable('Ho.tr.b', ['Gnd.1'], ['Exc.1'], -1) fac.TransitionTable('Ho.tr.b', ['Gnd.1'], ['Exc.2'], -1) fac.TransitionTable('Ho.tr.b', ['Gnd.3'], ['Exc.3'], -1) fac.PrintTable('Ho.lev.b', 'Ho30.lev', 1) fac.PrintTable('Ho.tr.b', 'Ho30.tr', 1)
"""calculate the electron impact excitation cross sections """ # import the modules from pfac import fac fac.SetAtom('Fe') # 1s shell is closed fac.Closed('1s') fac.Config('2*8', group='n2') fac.Config('2*7 3*1', group='n3') # Self-consistent iteration for optimized central potential fac.ConfigEnergy(0) fac.OptimizeRadial('n2') fac.ConfigEnergy(1) fac.Structure('ne.lev.b') fac.MemENTable('ne.lev.b') fac.PrintTable('ne.lev.b', 'ne.lev', 1) fac.CETable('ne.ce.b', ['n2'], ['n3']) fac.PrintTable('ne.ce.b', 'ne.ce', 1)
def kll_he(): """Electron config for KLL DR with he-like initial state""" fac.Config('1*2 2*0', group="initial") fac.Config('1*1 2*2', group="transient") fac.Config('1*2 2*1', group="final") return "KLL-He"
#fac.Config('T2', '2*6 3*1') #fac.Config('T31.4s', '2s2 2p4 4s1') #fac.Config('T31.4p', '2s2 2p4 4p1') #fac.Config('T31.4d', '2s2 2p4 4d1') # #fac.Config('T32.4s', '2s1 2p5 4s1') #fac.Config('T32.4p', '2s1 2p5 4p1') #fac.Config('T32.4d', '2s1 2p5 4d1') # ##CI #fac.Config('T31.4f', '2s2 2p4 4f1') #fac.Config('T32.4f', '2s1 2p5 4f1') #fac.Config('T33.4*', '2p6 4*1') #Set the bound configurations fac.Config('T1.2*', '2*8') fac.Config('T1.3*', '2*7 3*1') fac.Config('T1.4*', '2*7 4*1') fac.Config('T1.5*', '2*7 5*1') fac.Config('T1.6*', '2*7 6*1') fac.Config('T1.7*', '2*7 7*1') fac.Config('T1.8*', '2*7 8*1') fac.Config('T1.9*', '2*7 9*1') fac.Config('T1.10*', '2*7 10*1') #Set the quasi-bound configuraitons for TRtable fac.Config('T23.4*.4*', '2p6 4*2') fac.Config('T23.4*.5*', '2p6 4*1 5*1') fac.Config('T23.4*.6*', '2p6 4*1 6*1') fac.Config('T23.4*.7*', '2p6 4*1 7*1')
from pfac import fac import time print 'Be-like C III' t = str(time.localtime()) print 'Script started at', t # Atomic Structure print 'calculating atomic structure' fac.SetAtom('C') fac.Config('1s2 2s', group='lithium') fac.Config('1s2 2*2', group='ground') fac.Config('1s2 2*1 3*1', group='2exc3') fac.Config('1s2 2*1 4*1', group='2exc4') fac.Config('1s2 2*1 5*1', group='2exc5') fac.Config('1s 2*3', group='1exc2') fac.Config('1s 2*2 3*1', group='1exc3') fac.Config('1s 2*2 4*1', group='1exc4') fac.Config('1s 2*2 5*1', group='1exc5') fac.ConfigEnergy(0) fac.OptimizeRadial(['ground']) fac.ConfigEnergy(1) fac.Structure('beb.en', ['ground'])