Difference between revisions of "Tutorial-v.1.0.0"
(→Input files) |
|||
Line 388: | Line 388: | ||
[[Explanation of output files (pulsed-light propagation through a silicon thin film)-v.1.0.0]] | [[Explanation of output files (pulsed-light propagation through a silicon thin film)-v.1.0.0]] | ||
+ | |||
+ | == Namelists and their values == | ||
+ | |||
+ | We here summarize namelists that appear in this Tutorial. | ||
+ | |||
+ | === &units === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &units | ||
+ | unit_system='A_eV_fs' | ||
+ | / | ||
+ | |||
+ | This namelist specifies the unit system to be used in the input file. | ||
+ | If you do not specify it, atomic unit will be used. | ||
+ | |||
+ | For isolated systems (specified by <code>iperiodic = 0</code> in <code>&system</code>), the unit of 1/eV is used for the output files of DOS and PDOS if <code>unit_system = 'A_eV_fs'</code> is specified, while atomic unit is used if not. For other output files, the Angstrom/eV/fs units are used irrespective of the namelist value. | ||
+ | |||
+ | === &calculation === | ||
+ | |||
+ | Mandatory: calc_mode | ||
+ | |||
+ | &calculation | ||
+ | calc_mode = 'GS' | ||
+ | / | ||
+ | |||
+ | The value of the <code>calc_mode</code> should be one of <code>'GS'</code>, <code>'RT'</code>, and <code>'GS-RT'</code>. | ||
+ | Note that the ground state (<code>'GS'</code>) and real time (<code>'RT'</code>) calculations should be done separately and sequentially for isolated systems (specified by <code>iperiodic = 0</code> in <code>&system</code>). | ||
+ | For periodic systems (specified by <code>iperiodic = 3</code> in <code>&system</code>), both ground state and real time calculations should be carried out as a single task (<code>calc_mode = 'GS_RT'</code>). | ||
+ | |||
+ | === &control === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &control | ||
+ | sysname = 'C2H2' | ||
+ | / | ||
+ | |||
+ | 'C2H2' defined by <code>sysname = 'C2H2'</code> will be used in the filenames of output files. | ||
+ | |||
+ | === &system === | ||
+ | |||
+ | Mandatory: iperiodic, al, nstate, nelem, natom | ||
+ | |||
+ | &system | ||
+ | iperiodic = 0 | ||
+ | al = 16d0, 16d0, 16d0 | ||
+ | nstate = 5 | ||
+ | nelem = 2 | ||
+ | natom = 4 | ||
+ | nelec = 10 | ||
+ | / | ||
+ | |||
+ | <code>iperiodic = 0</code> indicates that the isolated boundary condition will be used in the calculation. | ||
+ | <code>al = 16d0, 16d0, 16d0</code> specifies the lengths of three sides of the rectangular parallelepiped where the grid points are prepared. | ||
+ | <code>nstate = 8</code> indicates the number of Kohn-Sham orbitals to be solved. | ||
+ | <code>nelec = 10</code> indicate the number of valence electrons in the system. Since the present code assumes that the system is spin saturated, <code>nstate</code> should be equal to or larger than <code>nelec/2</code>. | ||
+ | <code>nelem = 2</code> and <code>natom = 4</code> indicate the number of elements and the number of atoms in the system, respectively. | ||
+ | |||
+ | === &pseudo === | ||
+ | |||
+ | Mandatory: pseudo_file, izatom | ||
+ | |||
+ | &pseudo | ||
+ | izatom(1)=6 | ||
+ | izatom(2)=1 | ||
+ | pseudo_file(1)='C_rps.dat' | ||
+ | pseudo_file(2)='H_rps.dat' | ||
+ | lmax_ps(1)=1 | ||
+ | lmax_ps(2)=0 | ||
+ | lloc_ps(1)=1 | ||
+ | lloc_ps(2)=0 | ||
+ | / | ||
+ | |||
+ | Parameters related to atomic species and pseudopotentials. | ||
+ | <code>izatom(1) = 6</code> specifies the atomic number of the element 1. | ||
+ | <code>pseudo_file(1) = 'C_rps.dat'</code> indicates the filename of the pseudopotential of element 1. | ||
+ | <code>lmax_ps(1) = 1</code> and <code>lloc_ps(1) = 1</code> specify the maximum angular momentum of the pseudopotential projector and the angular momentum of the pseudopotential that will be treated as local, respectively. | ||
+ | |||
+ | === &rgrid === | ||
+ | |||
+ | Mandatory: dl or num_rgrid | ||
+ | |||
+ | &rgrid | ||
+ | dl = 0.25d0, 0.25d0, 0.25d0 | ||
+ | / | ||
+ | |||
+ | <code>dl = 0.25d0, 0.25d0, 0.25d0</code> specifies the grid spacings in three Cartesian directions. | ||
+ | The grid spacing may also be specified by num_rgrid that specifies the number of grid points in three Cartesian directions. | ||
+ | |||
+ | === &scf === | ||
+ | |||
+ | Mandatory: nscf | ||
+ | |||
+ | &scf | ||
+ | ncg = 4 | ||
+ | nscf = 1000 | ||
+ | convergence = 'norm_rho_dng' | ||
+ | threshold_norm_rho = 1.d-15 | ||
+ | / | ||
+ | |||
+ | <code>ncg</code> is the number of CG iterations in solving the Khon-Sham equation. <code>nscf</code> is the number of scf iterations. For isolated systems specified by <code>&system/iperiodic = 0</code>, the scf loop in the ground state calculation ends before the number of the scf iterations reaches <code>nscf</code>, if a convergence criterion is satisfied. There are several options for the convergence check. If the value of <code>norm_rho_dng</code> is specified, the convergence is examined by the squared difference of the electron density, | ||
+ | |||
+ | === &atomic_coor === | ||
+ | |||
+ | Mandatory: atomic_coor (it may be provided as a separate file) | ||
+ | |||
+ | &atomic_coor | ||
+ | 'C' 0.000000 0.000000 0.599672 1 | ||
+ | 'H' 0.000000 0.000000 1.662257 2 | ||
+ | 'C' 0.000000 0.000000 -0.599672 1 | ||
+ | 'H' 0.000000 0.000000 -1.662257 2 | ||
+ | / | ||
+ | |||
+ | Cartesian coordinates of atoms. The first column indicates the element. Next three columns specify Cartesian coordinates of the atoms. The number in the last column labels the element. | ||
+ | |||
+ | == additional options == | ||
+ | |||
+ | |||
+ | === ¶llel === | ||
+ | When you execute a job with MPI parallelization, you are not required to specify any parameters that describe the assignment of the parallelization; the assignment is carried out automatically. You may also specify the parameters explicitly as below. | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | ¶llel | ||
+ | nproc_ob = 1 | ||
+ | nproc_domain = 1,1,1 | ||
+ | nproc_domain_s = 1,1,1 | ||
+ | / | ||
+ | |||
+ | * <code>nproc_ob</code> specifies the number of MPI parallelization to divide the electron orbitals. The default value is 1 (no division). | ||
+ | * <code>nproc_domain(3)</code>specifies the number of MPI parallelization to divide the spatial grids of the electron orbitals in three Cartesian directions. The default values are (1/1/1) (no division). | ||
+ | * <code>nproc_domain_s(3)'</code> specifies the number of MPI parallelization to divide the spatial grids related to the electron density in three Cartesian directions. The default values are (1/1/1) (no division). | ||
+ | |||
+ | The total number of processors must be equal to both <code>nproc_ob * nproc_domain(1) * nproc_domain(2) * nproc_domain(3)</code> and also <code>nproc_domain_s(1) * nproc_domain_s(2) * nproc_domain_s(3)</code>. It should also be satisfied that <code>nproc_domain_s(1)</code> is a multiple of <code>nproc_domain(1)</code>, and the same relations to the second and third components. | ||
+ | |||
+ | === &analysis === | ||
+ | The following namelists specify whether the related output files are created or not after the calculation. | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &analysis | ||
+ | out_psi = 'y' | ||
+ | out_dns = 'y' | ||
+ | out_dos = 'y' | ||
+ | out_pdos = 'y' | ||
+ | out_elf = 'y' | ||
+ | / | ||
+ | |||
+ | === &units === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &units | ||
+ | unit_system='A_eV_fs' | ||
+ | / | ||
+ | |||
+ | This namelist specifies the unit system to be used in the input file. If you do not specify it, atomic unit will be assumed. | ||
+ | |||
+ | For isolated systems (specified by <code>iperiodic = 0</code> in <code>&system</code>), the Angstrom/eV/fs are used for output files irrespective of the nameless value. | ||
+ | |||
+ | === &calculation === | ||
+ | |||
+ | Mandatory: calc_mode | ||
+ | |||
+ | &calculation | ||
+ | calc_mode = 'RT' | ||
+ | / | ||
+ | |||
+ | The value of the <code>calc_mode</code> should be one of <code>'GS'</code>, <code>'RT'</code>, and <code>'GS-RT'</code>. For the linear response calculation, we choose <code>'RT'</code>. | ||
+ | Note that the ground state (<code>'GS'</code>) and real time (<code>'RT'</code>) calculations should be done separately and sequentially for isolated systems (specified by <code>iperiodic = 0</code> in <code>&system</code>). | ||
+ | For periodic systems (specified by <code>iperiodic = 3</code> in <code>&system</code>), both ground state and real time calculations should be carried out as a single task (<code>calc_mode = 'GS_RT'</code>). | ||
+ | |||
+ | === &control === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &control | ||
+ | sysname = 'C2H2' | ||
+ | / | ||
+ | |||
+ | 'C2H2' defined by <code>sysname = 'C2H2'</code> will be used in the filenames of output files. | ||
+ | |||
+ | === &system === | ||
+ | |||
+ | Mandatory: iperiodic, al, nstate, nelem, natom | ||
+ | |||
+ | &system | ||
+ | iperiodic = 0 | ||
+ | al = 16d0, 16d0, 16d0 | ||
+ | nstate = 5 | ||
+ | nelem = 2 | ||
+ | natom = 4 | ||
+ | nelec = 10 | ||
+ | / | ||
+ | |||
+ | These namelists and their values should be the same as those used in the ground state calculation. | ||
+ | See [[Explanations of input files (ground state of C2H2 molecule)-v.1.0.0#&system]]. | ||
+ | <code>iperiodic = 0</code> indicates that isolated boundary condition is assumed. | ||
+ | <code>al = 16d0, 16d0, 16d0</code> specifies the lengths of three sides of a rectangular parallelepiped where the grid points are prepared. | ||
+ | <code>nstate = 8</code> indicates the number of Kohn-Sham orbitals to be solved. | ||
+ | <code>nelec = 10</code> indicate the number of valence electrons in the system. | ||
+ | <code>nelem = 2</code> and <code>natom = 4</code> indicate the number of elements and the number of atoms in the system, respectively. | ||
+ | |||
+ | === &pseudo === | ||
+ | |||
+ | Mandatory: pseudo_file, iZatom | ||
+ | |||
+ | &pseudo | ||
+ | izatom(1)=6 | ||
+ | izatom(2)=1 | ||
+ | pseudo_file(1)='C_rps.dat' | ||
+ | pseudo_file(2)='H_rps.dat' | ||
+ | lmax_ps(1)=1 | ||
+ | lmax_ps(2)=0 | ||
+ | lloc_ps(1)=1 | ||
+ | lloc_ps(2)=0 | ||
+ | / | ||
+ | |||
+ | Information on pseudopotentials. | ||
+ | <code>izatom(1) = 6</code> indicates the atomic number of the element 1. | ||
+ | <code>pseudo_file(1) = 'C_rps.dat'</code> indicates the filename of the pseudopotential of element 1. | ||
+ | <code>lmax_ps(1) = 1</code> and <code>lloc_ps(1) = 1</code> indicate the maximum angular momentum of the pseudopotential projector and the angular momentum of the pseudopotential that will be treated as local, respectively. | ||
+ | |||
+ | === &tgrid === | ||
+ | |||
+ | Mandatory: dt, Nt | ||
+ | |||
+ | &tgrid | ||
+ | dt=1.25d-3 | ||
+ | nt=5000 | ||
+ | / | ||
+ | |||
+ | <code>dt=1.25d-3</code> specifies the time step of the time evolution calculations. | ||
+ | <code>nt=5000</code> specifies the number of time steps in the calculation. | ||
+ | |||
+ | === &emfield === | ||
+ | |||
+ | Mandatory: ae_shape1 | ||
+ | |||
+ | &emfield | ||
+ | ae_shape1 = 'impulse' | ||
+ | epdir_re1 = 0.d0,0.d0,1.d0 | ||
+ | / | ||
+ | |||
+ | This is a sample to calculate polarizability and oscillator distribution from real-time electron dynamics calculations. | ||
+ | Specifying <code>ae_shape1 = 'impulse'</code>, a weak impulsive force is applied to the isolated matter at ''t=0'' | ||
+ | In output files, the polarizability and oscillator strength distribution, which is related to the imaginary part of the polarizability will be included. | ||
+ | |||
+ | === &atomic_coor === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &atomic_coor | ||
+ | 'C' 0.000000 0.000000 0.599672 1 | ||
+ | 'H' 0.000000 0.000000 1.662257 2 | ||
+ | 'C' 0.000000 0.000000 -0.599672 1 | ||
+ | 'H' 0.000000 0.000000 -1.662257 2 | ||
+ | / | ||
+ | |||
+ | List of atomic coordinates. Last column corresponds to kinds of elements. | ||
+ | |||
+ | == additional options == | ||
+ | |||
+ | === ¶llel === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | ¶llel | ||
+ | nproc_ob = 1 | ||
+ | nproc_domain = 1,1,1 | ||
+ | nproc_domain_s = 1,1,1 | ||
+ | / | ||
+ | |||
+ | Followings are explanation of each variable. | ||
+ | * <code>nproc_ob</code>: Number of MPI parallelization for orbitals that related to the wavefunction calculation. | ||
+ | * <code>nproc_domain(3)'</code>: Number of MPI parallelization for each direction in real-space that related to the wavefunction calculation. | ||
+ | * <code>nproc_domain_s(3)'</code>: Number of MPI parallelization for each direction in real-space that related to the electron density calculation. | ||
+ | |||
+ | Defaults are <code>0</code> for <code>nproc_ob</code>, <code>(0/0/0)</code> for <code>nproc_domain</code>, and <code>(0/0/0)</code> for <code>nproc_domain_s</code>. If users use the defauls, automatic proccess assignment is done. Users can also specify <code>nproc_ob</code>, <code>nproc_domain</code>, and <code>nproc_domain_s</code> manually. In that case, followings must be satisfied. | ||
+ | * nproc_ob</code> * <code>nproc_domain(1)</code> * <code>nproc_domain(2)</code>* <code>nproc_domain(3)</code>=total number of processors | ||
+ | * <code>nproc_domain_s(1)</code> * <code>nproc_domain_s(2)</code>* <code>nproc_domain_s(3)</code>=total number of processors | ||
+ | * <code>nproc_domain_s(1)</code> is a multiple of <code>nproc_domain(1)</code> | ||
+ | * <code>nproc_domain_s(2)</code> is a multiple of <code>nproc_domain(2)</code> | ||
+ | * <code>nproc_domain_s(3)</code> is a multiple of <code>nproc_domain(3)</code> | ||
+ | |||
+ | === &analysis === | ||
+ | |||
+ | Mandatory: none | ||
+ | |||
+ | &analysis | ||
+ | out_psi = 'y' | ||
+ | out_dns = 'y' | ||
+ | out_dos = 'y' | ||
+ | out_pdos = 'y' | ||
+ | out_elf = 'y' | ||
+ | / | ||
+ | |||
+ | These namelists specify the output files. | ||
+ | == Unit system == | ||
+ | |||
+ | Hartree atomic units are used in this calculation by default. | ||
+ | |||
+ | == &calculation == | ||
+ | |||
+ | |||
+ | &calculation | ||
+ | calc_mode = 'GS_RT' | ||
+ | / | ||
+ | |||
+ | The variable <code>calc_mode</code> is set to be <code>'GS_RT'</code> mode, which corresponds to execute the ground state (GS) and real-time (RT) calculation with single calculation task. | ||
+ | |||
+ | == &control == | ||
+ | |||
+ | |||
+ | &control | ||
+ | sysname = 'Si' | ||
+ | / | ||
+ | |||
+ | The variable <code>sysname</code> is set to be <code>'Si'</code>, which is used as the filename prefix of the outputs. | ||
+ | |||
+ | |||
+ | |||
+ | == &system == | ||
+ | |||
+ | |||
+ | |||
+ | &system | ||
+ | iperiodic = 3 | ||
+ | al = 10.26d0,10.26d0,10.26d0 | ||
+ | isym = 8 | ||
+ | crystal_structure = 'diamond' | ||
+ | nstate = 32 | ||
+ | nelec = 32 | ||
+ | nelem = 1 | ||
+ | natom = 8 | ||
+ | / | ||
+ | |||
+ | <code>iperiodic = 3</code> indicates that three dimensional periodic boundary condition (bulk crystal) is assumed. | ||
+ | <code>al = 10.26d0, 10.26d0, 10.26d0</code> specifies the lattice constans of the unit cell crystaline. | ||
+ | The variable <code>isym</code> indicates the symmetry in the unit cell. | ||
+ | Considering the bulk silicon crystal with the applied electric field parallel to the one lattice axis, <code> isym = 8 </code> is preferred to speed up the calculation. | ||
+ | For more infomation, see [[Symmetry group of crystaline]]. | ||
+ | <code>crystal_structure = 'diamond'</code> indicate the crystal structure of the considered material. | ||
+ | <code>nstate = 32</code> indicates the number of Kohn-Sham orbitals to be solved. | ||
+ | <code>nelec = 32</code> indicate the number of valence electrons in the system. | ||
+ | <code>nelem = 1</code> and <code>natom = 8</code> indicate the number of elements and the number of atoms in the system, respectively. | ||
+ | |||
+ | == &pseudo == | ||
+ | |||
+ | &pseudo | ||
+ | iZatom(1)=14 | ||
+ | pseudo_file(1) = './Si_rps.dat' | ||
+ | Lloc_ps(1)=2 | ||
+ | / | ||
+ | |||
+ | <code>iZatom(1) = 14</code> indicates the atomic number of the element #1. | ||
+ | <code>pseudo_file(1) = 'Si_rps.dat'</code> indicates the pseudopotential filename of element #1. | ||
+ | <code>Lloc_ps(1) = 2</code> indicate the angular momentum of the pseudopotential that will be treated as local. | ||
+ | |||
+ | |||
+ | == &functional == | ||
+ | |||
+ | &functional | ||
+ | xc ='TBmBJ' | ||
+ | cval = 1d0 | ||
+ | / | ||
+ | |||
+ | <code>xc ='TBmBJ'</code> specifies the type of exchange correlation potential. The TBmBJ indicates a meta-generalized gradient approximation proposed by Tran and Blaha [https://doi.org/10.1103/PhysRevLett.102.226401 Phys. Rev. Lett. 102, 226401 (2009)]. | ||
+ | <code>cval</code> specifies the additional parameter of the TBmBJ potential. In the case of the silicon, <code>cval = 1d0</code> is prefered to reproduce the experimentally mesured optical constants. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == &rgrid == | ||
+ | |||
+ | &rgrid | ||
+ | num_rgrid = 12,12,12 | ||
+ | / | ||
+ | |||
+ | <code>num_rgrid=12,12,12</code> specifies number of the real space grids for single crystal calculation. | ||
+ | |||
+ | |||
+ | == &kgrid == | ||
+ | |||
+ | &kgrid | ||
+ | num_kgrid = 4,4,4 | ||
+ | / | ||
+ | |||
+ | <code>num_kgrid=4,4,4</code> specifies number of the k-space grids for single crystal calculation. | ||
+ | |||
+ | |||
+ | == &tgrid == | ||
+ | |||
+ | &tgrid | ||
+ | nt=3000 | ||
+ | dt=0.16 | ||
+ | / | ||
+ | |||
+ | <code>dt=0.16</code> sets the time step of the time-evolution calculations. | ||
+ | <code>Nt=3000</code> indicates the number of the total time steps in the calculation. | ||
+ | |||
+ | == &propagation == | ||
+ | |||
+ | &propagation | ||
+ | propagator='etrs' | ||
+ | / | ||
+ | |||
+ | <code>propagation</code> specifies the numerical method of the time evolution of the wave function. The <code>etrs</code> is Enforced time-reversal symmetry propagator. [https://doi.org/10.1016/S0010-4655(02)00686-0 M.A.L. Marques, A. Castro, G.F. Bertsch, and A. Rubio, Comput. Phys. Commun., 151 60 (2003)]. | ||
+ | |||
+ | == &scf == | ||
+ | |||
+ | &scf | ||
+ | ncg = 5 | ||
+ | nscf = 120 | ||
+ | / | ||
+ | |||
+ | <code>ncg = 5</code> indicates the number of conjucate gradient step in the single scf calculation, and <code>nscf = 120</code> specifies the number of the SCF step. | ||
+ | |||
+ | == &emfield == | ||
+ | |||
+ | &emfield | ||
+ | trans_longi = 'tr' | ||
+ | ae_shape1 = 'Acos2' | ||
+ | rlaser_int1 = 1d14 | ||
+ | pulse_tw1 = 441.195136248d0 | ||
+ | omega1 = 0.05696145187d0 | ||
+ | epdir_re1 = 0.,0.,1. | ||
+ | / | ||
+ | |||
+ | <code>ae_shape1 = 'Acos2'</code> specifies the pulse shape of the electric field, having cos-square envelope. | ||
+ | <code>laser_int1</code> specifies maximum intensity of the applied electric field in unit of W/cm^2. | ||
+ | <code>epdir_re1 = 0.d0,0.d0,1.d0</code> identifies the unit vector of polarization direction. | ||
+ | Specifying the real part of the polarization vector by 'epdir_re1', linear polarization is assumed. | ||
+ | Using both the real ('epdir_re1') and imaginary ('epdir_im1') parts of the polarization vector, circularly (and general ellipsoidally) polarized pulses may also be described. | ||
+ | |||
+ | <code>omega1</code> specifies photon energy (frequency multiplied with plank constant). | ||
+ | <code>pulse_tw1</code> sets the pulse duration. | ||
+ | Note that it is not FWHM but a full duration of the sine-square envelope. | ||
+ | <code>phi_cep1</code> specifies the carrier envelope phase of the pulse. | ||
+ | It is possible to take two pulses simultaneously to simulate pump-probe experiments, adding information for two pulses. | ||
+ | The time delay can be indicated using the variable 't1_t2'. | ||
+ | |||
+ | |||
+ | |||
+ | == &atomic_coor == | ||
+ | |||
+ | &atomic_coor | ||
+ | 'Si' .0 .0 .0 1 | ||
+ | 'Si' .25 .25 .25 1 | ||
+ | 'Si' .5 .0 .5 1 | ||
+ | 'Si' .0 .5 .5 1 | ||
+ | 'Si' .5 .5 .0 1 | ||
+ | 'Si' .75 .25 .75 1 | ||
+ | 'Si' .25 .75 .75 1 | ||
+ | 'Si' .75 .75 .25 1 | ||
+ | / | ||
+ | |||
+ | List of atomic coordinates. Last column corresponds to kinds of elements. | ||
+ | |||
+ | |||
+ | == Unit system == | ||
+ | |||
+ | Hartree atomic units are used in this calculation by default. | ||
+ | |||
+ | == &calculation == | ||
+ | |||
+ | |||
+ | &calculation | ||
+ | calc_mode = 'GS_RT' | ||
+ | / | ||
+ | |||
+ | The variable <code>calc_mode</code> is set to be <code>'GS_RT'</code> mode, which corresponds to execute the ground state (GS) and real-time (RT) calculation with single calculation task.s | ||
+ | |||
+ | == &control == | ||
+ | |||
+ | |||
+ | &control | ||
+ | sysname = 'Si' | ||
+ | / | ||
+ | |||
+ | The variable <code>sysname</code> is set to be <code>'Si'</code>, which is used as the filename prefix of the outputs. | ||
+ | |||
+ | |||
+ | |||
+ | == &system == | ||
+ | |||
+ | |||
+ | |||
+ | &system | ||
+ | iperiodic = 3 | ||
+ | al = 10.26d0,10.26d0,10.26d0 | ||
+ | isym = 8 | ||
+ | crystal_structure = 'diamond' | ||
+ | nstate = 32 | ||
+ | nelec = 32 | ||
+ | nelem = 1 | ||
+ | natom = 8 | ||
+ | / | ||
+ | |||
+ | <code>iperiodic = 3</code> indicates that three dimensional periodic boundary condition (bulk crystal) is assumed. | ||
+ | <code>al = 10.26d0, 10.26d0, 10.26d0</code> specifies the lattice constans of the unit cell crystaline. | ||
+ | The variable <code>isym</code> indicates the symmetry in the unit cell. | ||
+ | Considering the bulk silicon crystal with the applied electric field parallel to the one lattice axis, <code> isym = 8 </code> is preferred to speed up the calculation. | ||
+ | For more infomation, see [[Symmetry group of crystaline]]. | ||
+ | <code>crystal_structure = 'diamond'</code> indicate the crystal structure of the considered material. | ||
+ | <code>nstate = 32</code> indicates the number of Kohn-Sham orbitals to be solved. | ||
+ | <code>nelec = 32</code> indicate the number of valence electrons in the system. | ||
+ | <code>nelem = 1</code> and <code>natom = 8</code> indicate the number of elements and the number of atoms in the system, respectively. | ||
+ | |||
+ | == &pseudo == | ||
+ | |||
+ | |||
+ | &pseudo | ||
+ | iZatom(1)=14 | ||
+ | pseudo_file(1) = './Si_rps.dat' | ||
+ | Lloc_ps(1)=2 | ||
+ | / | ||
+ | |||
+ | <code>iZatom(1) = 14</code> indicates the atomic number of the element 1. | ||
+ | <code>pseudo_file(1) = 'Si_rps.dat'</code> indicates the filename of the pseudopotential of element 1. | ||
+ | <code>Lloc_ps(1) = 1</code> indicate the angular momentum of the pseudopotential that will be treated as local. | ||
+ | |||
+ | |||
+ | == &functional == | ||
+ | |||
+ | &functional | ||
+ | xc ='TBmBJ' | ||
+ | cval = 1d0 | ||
+ | / | ||
+ | |||
+ | <code>xc ='TBmBJ'</code> specifies the type of exchange correlation potential. The TBmBJ indicates a meta-generalized gradient approximation proposed by Tran and Blaha [https://doi.org/10.1103/PhysRevLett.102.226401 Phys. Rev. Lett. 102, 226401 (2009)]. | ||
+ | <code>cval</code> specifies the additional parameter of the TBmBJ potential. In the case of the silicon, <code>cval = 1d0</code> is prefered to reproduce the experimentally mesured optical constants. | ||
+ | |||
+ | |||
+ | == Unit system == | ||
+ | |||
+ | Hartree atomic units are employed in this calculation by default. | ||
+ | |||
+ | == &calculation == | ||
+ | |||
+ | |||
+ | &calculation | ||
+ | calc_mode = 'GS_RT' | ||
+ | use_ms_maxwell = 'y' | ||
+ | / | ||
+ | |||
+ | The variable <code>calc_mode</code> is set to be <code>'GS_RT'</code> mode, which executes the ground state (GS) and real-time (RT) calculation with single calculation task. | ||
+ | <pre>use_ms_maxwell='y'</pre> indicates the multiscale Maxwell-TDDFT calculation mode. | ||
+ | |||
+ | == &control == | ||
+ | |||
+ | &control | ||
+ | sysname = 'Si' | ||
+ | / | ||
+ | |||
+ | The variable <code>sysname</code> is set to be <code>'Si'</code>, which is the filename prefix of the outputs. | ||
+ | |||
+ | |||
+ | |||
+ | == &system == | ||
+ | |||
+ | |||
+ | &system | ||
+ | iperiodic = 3 | ||
+ | al = 10.26d0,10.26d0,10.26d0 | ||
+ | isym = 8 | ||
+ | crystal_structure = 'diamond' | ||
+ | nstate = 32 | ||
+ | nelec = 32 | ||
+ | nelem = 1 | ||
+ | natom = 8 | ||
+ | / | ||
+ | |||
+ | <code>iperiodic = 3</code> indicates that three dimensional periodic boundary condition (bulk crystal) is supposed. | ||
+ | <code>al = 10.26d0, 10.26d0, 10.26d0</code> specifies the lattice constans of the unit cell crystaline. | ||
+ | The variable <code>isym</code> indicates the symmetry in the unit cell. | ||
+ | Considering the bulk silicon crystal with the applied electric field parallel to the one lattice axis, <code> isym = 8 </code> is desirable to speed up the calculation. | ||
+ | For more information, see [[Symmetry group of crystalline]]. | ||
+ | <code>crystal_structure = 'diamond'</code> indicate the crystal structure of the considered material. | ||
+ | <code>nstate = 32</code> indicates the number of Kohn-Sham orbitals in the computation. | ||
+ | <code>nelec = 32</code> is the number of valence electrons in the system. | ||
+ | <code>nelem = 1</code> and <code>natom = 8</code> is the number of elements and the number of atoms in the system, respectively. | ||
+ | |||
+ | == &pseudo == | ||
+ | |||
+ | |||
+ | &pseudo | ||
+ | iZatom(1)=14 | ||
+ | pseudo_file(1) = './Si_rps.dat' | ||
+ | Lloc_ps(1)=2 | ||
+ | / | ||
+ | |||
+ | <code>iZatom(1) = 14</code> is the number of atoms for the element 1. | ||
+ | <code>pseudo_file(1) = 'Si_rps.dat'</code> is the filename of the pseudopotential of element 1. | ||
+ | <code>Lloc_ps(1) = 1</code> indicate the angular momentum of the pseudopotential. | ||
+ | |||
+ | == &functional == | ||
+ | |||
+ | &functional | ||
+ | xc ='PZ' | ||
+ | / | ||
+ | |||
+ | <code>xc ='PZ'</code> specifies the type of exchange correlation potential as LDA. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == &rgrid == | ||
+ | |||
+ | &rgrid | ||
+ | num_rgrid = 12,12,12 | ||
+ | / | ||
+ | |||
+ | <code>num_rgrid=12,12,12</code> specifies number of the real space grids for single crystal calculation. | ||
+ | |||
+ | |||
+ | == &kgrid == | ||
+ | |||
+ | &kgrid | ||
+ | num_kgrid = 2,2,2 | ||
+ | / | ||
+ | |||
+ | <code>num_kgrid=2,2,2</code> specifies number of the k-space grids for single crystal calculation. | ||
+ | |||
+ | |||
+ | == &tgrid == | ||
+ | |||
+ | &tgrid | ||
+ | nt=4000 | ||
+ | dt=0.08 | ||
+ | / | ||
+ | |||
+ | <code>dt=0.16</code> sets the time step of the time-evolution calculations. | ||
+ | <code>Nt=3000</code> is the number of time steps in the calculation. | ||
+ | |||
+ | == &propagation == | ||
+ | |||
+ | propagation | ||
+ | propagator='middlepoint' | ||
+ | / | ||
+ | |||
+ | |||
+ | <code>propagation='middlepoint'</code> specifies the numerical mathod of the time-evolution of the wave function. | ||
+ | |||
+ | == &scf == | ||
+ | |||
+ | &scf | ||
+ | ncg = 5 | ||
+ | nscf = 100 | ||
+ | / | ||
+ | |||
+ | <code>ncg = 5</code> is the number of conjucate gradient step in the single scf calculation, and <code>nscf = 100</code> specifies the number of the SCF step. | ||
+ | |||
+ | == &emfield == | ||
+ | |||
+ | &emfield | ||
+ | ae_shape1 = 'Acos2' | ||
+ | rlaser_int1 = 1d12 | ||
+ | pulse_tw1 = 441.195136248d0 | ||
+ | omega1 = 0.05696145187d0 | ||
+ | epdir_re1 = 0.,0.,1. | ||
+ | / | ||
+ | |||
+ | <code>ae_shape1 = 'Acos2'</code> specifies the pulse shape of the electric field, having cos-square envelope. | ||
+ | <code>laser_int1</code> specifies maximum intensity of the applied electric field in unit of W/cm^2. | ||
+ | <code>epdir_re1 = 0,0,1</code> identifies the unit vector of polarization direction. | ||
+ | Specifying the real part of the polarization vector by 'epdir_re1', linear polarization is assumed. | ||
+ | Using both the real ('epdir_re1') and imaginary ('epdir_im1') parts of the polarization vector, circularly (and general ellipsoidally) polarized pulses may also be described. | ||
+ | |||
+ | <code>omega1</code> specifies photon energy (frequency multiplied with hbar). | ||
+ | <code>pulse_tw1</code> sets the pulse duration. | ||
+ | Note that it is not FWHM but a full duration of the sine-square envelope. | ||
+ | <code>phi_cep1</code> specifies the carrier envelope phase of the pulse. | ||
+ | It is possible to have two pulses simultaneously to simulate pump-probe experiments, adding information for two pulses. | ||
+ | The time delay can be indicated using the variable 't1_t2'. | ||
+ | |||
+ | == &multiscale == | ||
+ | |||
+ | &multiscale | ||
+ | fdtddim = '1D' | ||
+ | twod_shape = 'periodic' | ||
+ | nx_m = 4 | ||
+ | ny_m = 1 | ||
+ | hX_m = 250d0 | ||
+ | nksplit = 2 | ||
+ | nxysplit = 1 | ||
+ | nxvacl_m = -2000 | ||
+ | nxvacr_m = 256 | ||
+ | / | ||
+ | |||
+ | <code>fdtddim</code> specifies the dimension of the macro system. In the case of <code>fdtddim='1D'</code>, the one-dimensional light propagation in the slab region. | ||
+ | <code>twod_shape = 'periodic'</code> specifies the boundary condition of the EM field. | ||
+ | <code>nx_m, ny_m</code> is the number of the macroscopic grids for the x and y-direction, respectively. | ||
+ | <code> nxvacl_m, nxvacr_m </code> indicates the number of the additional cells connected on the left-side and right-side of the material's surface. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == &atomic_coor == | ||
+ | |||
+ | &atomic_coor | ||
+ | 'Si' .0 .0 .0 1 | ||
+ | 'Si' .25 .25 .25 1 | ||
+ | 'Si' .5 .0 .5 1 | ||
+ | 'Si' .0 .5 .5 1 | ||
+ | 'Si' .5 .5 .0 1 | ||
+ | 'Si' .75 .25 .75 1 | ||
+ | 'Si' .25 .75 .75 1 | ||
+ | 'Si' .75 .75 .25 1 | ||
+ | / | ||
+ | |||
+ | List of atomic coordinates. Last column corresponds to kinds of elements. |
Revision as of 09:16, 21 November 2017
Contents
- 1 Getting started
- 2 C2H2 (isolated molecules)
- 3 Crystalline silicon (periodic solids)
- 4 Maxwell + TDDFT multiscale simulation
- 5 Namelists and their values
- 6 additional options
- 7 additional options
- 8 Unit system
- 9 &calculation
- 10 &control
- 11 &system
- 12 &pseudo
- 13 &functional
- 14 &rgrid
- 15 &kgrid
- 16 &tgrid
- 17 &propagation
- 18 &scf
- 19 &emfield
- 20 &atomic_coor
- 21 Unit system
- 22 &calculation
- 23 &control
- 24 &system
- 25 &pseudo
- 26 &functional
- 27 Unit system
- 28 &calculation
- 29 &control
- 30 &system
- 31 &pseudo
- 32 &functional
- 33 &rgrid
- 34 &kgrid
- 35 &tgrid
- 36 &propagation
- 37 &scf
- 38 &emfield
- 39 &multiscale
- 40 &atomic_coor
Getting started
Welcome to SALMON Tutorial!
In this tutorial, we explain the use of SALMON from the very beginning, taking a few samples that cover applications of SALMON in several directions. We assume that you are in the computational environment of UNIX/Linux OS. First you need to download and install SALMON in your computational environment. If you have not yet done it, do it following the instruction, download-v.1.0.0 and Install and Run-v.1.0.0.
As described in Install and Run-v.1.0.0, you are required to prepare at least an input file and pseudopotential files to run SALMON. In the following, we present input files for several sample calculations and provide a brief explanation of the namelist variables that appear in the input files. You may modify the input files to execute for your own calculations. Pseudopotential files of elements that appear in the samples are also attached. We also present explanations of main output files.
We present 6 tutorials.
First 3 tutorials (Tutorial-1 ~ 3) are for an isolated molecule, acetylene C2H2. If you are interested in learning electron dynamics calculations in isolated systems, please look into these tutorials. In SALMON, we usually calculate the ground state solution first. This is illustrated in Tutorial-1. After finishing the ground state calculation, two tutorials of electron dynamics calculations are prepared. Tutorial-2 illustrates the calculation of linear optical responses in real time, obtaining polarizability and photoabsorption of the molecule. Tutorial-3 illustrates the calculation of electron dynamics in the molecule under a pulsed electric field.
Next 2 tutorials (Tutorial-4 ~ 5) are for a crystalline solid, silicon. If you are interested in learning electron dynamics calculations in extended periodic systems, please look into these tutorials. Since ground state calculations of small unit-cell systems are not computationally expensive and a time evolution calculation is usually much more time-consuming than the ground state calculation, we recommend to run the ground and the time evolution calculations as a single job. The following two tutorials are organized in that way. Tutorial-4 illustrates the calculation of linear response properties of crystalline silicon to obtain the dielectric function. Tutorial-5 illustrates the calculation of electron dynamics in the crystalline silicon induced by a pulsed electric field.
The final tutorial (Tutorial-6) is for an irradiation and a propagation of a pulsed light in a bulk silicon, coupling Maxwell equations for the electromagnetic fields of the pulsed light and the electron dynamics in the unit cells. This calculation is quite time-consuming and is recommended to execute using massively parallel supercomputers. Tutorial-6 illustrates the calculation of a pulsed, linearly polarized light irradiating normally on a surface of a bulk silicon.
C2H2 (isolated molecules)
Tutorial-1: Ground state of C2H2 molecule
In this tutorial, we learn the calculation of the ground state solution of acetylene (C2H2) molecule, solving the static Kohn-Sham equation. This tutorial will be useful to learn how to set up calculations in SALMON for any isolated systems such as molecules and nanoparticles. It should be noted that at present it is not possible to carry out the geometry optimization in SALMON. Therefore, atomic positions of the molecule are specified in the input file and are fixed during the calculations.
Input files
- To run the code, following files are used:
file name | description |
C2H2_gs.inp | input file that contains namelist variables and their values |
C_rps.dat | pseodupotential file for carbon atom |
H_rps.dat | pseudopotential file for hydrogen atom |
- You may download the above 3 files (zipped file) from:
Download zipped input and pseudopotential files
- In the input file C2H2_gs.inp, namelists variables are specified. Most of them are mandatory to execute the ground state calculation. We present their explanations below:
Explanations of input files (ground state of C2H2 molecule)-v.1.0.0
- This will help you to prepare an input file for other systems that you want to calculate. A complete list of the namelist variables that can be used in the input file can be found in the downloaded file SALMON/manual/input_variables.md.
Output files
- After the calculation, following output files are created in the directory that you run the code,
file name | description |
C2H2_info.data | information on ground state solution |
dns.cube | a cube file for electron density |
elf.cube | electron localization function (ELF) |
psi1.cube, psi2.cube, ... | electron orbitals |
dos.data | density of states |
pdos1.data, pdos2.data, ... | projected density of states |
C2H2_gs.bin | binary output file to be used in the real-time calculation |
- You may download the above files (zipped file, except for the binary file C2H2_gs.bin) from:
Download zipped output files
- Main results of the calculation such as orbital energies are included in C2H2_info.data. Explanations of the C2H2_info.data and other output files are described in:
Explanations of output files (ground state of C2H2 molecule)-v.1.0.0
Images
- We show several image that are created from the output files.
image | files used to create the image |
highest occupied molecular orbital (HOMO) | psi1.cube, psi2.cube, ... |
electron density | dns.cube |
electron localization function | elf.cube |
Tutorial-2: Polarizability and photoabsorption of C2H2 molecule
In this tutorial, we learn the linear response calculation in the acetylene (C2H2) molecule, solving the time-dependent Kohn-Sham equation. The linear response calculation provides the polarizability and the oscillator strength distribution of the molecule. This tutorial should be carried out after finishing the ground state calculation that was explained in Tutorial-1. In the calculation, an impulsive perturbation is applied to all electrons in the C2H2 molecule along the molecular axis which we take z axis. Then a time evolution calculation is carried out without any external fields. During the calculation, the electric dipole moment is monitored. After the time evolution calculation, a time-frequency Fourier transformation is carried out for the electric dipole moment to obtain the frequency-dependent polarizability. The imaginary part of the frequency-dependent polarizability is proportional to the oscillator strength distribution and the photoabsorption cross section.
Input files
- To run the code, the input file C2H2_rt_response.inp that contains namelist variables and their values for the linear response calculation is required. The binary file C2H2_gs.bin that is created in the ground state calculation and pseudopotential files are also required. The pseudopotential files should be the same as those used in the ground state calculation.
file name | description |
C2H2_rt_response.inp | input file that contains namelist variables and their values |
C_rps.dat | pseodupotential file for carbon |
H_rps.dat | pseudopotential file for hydrogen |
C2H2_gs.bin | binary file created in the ground state calculation |
- You may download the C2H2_rt_response.inp file (zipped file) from:
Download zipped input file
- In the input file C2H2_rt_response.inp, namelists variables are specified. Most of them are mandatory to execute the linear response calculation. We present their explanations below:
Explanations of input files (polarizability and photoabsorption of C2H2 molecule)-v.1.0.0
- This will help you to prepare the input file for other systems that you want to calculate. A complete list of the namelist variables that can be used in the input file can be found in the downloaded file SALMON/manual/input_variables.md.
Output files
- After the calculation, following output files are created in the directory that you run the code,
file name | description |
C2H2_lr.data | polarizability and oscillator strength distribution as functions of energy |
C2H2_p.data | components of dipole moment as functions of time |
- You may download the above files (zipped file) from:
Download zipped output files
- Explanations of the output files are given in:
Explanations of output files (polarizability and photoabsorption of C2H2 molecule)-v.1.0.0
Tutorial-3: Electron dynamics in C2H2 molecule under a pulsed electric field
In this tutorial, we learn the calculation of the electron dynamics in the acetylene (C2H2) molecule under a pulsed electric field, solving the time-dependent Kohn-Sham equation. As outputs of the calculation, such quantities as the total energy and the electric dipole moment of the system as functions of time are calculated. This tutorial should be carried out after finishing the ground state calculation that was explained in Tutorial-1. In the calculation, a pulsed electric field that has cos^2 envelope shape is applied. The parameters that characterize the pulsed field such as magnitude, frequency, polarization direction, and carrier envelope phase are specified in the input file.
Input files
- To run the code, following files are used. The C2H2.data file is created in the ground state calculation. Pseudopotential files are already used in the ground state calculation. Therefore, C2H2_rt_pulse.inp that specifies namelist variables and their values for the pulsed electric field calculation is the only file that the users need to prepare.
file name | description |
C2H2_rt_pulse.inp | input file that contain namelist variables and their values. |
C_rps.dat | pseodupotential file for Carbon |
H_rps.dat | pseudopotential file for Hydrogen |
C2H2.data | binary file created in the ground state calculation |
- You may download the C2H2_rt_pulse.inp file (zipped file) from:
Download zipped input file
- In the input file C2H2_rt_pulse.inp, namelists variables are specified. Most of them are mandatory to execute the calculation of electron dynamics induced by a pulsed electric field. We present explanations of the namelist variables that appear in the input file in:
Explanations of input files (C2H2 molecule under a pulsed electric field)-v.1.0.0
- This will help you to prepare the input file for other systems and other pulsed electric fields that you want to calculate. A complete list of the namelist variables that can be used in input files can be found at ???.
Output files
- After the calculation, following output files are created in the directory that you run the code,
file name | description |
C2H2_p.data | components of the electric dipole moment as functions of time |
C2H2_ps.data | power spectrum that is obtained by a time-frequency Fourier transformation of the electric dipole moment |
- You may download the above files (zipped file) from:
Download zipped output files
- Explanations of the files are described in:
Explanations of input files (C2H2 molecule under a pulsed electric field)-v.1.0.0
Crystalline silicon (periodic solids)
Tutorial-4: Dielectric function of crystalline silicon
In this tutorial, we learn the linear response calculation of the crystalline silicon of a diamond structure. Calculation is done in a cubic unit cell that contains eight silicon atoms. Since the ground state calculation costs much less computational time than the time evolution calculation, both calculations are successively executed. After finishing the ground state calculation, an impulsive perturbation is applied to all electrons in the unit cell along z direction. Since the dielectric function is isotropic in the diamond structure, calculated dielectric function should not depend on the direction of the perturbation. During the time evolution, electric current averaged over the unit cell volume is calculated. A time-frequency Fourier transformation of the electric current gives us a frequency-dependent conductivity. The dielectric function may be obtained from the conductivity using a standard relation.
Input files
- To run the code, following files are used:
file name | description |
Si_gs_rt_response.inp | input file that contain namelist variables and their values. |
Si_rps.dat | pseodupotential file of silicon |
- You may download the above 2 files (zipped file) from:
Download zipped input and pseudopotential files
- In the input file Si_gs_rt_response.inp, namelists variables are specified. Most of them are mandatory to execute the calculation. We present explanations of the namelist variables that appear in the input file in:
Explanations of input files (dielectric function of crystalline silicon)-v.1.0.0
- This will help you to prepare the input file for other systems that you want to calculate. A complete list of the namelist variables that can be used in input files can be found at ???.
Output files
- After the calculation, following output files are created in the directory that you run the code,
file name | description |
Si_eigen.data | energy eigenvalues of orbitals |
Si_gs_info.data | information of ground state calculation |
Si_k.data | information on k-points |
Si_rt.data | electric field, vector potential, and current as functions of time |
Si_lr.data | Fourier spectra of the dielectric functions |
- You may download the above files (zipped file) from:
Download zipped output files
- Explanations of the output files are described in:
Explanation of output fiels (dielectric function of crystalline silicon)-v.1.0.0
Tutorial-5: Electron dynamics in crystalline silicon under a pulsed electric field
In this tutorial, we learn the calculation of electron dynamics in a unit cell of crystalline silicon of a diamond structure. Calculation is done in a cubic unit cell that contains eight silicon atoms. Since the ground state calculation costs much less computational time than the time evolution calculation, both calculations are successively executed. After finishing the ground state calculation, a pulsed electric field that has cos^2 envelope shape is applied. The parameters that characterize the pulsed field such as magnitude, frequency, polarization, and carrier envelope phase are specified in the input file.
Input files
- To run the code, following files are used:
file name | description |
Si_gs_rt_pulse.inp | input file that contain namelist variables and their values. |
Si_rps.dat | pseodupotential file for Carbon |
- You may download the above 2 files (zipped file) from:
Download zipped input and pseudopotential files
- In the input file Si_gs_rt_pulse.inp, namelists variables are specified. Most of them are mandatory to execute the calculation. We present explanations of the namelist variables that appear in the input file in:
Explanation of input files (crystalline silicon under a pulsed electric field)-v.1.0.0
- This will help you to prepare the input file for other systems that you want to calculate. A complete list of the namelist variables that can be used in input files can be found at ???.
Output files
- After the calculation, following output files are created in the directory that you run the code,
file name | description |
Si_eigen.data | energy eigenvalues of orbitals |
Si_k.data | information on k-points |
Si_gs_info.data | information on the ground state |
Si_rt.data | electric field, vector potential, and current as functions of time |
- You may download the above files (zipped file) from:
Download zipped output files
- Explanations of the output files are described in:
Explanation of output files (crystalline silicon under a pulsed electric field)-v.1.0.0
Maxwell + TDDFT multiscale simulation
Tutorial-6: Pulsed-light propagation through a silicon thin film
In this tutorial, we learn the calculation of the propagation of a pulsed light through a thin film of crystalline silicon. We consider a silicon thin film of ?? nm thickness, and an irradiation of a few-cycle, linearly polarized pulsed light normally on the thin film. First, to set up initial orbitals, the ground state calculation is carried out. The pulsed light locates in the vacuum region in front of the thin film. The parameters that characterize the pulsed light such as magnitude and frequency are specified in the input file. The calculation ends when the reflected and transmitted pulses reach the vacuum region.
Input files
- To run the code, following files are used:
file name | description |
Si_gs_rt_multiscale.inp | input file that contain namelist variables and their values. |
Si_rps.dat | pseodupotential file for silicon |
- You may download the above two files (zipped file) from:
Download zipped input and pseudopotential files
- In the input file Si_gs_rt_multiscale.inp, namelists variables are specified. Most of them are mandatory to execute the calculation. We present explanations of the namelist variables that appear in the input file in:
Explanation of input files (pulsed-light propagation through a silicon thin film)-v.1.0.0
- This will help you to prepare the input file for other systems that you want to calculate. A complete list of the namelist variables that can be used in input files can be found at ???.
Output files
- After the calculation, following output files are created in the directory that you run the code,
file name | description |
Si_Ac_xxxxxx.out | EM field and electron energy distribution at the macroscpic grid |
Si_Ac_M_xxxxxx.out | Vector potential field and current density at individual macropoints |
Si_Ac_vac.out |
- You may download the above files (zipped file) from:
Download zipped output files
- Explanations of the output files are described in:
Explanation of output files (pulsed-light propagation through a silicon thin film)-v.1.0.0
Namelists and their values
We here summarize namelists that appear in this Tutorial.
&units
Mandatory: none
&units unit_system='A_eV_fs' /
This namelist specifies the unit system to be used in the input file. If you do not specify it, atomic unit will be used.
For isolated systems (specified by iperiodic = 0
in &system
), the unit of 1/eV is used for the output files of DOS and PDOS if unit_system = 'A_eV_fs'
is specified, while atomic unit is used if not. For other output files, the Angstrom/eV/fs units are used irrespective of the namelist value.
&calculation
Mandatory: calc_mode
&calculation calc_mode = 'GS' /
The value of the calc_mode
should be one of 'GS'
, 'RT'
, and 'GS-RT'
.
Note that the ground state ('GS'
) and real time ('RT'
) calculations should be done separately and sequentially for isolated systems (specified by iperiodic = 0
in &system
).
For periodic systems (specified by iperiodic = 3
in &system
), both ground state and real time calculations should be carried out as a single task (calc_mode = 'GS_RT'
).
&control
Mandatory: none
&control sysname = 'C2H2' /
'C2H2' defined by sysname = 'C2H2'
will be used in the filenames of output files.
&system
Mandatory: iperiodic, al, nstate, nelem, natom
&system iperiodic = 0 al = 16d0, 16d0, 16d0 nstate = 5 nelem = 2 natom = 4 nelec = 10 /
iperiodic = 0
indicates that the isolated boundary condition will be used in the calculation.
al = 16d0, 16d0, 16d0
specifies the lengths of three sides of the rectangular parallelepiped where the grid points are prepared.
nstate = 8
indicates the number of Kohn-Sham orbitals to be solved.
nelec = 10
indicate the number of valence electrons in the system. Since the present code assumes that the system is spin saturated, nstate
should be equal to or larger than nelec/2
.
nelem = 2
and natom = 4
indicate the number of elements and the number of atoms in the system, respectively.
&pseudo
Mandatory: pseudo_file, izatom
&pseudo izatom(1)=6 izatom(2)=1 pseudo_file(1)='C_rps.dat' pseudo_file(2)='H_rps.dat' lmax_ps(1)=1 lmax_ps(2)=0 lloc_ps(1)=1 lloc_ps(2)=0 /
Parameters related to atomic species and pseudopotentials.
izatom(1) = 6
specifies the atomic number of the element 1.
pseudo_file(1) = 'C_rps.dat'
indicates the filename of the pseudopotential of element 1.
lmax_ps(1) = 1
and lloc_ps(1) = 1
specify the maximum angular momentum of the pseudopotential projector and the angular momentum of the pseudopotential that will be treated as local, respectively.
&rgrid
Mandatory: dl or num_rgrid
&rgrid dl = 0.25d0, 0.25d0, 0.25d0 /
dl = 0.25d0, 0.25d0, 0.25d0
specifies the grid spacings in three Cartesian directions.
The grid spacing may also be specified by num_rgrid that specifies the number of grid points in three Cartesian directions.
&scf
Mandatory: nscf
&scf ncg = 4 nscf = 1000 convergence = 'norm_rho_dng' threshold_norm_rho = 1.d-15 /
ncg
is the number of CG iterations in solving the Khon-Sham equation. nscf
is the number of scf iterations. For isolated systems specified by &system/iperiodic = 0
, the scf loop in the ground state calculation ends before the number of the scf iterations reaches nscf
, if a convergence criterion is satisfied. There are several options for the convergence check. If the value of norm_rho_dng
is specified, the convergence is examined by the squared difference of the electron density,
&atomic_coor
Mandatory: atomic_coor (it may be provided as a separate file)
&atomic_coor 'C' 0.000000 0.000000 0.599672 1 'H' 0.000000 0.000000 1.662257 2 'C' 0.000000 0.000000 -0.599672 1 'H' 0.000000 0.000000 -1.662257 2 /
Cartesian coordinates of atoms. The first column indicates the element. Next three columns specify Cartesian coordinates of the atoms. The number in the last column labels the element.
additional options
¶llel
When you execute a job with MPI parallelization, you are not required to specify any parameters that describe the assignment of the parallelization; the assignment is carried out automatically. You may also specify the parameters explicitly as below.
Mandatory: none
¶llel nproc_ob = 1 nproc_domain = 1,1,1 nproc_domain_s = 1,1,1 /
-
nproc_ob
specifies the number of MPI parallelization to divide the electron orbitals. The default value is 1 (no division). -
nproc_domain(3)
specifies the number of MPI parallelization to divide the spatial grids of the electron orbitals in three Cartesian directions. The default values are (1/1/1) (no division). -
nproc_domain_s(3)'
specifies the number of MPI parallelization to divide the spatial grids related to the electron density in three Cartesian directions. The default values are (1/1/1) (no division).
The total number of processors must be equal to both nproc_ob * nproc_domain(1) * nproc_domain(2) * nproc_domain(3)
and also nproc_domain_s(1) * nproc_domain_s(2) * nproc_domain_s(3)
. It should also be satisfied that nproc_domain_s(1)
is a multiple of nproc_domain(1)
, and the same relations to the second and third components.
&analysis
The following namelists specify whether the related output files are created or not after the calculation.
Mandatory: none
&analysis out_psi = 'y' out_dns = 'y' out_dos = 'y' out_pdos = 'y' out_elf = 'y' /
&units
Mandatory: none
&units unit_system='A_eV_fs' /
This namelist specifies the unit system to be used in the input file. If you do not specify it, atomic unit will be assumed.
For isolated systems (specified by iperiodic = 0
in &system
), the Angstrom/eV/fs are used for output files irrespective of the nameless value.
&calculation
Mandatory: calc_mode
&calculation calc_mode = 'RT' /
The value of the calc_mode
should be one of 'GS'
, 'RT'
, and 'GS-RT'
. For the linear response calculation, we choose 'RT'
.
Note that the ground state ('GS'
) and real time ('RT'
) calculations should be done separately and sequentially for isolated systems (specified by iperiodic = 0
in &system
).
For periodic systems (specified by iperiodic = 3
in &system
), both ground state and real time calculations should be carried out as a single task (calc_mode = 'GS_RT'
).
&control
Mandatory: none
&control sysname = 'C2H2' /
'C2H2' defined by sysname = 'C2H2'
will be used in the filenames of output files.
&system
Mandatory: iperiodic, al, nstate, nelem, natom
&system iperiodic = 0 al = 16d0, 16d0, 16d0 nstate = 5 nelem = 2 natom = 4 nelec = 10 /
These namelists and their values should be the same as those used in the ground state calculation.
See Explanations of input files (ground state of C2H2 molecule)-v.1.0.0#&system.
iperiodic = 0
indicates that isolated boundary condition is assumed.
al = 16d0, 16d0, 16d0
specifies the lengths of three sides of a rectangular parallelepiped where the grid points are prepared.
nstate = 8
indicates the number of Kohn-Sham orbitals to be solved.
nelec = 10
indicate the number of valence electrons in the system.
nelem = 2
and natom = 4
indicate the number of elements and the number of atoms in the system, respectively.
&pseudo
Mandatory: pseudo_file, iZatom
&pseudo izatom(1)=6 izatom(2)=1 pseudo_file(1)='C_rps.dat' pseudo_file(2)='H_rps.dat' lmax_ps(1)=1 lmax_ps(2)=0 lloc_ps(1)=1 lloc_ps(2)=0 /
Information on pseudopotentials.
izatom(1) = 6
indicates the atomic number of the element 1.
pseudo_file(1) = 'C_rps.dat'
indicates the filename of the pseudopotential of element 1.
lmax_ps(1) = 1
and lloc_ps(1) = 1
indicate the maximum angular momentum of the pseudopotential projector and the angular momentum of the pseudopotential that will be treated as local, respectively.
&tgrid
Mandatory: dt, Nt
&tgrid dt=1.25d-3 nt=5000 /
dt=1.25d-3
specifies the time step of the time evolution calculations.
nt=5000
specifies the number of time steps in the calculation.
&emfield
Mandatory: ae_shape1
&emfield ae_shape1 = 'impulse' epdir_re1 = 0.d0,0.d0,1.d0 /
This is a sample to calculate polarizability and oscillator distribution from real-time electron dynamics calculations.
Specifying ae_shape1 = 'impulse'
, a weak impulsive force is applied to the isolated matter at t=0
In output files, the polarizability and oscillator strength distribution, which is related to the imaginary part of the polarizability will be included.
&atomic_coor
Mandatory: none
&atomic_coor 'C' 0.000000 0.000000 0.599672 1 'H' 0.000000 0.000000 1.662257 2 'C' 0.000000 0.000000 -0.599672 1 'H' 0.000000 0.000000 -1.662257 2 /
List of atomic coordinates. Last column corresponds to kinds of elements.
additional options
¶llel
Mandatory: none
¶llel nproc_ob = 1 nproc_domain = 1,1,1 nproc_domain_s = 1,1,1 /
Followings are explanation of each variable.
-
nproc_ob
: Number of MPI parallelization for orbitals that related to the wavefunction calculation. -
nproc_domain(3)'
: Number of MPI parallelization for each direction in real-space that related to the wavefunction calculation. -
nproc_domain_s(3)'
: Number of MPI parallelization for each direction in real-space that related to the electron density calculation.
Defaults are 0
for nproc_ob
, (0/0/0)
for nproc_domain
, and (0/0/0)
for nproc_domain_s
. If users use the defauls, automatic proccess assignment is done. Users can also specify nproc_ob
, nproc_domain
, and nproc_domain_s
manually. In that case, followings must be satisfied.
- nproc_ob</code> *
nproc_domain(1)
*nproc_domain(2)
*nproc_domain(3)
=total number of processors -
nproc_domain_s(1)
*nproc_domain_s(2)
*nproc_domain_s(3)
=total number of processors -
nproc_domain_s(1)
is a multiple ofnproc_domain(1)
-
nproc_domain_s(2)
is a multiple ofnproc_domain(2)
-
nproc_domain_s(3)
is a multiple ofnproc_domain(3)
&analysis
Mandatory: none
&analysis out_psi = 'y' out_dns = 'y' out_dos = 'y' out_pdos = 'y' out_elf = 'y' /
These namelists specify the output files.
Unit system
Hartree atomic units are used in this calculation by default.
&calculation
&calculation calc_mode = 'GS_RT' /
The variable calc_mode
is set to be 'GS_RT'
mode, which corresponds to execute the ground state (GS) and real-time (RT) calculation with single calculation task.
&control
&control sysname = 'Si' /
The variable sysname
is set to be 'Si'
, which is used as the filename prefix of the outputs.
&system
&system iperiodic = 3 al = 10.26d0,10.26d0,10.26d0 isym = 8 crystal_structure = 'diamond' nstate = 32 nelec = 32 nelem = 1 natom = 8 /
iperiodic = 3
indicates that three dimensional periodic boundary condition (bulk crystal) is assumed.
al = 10.26d0, 10.26d0, 10.26d0
specifies the lattice constans of the unit cell crystaline.
The variable isym
indicates the symmetry in the unit cell.
Considering the bulk silicon crystal with the applied electric field parallel to the one lattice axis, isym = 8
is preferred to speed up the calculation.
For more infomation, see Symmetry group of crystaline.
crystal_structure = 'diamond'
indicate the crystal structure of the considered material.
nstate = 32
indicates the number of Kohn-Sham orbitals to be solved.
nelec = 32
indicate the number of valence electrons in the system.
nelem = 1
and natom = 8
indicate the number of elements and the number of atoms in the system, respectively.
&pseudo
&pseudo iZatom(1)=14 pseudo_file(1) = './Si_rps.dat' Lloc_ps(1)=2 /
iZatom(1) = 14
indicates the atomic number of the element #1.
pseudo_file(1) = 'Si_rps.dat'
indicates the pseudopotential filename of element #1.
Lloc_ps(1) = 2
indicate the angular momentum of the pseudopotential that will be treated as local.
&functional
&functional xc ='TBmBJ' cval = 1d0 /
xc ='TBmBJ'
specifies the type of exchange correlation potential. The TBmBJ indicates a meta-generalized gradient approximation proposed by Tran and Blaha Phys. Rev. Lett. 102, 226401 (2009).
cval
specifies the additional parameter of the TBmBJ potential. In the case of the silicon, cval = 1d0
is prefered to reproduce the experimentally mesured optical constants.
&rgrid
&rgrid num_rgrid = 12,12,12 /
num_rgrid=12,12,12
specifies number of the real space grids for single crystal calculation.
&kgrid
&kgrid num_kgrid = 4,4,4 /
num_kgrid=4,4,4
specifies number of the k-space grids for single crystal calculation.
&tgrid
&tgrid nt=3000 dt=0.16 /
dt=0.16
sets the time step of the time-evolution calculations.
Nt=3000
indicates the number of the total time steps in the calculation.
&propagation
&propagation propagator='etrs' /
propagation
specifies the numerical method of the time evolution of the wave function. The etrs
is Enforced time-reversal symmetry propagator. M.A.L. Marques, A. Castro, G.F. Bertsch, and A. Rubio, Comput. Phys. Commun., 151 60 (2003).
&scf
&scf ncg = 5 nscf = 120 /
ncg = 5
indicates the number of conjucate gradient step in the single scf calculation, and nscf = 120
specifies the number of the SCF step.
&emfield
&emfield trans_longi = 'tr' ae_shape1 = 'Acos2' rlaser_int1 = 1d14 pulse_tw1 = 441.195136248d0 omega1 = 0.05696145187d0 epdir_re1 = 0.,0.,1. /
ae_shape1 = 'Acos2'
specifies the pulse shape of the electric field, having cos-square envelope.
laser_int1
specifies maximum intensity of the applied electric field in unit of W/cm^2.
epdir_re1 = 0.d0,0.d0,1.d0
identifies the unit vector of polarization direction.
Specifying the real part of the polarization vector by 'epdir_re1', linear polarization is assumed.
Using both the real ('epdir_re1') and imaginary ('epdir_im1') parts of the polarization vector, circularly (and general ellipsoidally) polarized pulses may also be described.
omega1
specifies photon energy (frequency multiplied with plank constant).
pulse_tw1
sets the pulse duration.
Note that it is not FWHM but a full duration of the sine-square envelope.
phi_cep1
specifies the carrier envelope phase of the pulse.
It is possible to take two pulses simultaneously to simulate pump-probe experiments, adding information for two pulses.
The time delay can be indicated using the variable 't1_t2'.
&atomic_coor
&atomic_coor 'Si' .0 .0 .0 1 'Si' .25 .25 .25 1 'Si' .5 .0 .5 1 'Si' .0 .5 .5 1 'Si' .5 .5 .0 1 'Si' .75 .25 .75 1 'Si' .25 .75 .75 1 'Si' .75 .75 .25 1 /
List of atomic coordinates. Last column corresponds to kinds of elements.
Unit system
Hartree atomic units are used in this calculation by default.
&calculation
&calculation calc_mode = 'GS_RT' /
The variable calc_mode
is set to be 'GS_RT'
mode, which corresponds to execute the ground state (GS) and real-time (RT) calculation with single calculation task.s
&control
&control sysname = 'Si' /
The variable sysname
is set to be 'Si'
, which is used as the filename prefix of the outputs.
&system
&system iperiodic = 3 al = 10.26d0,10.26d0,10.26d0 isym = 8 crystal_structure = 'diamond' nstate = 32 nelec = 32 nelem = 1 natom = 8 /
iperiodic = 3
indicates that three dimensional periodic boundary condition (bulk crystal) is assumed.
al = 10.26d0, 10.26d0, 10.26d0
specifies the lattice constans of the unit cell crystaline.
The variable isym
indicates the symmetry in the unit cell.
Considering the bulk silicon crystal with the applied electric field parallel to the one lattice axis, isym = 8
is preferred to speed up the calculation.
For more infomation, see Symmetry group of crystaline.
crystal_structure = 'diamond'
indicate the crystal structure of the considered material.
nstate = 32
indicates the number of Kohn-Sham orbitals to be solved.
nelec = 32
indicate the number of valence electrons in the system.
nelem = 1
and natom = 8
indicate the number of elements and the number of atoms in the system, respectively.
&pseudo
&pseudo iZatom(1)=14 pseudo_file(1) = './Si_rps.dat' Lloc_ps(1)=2 /
iZatom(1) = 14
indicates the atomic number of the element 1.
pseudo_file(1) = 'Si_rps.dat'
indicates the filename of the pseudopotential of element 1.
Lloc_ps(1) = 1
indicate the angular momentum of the pseudopotential that will be treated as local.
&functional
&functional xc ='TBmBJ' cval = 1d0 /
xc ='TBmBJ'
specifies the type of exchange correlation potential. The TBmBJ indicates a meta-generalized gradient approximation proposed by Tran and Blaha Phys. Rev. Lett. 102, 226401 (2009).
cval
specifies the additional parameter of the TBmBJ potential. In the case of the silicon, cval = 1d0
is prefered to reproduce the experimentally mesured optical constants.
Unit system
Hartree atomic units are employed in this calculation by default.
&calculation
&calculation calc_mode = 'GS_RT' use_ms_maxwell = 'y' /
The variable calc_mode
is set to be 'GS_RT'
mode, which executes the ground state (GS) and real-time (RT) calculation with single calculation task.
use_ms_maxwell='y'indicates the multiscale Maxwell-TDDFT calculation mode.
&control
&control sysname = 'Si' /
The variable sysname
is set to be 'Si'
, which is the filename prefix of the outputs.
&system
&system iperiodic = 3 al = 10.26d0,10.26d0,10.26d0 isym = 8 crystal_structure = 'diamond' nstate = 32 nelec = 32 nelem = 1 natom = 8 /
iperiodic = 3
indicates that three dimensional periodic boundary condition (bulk crystal) is supposed.
al = 10.26d0, 10.26d0, 10.26d0
specifies the lattice constans of the unit cell crystaline.
The variable isym
indicates the symmetry in the unit cell.
Considering the bulk silicon crystal with the applied electric field parallel to the one lattice axis, isym = 8
is desirable to speed up the calculation.
For more information, see Symmetry group of crystalline.
crystal_structure = 'diamond'
indicate the crystal structure of the considered material.
nstate = 32
indicates the number of Kohn-Sham orbitals in the computation.
nelec = 32
is the number of valence electrons in the system.
nelem = 1
and natom = 8
is the number of elements and the number of atoms in the system, respectively.
&pseudo
&pseudo iZatom(1)=14 pseudo_file(1) = './Si_rps.dat' Lloc_ps(1)=2 /
iZatom(1) = 14
is the number of atoms for the element 1.
pseudo_file(1) = 'Si_rps.dat'
is the filename of the pseudopotential of element 1.
Lloc_ps(1) = 1
indicate the angular momentum of the pseudopotential.
&functional
&functional xc ='PZ' /
xc ='PZ'
specifies the type of exchange correlation potential as LDA.
&rgrid
&rgrid num_rgrid = 12,12,12 /
num_rgrid=12,12,12
specifies number of the real space grids for single crystal calculation.
&kgrid
&kgrid num_kgrid = 2,2,2 /
num_kgrid=2,2,2
specifies number of the k-space grids for single crystal calculation.
&tgrid
&tgrid
nt=4000 dt=0.08
/
dt=0.16
sets the time step of the time-evolution calculations.
Nt=3000
is the number of time steps in the calculation.
&propagation
propagation
propagator='middlepoint'
/
propagation='middlepoint'
specifies the numerical mathod of the time-evolution of the wave function.
&scf
&scf ncg = 5 nscf = 100 /
ncg = 5
is the number of conjucate gradient step in the single scf calculation, and nscf = 100
specifies the number of the SCF step.
&emfield
&emfield ae_shape1 = 'Acos2' rlaser_int1 = 1d12 pulse_tw1 = 441.195136248d0 omega1 = 0.05696145187d0 epdir_re1 = 0.,0.,1. /
ae_shape1 = 'Acos2'
specifies the pulse shape of the electric field, having cos-square envelope.
laser_int1
specifies maximum intensity of the applied electric field in unit of W/cm^2.
epdir_re1 = 0,0,1
identifies the unit vector of polarization direction.
Specifying the real part of the polarization vector by 'epdir_re1', linear polarization is assumed.
Using both the real ('epdir_re1') and imaginary ('epdir_im1') parts of the polarization vector, circularly (and general ellipsoidally) polarized pulses may also be described.
omega1
specifies photon energy (frequency multiplied with hbar).
pulse_tw1
sets the pulse duration.
Note that it is not FWHM but a full duration of the sine-square envelope.
phi_cep1
specifies the carrier envelope phase of the pulse.
It is possible to have two pulses simultaneously to simulate pump-probe experiments, adding information for two pulses.
The time delay can be indicated using the variable 't1_t2'.
&multiscale
&multiscale fdtddim = '1D' twod_shape = 'periodic' nx_m = 4 ny_m = 1 hX_m = 250d0 nksplit = 2 nxysplit = 1 nxvacl_m = -2000 nxvacr_m = 256 /
fdtddim
specifies the dimension of the macro system. In the case of fdtddim='1D'
, the one-dimensional light propagation in the slab region.
twod_shape = 'periodic'
specifies the boundary condition of the EM field.
nx_m, ny_m
is the number of the macroscopic grids for the x and y-direction, respectively.
nxvacl_m, nxvacr_m
indicates the number of the additional cells connected on the left-side and right-side of the material's surface.
&atomic_coor
&atomic_coor 'Si' .0 .0 .0 1 'Si' .25 .25 .25 1 'Si' .5 .0 .5 1 'Si' .0 .5 .5 1 'Si' .5 .5 .0 1 'Si' .75 .25 .75 1 'Si' .25 .75 .75 1 'Si' .75 .75 .25 1 /
List of atomic coordinates. Last column corresponds to kinds of elements.