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