Tutorial-v.1.0.0

From salmon
Revision as of 14:23, 21 November 2017 by Yabana (talk | contribs) (&system)
Jump to: navigation, search

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. A thorough list of the namelist variables may be found in the downloaded file in 'SALMON/manual/input_variables.md'.

&units

Mandatory: none

&units
  unit_system='A_eV_fs'
/

This namelist specifies the unit system to be used in the input file. Options are 'A_eV_fs' for Angstrom, eV, and fs, and 'a.u.' or 'au' for atomic units. If you do not specify it, atomic unit will be used as default.

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.

For periodic systems (specified by iperiodic =3 in &system), the unit system specified by this namelist variable is used for most output files. See the first few lines of output files to confirm the unit system adopted in the file.

&calculation

Mandatory: calc_mode

&calculation
  calc_mode = 'GS'
/

The value of the calc_mode should be one of 'GS', 'RT', and 'GS-RT'. For isolated systems (specified by iperiodic = 3 in &system), the ground state ('GS') and the real time ('RT') calculations should be done separately and sequentially. 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').

For Maxwell + TDDFT multi-scale calculation, add the following namelist.

   use_ms_maxwell = 'y'

&control

Mandatory: none

&control
  sysname = 'C2H2'
/

'C2H2' defined by sysname = 'C2H2' will be used in the filenames of output files. If you do not specify it, the file name will start with 'default'.

&functional

 &functional
   xc ='PZ'
 /

xc ='PZ' indicates that (adiabatic) local density approximation is adopted (Perdew-Zunger: Phys. Rev. B23, 5048 (1981)). This is the default choice.

For isolated systems (specified by iperiodic = 0 in &system), only the default choice of 'PZ' is available at present.

For periodic systems (specified by iperiodic = 3 in &system), the following functionals may be available in addition to 'PZ':

xc = 'PZM'

Perdew-Zunger LDA with modification to improve sooth connection between high density form and low density one. :J. P. Perdew and Alex Zunger, Phys. Rev. B 23, 5048 (1981).

xc = 'TBmBJ'
cval = 1.0

Tran-Blaha meta-GGA exchange with Perdew-Wang correlation. :Fabien Tran and Peter Blaha, Phys. Rev. Lett. 102, 226401 (2009). John P. Perdew and Yue Wang, Phys. Rev. B 45, 13244 (1992). This potential is known to provide a reasonable description for the bandage of various insulators. For this choice, the additional mixing parameter 'cval' may be specified. If cval is set to a minus value, the mixing-parameter will be computed following the formula in the original paper [Phys. Rev. Lett. 102, 226401 (2009)]. The default value for this parameter is 1.0.

&system

Mandatory: iperiodic, al, nstate, nelem, natom

For an isolated molecule (Tutorial-1, 2, 3):

&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.

For a periodic system (Tutorial-4, 5):

&system
  iperiodic = 3
  al = 10.26d0,10.26d0,10.26d0
  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. 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.

For Maxwell - TDDFT multi scale calculation (Tutorial-6):

 &system
   iperiodic = 3
   al = 10.26d0,10.26d0,10.26d0
   isym = 8 
   crystal_structure = 'diamond'
   nstate = 32
   nelec = 32
   nelem = 1
   natom = 8
 /

The difference from the above case is the variables, isym = 8 and crystal_structure = 'diamond', which indicates that the spatial symmetry of the unit cell is used in the calculation. Although the use of the symmetry substantially reduces the computational cost, it should be used very carefully. At present, the spatial symmetry has been implemented only for the case of the diamond structure.

&pseudo

Mandatory: pseudo_file, izatom

For C2H2 molecule:

&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.

For crystalline Si:

&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.