====== Transition dipole moment calculation include local field ====== Transition dipole moment calculaton in CsPbI3. There are four steps, the first step is “**SCF**” calculation, the second is “**NONSCF**” calculation, the third is “**MOMENT**” calculation, and the fourth step is to process the data with TDM.x tool. ===== First Step: “SCF” calculation ===== ==== Input files ==== atom.config 5 LATTICE 6.39011884 0.00000000 0.00000000 0.00000000 6.39011884 0.00000000 0.00000000 0.00000000 6.39011884 POSITION 55 0.50000000 0.50000000 0.50000000 1 1 1 82 0.00000000 0.00000000 0.00000000 1 1 1 53 0.00000000 0.00000000 0.50000000 1 1 1 53 0.50000000 0.00000000 0.00000000 1 1 1 53 0.00000000 0.50000000 0.00000000 1 1 1 etot.input 4 1 JOB = SCF IN.PSP1 = Cs.SG15.PBE.UPF IN.PSP2 = Pb-d.SG15.PBE.UPF IN.PSP3 = I.SG15.PBE.UPF IN.ATOM = atom.config CONVERGENCE = difficult Ecut = 50 Ecut2 = 100 MP_N123 = 5 5 5 0 0 0 Cs.SG15.PBE.UPF, Pb-d.SG15.PBE.UPF, I.SG15.PBE.UPF ==== Calculations ==== - You can submit PWmat tasks in different ways: mpirun -np 4 PWmat | tee output Run the command directly #!/bin/bash #PBS -N SCF #PBS -l nodes=1:ppn=4 #PBS -q batch #PBS -l walltime=100:00:00 ulimit -s unlimited cd $PBS_O_WORKDIR mpirun -np 4 PWmat | tee output Submit the task with a pbs script ===== Second Step: “NONSCF” calculation ===== ==== Input files ==== atom.config 5 LATTICE 6.39011884 0.00000000 0.00000000 0.00000000 6.39011884 0.00000000 0.00000000 0.00000000 6.39011884 POSITION 55 0.50000000 0.50000000 0.50000000 1 1 1 82 0.00000000 0.00000000 0.00000000 1 1 1 53 0.00000000 0.00000000 0.50000000 1 1 1 53 0.50000000 0.00000000 0.00000000 1 1 1 53 0.00000000 0.50000000 0.00000000 1 1 1 etot.input 4 1 JOB = NONSCF IN.PSP1 = Cs.SG15.PBE.UPF IN.PSP2 = Pb-d.SG15.PBE.UPF IN.PSP3 = I.SG15.PBE.UPF IN.ATOM = atom.config Ecut = 50 Ecut2 = 100 IN.VR = T IN.KPT = T - How to get IN.VR and IN.KPT, please refer to the example [[./Bandsctructure|Bandstructure calculation]]. - The file gen.kpt: BAND # COMMENT line 20 # number of k-points between X and R 0.000 0.500 0.000 X # reciprocal coordinates; label 'X' for X point 0.500 0.500 0.500 R 20 0.500 0.500 0.500 R 0.500 0.500 0.000 M 20 0.500 0.500 0.000 M 0.000 0.000 0.000 G 20 0.000 0.000 0.000 G 0.500 0.500 0.500 R Cs.SG15.PBE.SOC.UPF, Pb-d.SG15.PBE.SOC.UPF, I.SG15.PBE.UPF ==== Calculations ==== - You can submit PWmat tasks in different ways: mpirun -np 4 PWmat | tee output Run the command directly #!/bin/bash #PBS -N SCF #PBS -l nodes=1:ppn=4 #PBS -q batch #PBS -l walltime=100:00:00 ulimit -s unlimited cd $PBS_O_WORKDIR mpirun -np 4 PWmat | tee output Submit the task with a pbs script ===== Third Step: “MOMENT” calculation ===== ==== Input files ==== atom.config 5 LATTICE 6.39011884 0.00000000 0.00000000 0.00000000 6.39011884 0.00000000 0.00000000 0.00000000 6.39011884 POSITION 55 0.50000000 0.50000000 0.50000000 1 1 1 82 0.00000000 0.00000000 0.00000000 1 1 1 53 0.00000000 0.00000000 0.50000000 1 1 1 53 0.50000000 0.00000000 0.00000000 1 1 1 53 0.00000000 0.50000000 0.00000000 1 1 1 etot.input 4 1 JOB = MOMENT IN.PSP1 = Cs.SG15.PBE.UPF IN.PSP2 = Pb-d.SG15.PBE.UPF IN.PSP3 = I.SG15.PBE.UPF IN.ATOM = atom.config Ecut = 50 Ecut2 = 100 IN.WG = T IN.KPT = T - Read IN.WG from previous NONSCF calculation OUT.WG. - IN.KPT is the same as previous NONSCF calculation. Cs.SG15.PBE.SOC.UPF, Pb-d.SG15.PBE.SOC.UPF, I.SG15.PBE.UPF ==== Calculations ==== - You can submit PWmat tasks in different ways: mpirun -np 4 PWmat | tee output Run the command directly #!/bin/bash #PBS -N SCF #PBS -l nodes=1:ppn=4 #PBS -q batch #PBS -l walltime=100:00:00 ulimit -s unlimited cd $PBS_O_WORKDIR mpirun -np 4 PWmat | tee output Submit the task with a pbs script ===== Fourth Step: run TDM.x ===== ==== Input files ==== - TDM.input 1 #flag: possible values 0, 1. 0: no nonlocal potential; 1: nonlocal potential is taken into account 37 38 #i,j: TDM between j and j state. - flag 0: TDM.x will read TDM.input, OUT.WG and OUT.GKK. - flag 1: TDM.x will read TDM.input OUT.EIGEN (from NONSCF calculation) and OUT.momentK._ (_ represents multiple files) - After run TDM.x, you will get transition_moment file: ikpt X-component Y-component Z-component Total(e^2*bohr^2) X-real X-imag Y-real Y-imag Z-real Z-imag 1 0.1124E-10 0.4523E+02 0.5442E-11 0.4523E+02 0.2364E-05 0.2377E-05 0.6271E+01 -0.2429E+01 0.2119E-05 0.9759E-06 2 0.3188E-11 0.4526E+02 0.6448E-11 0.4526E+02 0.1636E-05 0.7138E-06 -0.6213E+01 -0.2581E+01 0.2401E-05 -0.8256E-06 3 0.1467E-10 0.4540E+02 0.5686E-11 0.4540E+02 -0.2051E-05 -0.3234E-05 -0.1739E+01 0.6510E+01 -0.2089E-05 -0.1150E-05 ... ... ... 83 0.2256E+02 0.1981E+01 0.1117E+02 0.3571E+02 -0.4708E+01 -0.6294E+00 0.1398E+01 0.1604E+00 0.3310E+01 0.4689E+00 84 0.3497E+02 0.8254E+01 0.1196E+02 0.5519E+02 0.3534E+01 -0.4742E+01 -0.6782E+00 0.2792E+01 -0.2856E+01 0.1950E+01 85 0.5507E+02 0.6404E+01 0.4207E+01 0.6568E+02 -0.2326E+01 0.7047E+01 0.1363E+01 -0.2132E+01 0.1990E+01 -0.4951E+00