Manual for SALMON-v.1.0.0(simple version)

July 3, 2018

Contents
1 Introduction
1.1 About SALMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 SALMON features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 SALMON at Github . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 List of developers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Citing SALMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2
2
3
3
3
3

2 Getting Started (Install & Run)
2.1 Installation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Installing SALMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Files necessary to run SALMON . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Running SALMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Additional options in configure.py script . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Build using GNU Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4
4
4
4
4
6
7
7
7
7

3 Inputs
3.1 &units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 &calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 &control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 &functional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 &system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 &pseudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 &atomic coor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 &atomic red coor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 &rgrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 &kgrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 &scf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12 &hartree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13 &tgrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14 &propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15 &emfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.1 Linear response calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15.2 Pulsed electric field calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16 &analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17 &multiscale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18 &parallel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8
8
8
8
9
9
10
11
11
11
11
12
12
12
12
13
13
13
14
15
15

1

4 Exercises
4.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 C2H2 (isolated molecules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Exercise-1: Ground state of C2H2 molecule . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Exercise-2: Polarizability and photoabsorption of C2H2 molecule . . . . . . . . . .
4.2.3 Exercise-3: Electron dynamics in C2H2 molecule under a pulsed electric field . . .
4.3 Crystalline silicon (periodic solids) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Exercise-4: Dielectric function of crystalline silicon . . . . . . . . . . . . . . . . . .
4.3.2 Exercise-5: Electron dynamics in crystalline silicon under a pulsed electric field . .
4.4 Maxwell + TDDFT multiscale simulation . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Exercise-6: Pulsed-light propagation through a silicon thin film . . . . . . . . . . .

15
15
16
16
17
18
19
19
20
20
20

5 References

21

1

Introduction

1.1

About SALMONSALMON is an open-source computer program for ab-initio quantum-mechanical calculations of electron
dynamics at the nanoscale that takes place in various situations of light-matter interactions. It is basedon time-dependent density functional theory, solving time-dependent Kohn-Sham equation in real timeand real space with norm-conserving pseudopotentials.
SALMON was born by unifying two scientific programs: ARTED, developed by Univ. Tsukuba
group, that describes electron dynamics in crystalline solids, and GCEED, developed by Institute for
Molecular Science group, that describes electron dynamics in molecules and nanostructures. It can thus
describe electron dynamics in both isolated and periodic systems. It can also describe coupled dynamics
of electrons and light-wave electromagnetic fields.
To run the program, SALMON requires MPI Fortran/C compiller with LAPACK libraries. SALMON
has been tested and optimized to run in a number of platforms, including Linux PC Cluster with x86-64
CPU, Fujitsu FX100 supercomputer system, K-computer, and supercomputer system with Intel Xeon
Phi (Knights Landing).

1.2

SALMON features

SALMON describes electron dynamics in both isolated (molecules and nanostructures) and periodic(crystalline solids) systems. SALMON first carries out ground-state calculations in the density functional
theory to prepare initial configurations. SALMON then calculates electron dynamics induced by applied
electric field. Employing a weak impulsive external field, SALMON can be used to calculate linear
response properties such as a polarizability of molecules and a dielectric function of crystalline solids.
Using pulsed electric fields, SALMON describes electron dynamics in matters induced by intense andultrashort laser pulses.
 Ground state calculations– Kohn-Sham orbitals and energies– density of states– projected density of states– electron localization function
 Optical properties– Oscillator strength distribution (absorption spectrum)– dielectric function
 Light-induced electron dynamics– time evolution of Kohn-Sham orbitals– density, current2

– excitation energy– number density of excited carriers
 Simultaneous description of electron dynamics and light pulse propagation– light pulse propagation as well as time evolution of Kohn-Sham orbitals– energy transfer from pulsed light to electrons

1.3

LicenseSALMON is available under Apache License version 2.0.
Copyright 2017 SALMON developers
Licensed under the Apache License, Version 2.0 (the ”License”); you may not use this file except incompliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License
is distributed on an ”AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language governing permissions andlimitations under the License.

1.4

SALMON at Github

SALMON is developed at GitHub.com

1.5

List of developers(Alphabetic order)
Isabella Floss (TU Wien, Austria)
Yuta Hirokawa (University of Tsukuba, Japan)
Kenji Iida (Institute for Molecular Science, Japan)
Kazuya Ishimura (Institute for Molecular Science, Japan)
Kyung-Min Lee (Max Planck Institute for the Structure and Dynamics of Matter, Germany)
Katsuyuki Nobusada (Institute for Molecular Science, Japan)
Masashi Noda (Institute for Molecular Science, Japan)
Tomohito Otobe (National Institutes for Quantum and Radiological Science and Technology, Japan)
Shunsuke Sato (Max Planck Institute for the Structure and Dynamics of Matter, Germany)
Yasushi Shinohara (University of Tokyo, Japan)
Takashi Takeuchi (Institute for Molecular Science, Japan)
Xiao-Min Tong (University of Tsukuba, Japan)
Mitsuharu Uemoto (University of Tsukuba, Japan)
Kazuhiro Yabana (University of Tsukuba, Japan)
Atsushi Yamada (University of Tsukuba, Japan)
Shunsuke Yamada (University of Tsukuba, Japan)
Maiku Yamaguchi (University of Tokyo, Japan)

1.6

Citing SALMONSALMON has been developed by the SALMON developers under supports by Center for Computational
Sciences, University of Tsukuba, and Institute for Molecular Science. SALMON has been supported by
Strategic Basic Research Programs, CREST, Japan Science and Technology Agency, under the Grand
Number JPMJCR16N5, in the research area of Advanced core technology for creation and practicalutilization of innovative properties and functions based upon optics and photonics. SALMON has been
also supported by Ministry of Education, Culture, Sports and Technology of Japan as a social andscientific priority issue (Creation of new functional devices and high-performance materials to support
next-generation industries: CDMSI) to be tackled by using post-K computer.

3

2

Getting Started (Install & Run)

2.1

Installation Requirements

In this guide, it is assumed that readers have a basic knowledge of Unix and its command line operations.
For the installation of SALMON, following packages are required.
 Fortran90/C compiler. SALMON assumes users have one of the following compilers:– GCC (Gnu Compiler Collection)– Intel Fortran/C Compiler– Fujitsu Compiler (at FX100 / K-Computer) One of the following library packages for linear algebra:– BLAS/LAPACK– Intel Math Kernel Library (MKL)– Fujitsu Scientific Subroutine Library 2 (SSL-II)
 Build tools.

– CMakeIf you use other compilers, you may need to change build scripts (CMake). See . If no numericallibrary is installed on your computer system, you may need to install BLAS/LAPACK by yourself. See
https://salmon-tddft.jp/wiki/Troubleshooting_of_the_Installation_Process.
For the installation of SALMON, we adopt the CMake tools as the first option. If there were any
problems to use CMake tools in your environment, you may use the GNU make tools. See https://salmon-tddft.jp/wiki/Troubleshooting_of_the_Installation_Process.

2.2

Installing SALMON

2.2.1

Download

The newest version of SALMON can be downloaded from https://salmon-tddft.jp/wiki/Download.
To extract files from the downloaded file salmon-.tar.gz, type the following command in the command-line,$ tar -zxvf ./salmon-.tar.gz
After the extraction, the following directories will be created.
SALMON|- srcSource codes|- example
Samples|- makefiles
GNU Makefiles for building|- cmakefiles
CMake related files|- makefiles
GNU Makefiles for building
2.2.2

Build

To compile SALMON to create executable the binary files, we adopt to use CMake tools as the first
option. In case you fail to build SALMON using CMake in your environment, we may use Gnu Make.
See .
Checking CMake availability First, examine whether CMake is usable in your environment or not.
Type the following in Unix command-line:$ cmake --version
If CMake is not installed in your system, an error message such as cmake: command not found willappear. If CMake is installed on your system, the version number will be shown. To build SALMON,
CMake of version 3.0.2 or later is required. If you confirm that CMake of version 3.0.2 or later is installed
in your system, proceed to . However, we realize that old versions of CMake are installed in many systems.
If CMake is not installed or CMake of older versions is installed in your system, you need to install the
new version by yourself. It is a simple procedure and explained below.
4Installation of CMake CMake is a cross-platform build tool. The simplest way to make CMakeusable in your environment is to get the binary distribution of CMake from the download page. The filename of the binary distribution will be cmake--.tar.gz). In standard Unix environment, a file for theplatform of Linux x86 64 will be appropriate.
To download the file, proceed as follows: We assume that you are in the directory that you extracted
files from the downloaded file of SALMON, and that you will use the version 3.8.2. First get the URL of
the download link from your browser, and use wget command in your Unix command-line.
$ wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz
Next, unpack the archive by$ tar -zxvf cmake-3.8.2-Linux-x86_64.tar.gz
and you will have the binary make-3.8.2-Linux-x86 64/bin/cmake in your directory.
To make the cmake command usable in your command-line, you need to modify the environment
variable $PATH so that the executable of CMake are settled inside the directory specified in your $PATH.
If you use the bash shell, you need to modify the file ~/.bashrc that specifies the $PATH variable. It canbe done by typing the following command in your login directory,$ export PATH=<SALMON_INSTALLATION_DIRECTORY>/cmake-3.8.2-Linux-x86_64/bin:$PATH
and then reload the configuration by typing:$ source ~/.bashrc
Build using CMake Confirming that CMake of version 3.0.2 or later can be usable in your environment, proceed the following steps. We assume that you are in the directory SALMON.
 Create a new temporary directory build and move to the directory,$ mkdir build$ cd build Execute the python script configure.py and then make,$ python ../configure.py --arch=ARCHITECTURE --prefix=../$ make$ make install
In executing the python script, you need to specify ARCHITECTURE that indicates the architectureof the CPU in your computer system such as intel-avx. The options of the ARCHITECUTRE are as
follows:
arch

DetailCompiler

Numerical Library

intel-knl
intel-knc
intel-avx
intel-avx2
intel-avx512
fujitsu-fx100
fujitsu-kIntel Knights LandingIntel Knights Corner
Intel Processer (Ivy-, Sandy-Bridge)
Intel Processer (Haswell, Broadwell ..)Intel Processer (Skylake-SP)
FX100 Supercomputer
Fujitsu FX100 / K-computerIntel Compiler
Intel Compiler
Intel Compiler
Intel Compiler
Intel Compiler
Fujitsu Compiler
Fujitsu Compiler

Intel MKLIntel MKLIntel MKLIntel MKLIntel MKL
SSL-II
SSL-II

If the build is successful, you will get a file salmon.cpu at the directory salmon/bin. If you specify
many-core architechtures, intel-knl or intel-knc, you find a file salmon.mic or both files salmon.cpu andsalmon.mic.

5

Build for single process calculations In default, the python script assumes parallel execution. If
you use a single processor machine, specify --disable-mpi in executing the python script:$ python ../configure.py --arch= --disable-mpi
2.2.3

Files necessary to run SALMON

To run SALMON, at least two kinds of files are required for any calculations. One is an input file withthe filename extension *.inp* that should be read from the standard input stdin. This file should be
prepared in the Fortran90 namelist format. Pseudopotential files of relevant elements are also required.
Depending on your purpose, some other files may also be necessary. For example, coordinates of atomic
positions of the target material may be either written in the input file or prepared as a separate file.
Pseudopotentials SALMON utilizes norm-conserving pseudpotentials. You may find pseudopotentials
of some elements in the samples prepared in https://salmon-tddft.jp/wiki/Exercises. In SALMON,
several formats of pseudopotentials may be usable. Pseudopotentials with an extension .fhi can beobtained from the website listed below. (This is a part of previous atomic data files for the ABINIT
code.)
Pseudopotential

WebsitePseudopotentials for the ABINIT code

https://www.abinit.org/sites/default/files/PrevAtomicData/psp-link

Filenames of the pseudopotentials should be written in the input file.
input file Input files are composed of several blocks of namelists,&namelist1
variable1 = int value
variable2 = 'char value'/&namelist2
variable1 = real8 value
variable2 = int value1, int value2, int value3/
A block of namelists starts with &namelist line and ends with / line. The blocks may appear in any
order.
Between two lines of &namelist and /, descriptions of variables and their values appear. Note thatmany variables have their default values so that it is not necessary to give values for all variables.
Descriptions of the variables may appear at any position if they are between &namelist and /.
SALMON describes electron dynamics in systems with both isolated and periodic boundary conditions. The boundary condition is specified by the variable iperiodic in the namelist &system.
Calculations are usually achieved in two steps; first, the ground state calculation is carried out andthen electron dynamics calculations in real time is carried out. A choice of the calculation mode is
specified by the variable calc mode in the namelist &calculation. For isolated systems, the ground state
and the electron dynamics calculations should be carried out as two separate executions. First the groundstate calculation is carried out specifying ”calc mode = ’GS’ ”. Then the real-time electron dynamics
calculation is carried out specifying ”calc mode = ’RT’ ”. For periodic systems, two calculations should
be carried out as a single execution specifying ”calc mode = ’GS RT’ ”.
In https://salmon-tddft.jp/wiki/Exercises, we prepare six exercises that cover typical calculations feasible by SALMON. We prepare explanations of the input files of the exercises that will help toprepare input files of your own interests.
There are more than 20 groups of namelists. A complete list of namelist variables is given in the file
SALMON/manual/input variables.md. Namelist variables that are used in our exercises are explained athttps://salmon-tddft.jp/wiki/Input_variables.

6

2.3

Running SALMON

Before running SALMON, the following preparations are required as described above: The executable
file of salmon.cpu (and salmon.mic if your system is the many-core machine) should be built from thesource file of SALMON. An input file inputfile.inp and pseudopotential files should also be prepared.
The execution of the calculation can be done as follows: In single process environment, type thefollowing command:$ salmon.cpu < inputfile.inp > fileout.out
In multiprocess environment in which the command to execute parallel calculations using MPI is
mpiexec, type the following command:$ mpiexec -n NPROC salmon.cpu < inputfile.inp > fileout.out
where NPROC is the number of MPI processes that you will use. In many-core processor (e.g. intelknl) environment, the execution command is$ mpiexec.hydra -n NPROC salmon.mic < inputfile.inp > fileout.out
The execution command and the job submission procedure depends much on local environment. We
summarize general conditions to execute SALMON: SALMON runs in both single-process and multi-process environments using MPI.
 executable files are prepared as /salmon/bin/salmon.cpu and/or /salmon/bin/salmon.mic in thestandard build procedure.
 to start calculations, inputfile.inp should be read through stdin.

2.4

Appendix

2.4.1

Additional options in configure.py script

Manual specifications of compiler and environment variables In executing configure.py, you
may manually specify compiler and environment variables instead of specifying the architecture, forexample:$ python ../configure.py FC=mpiifort CC=mpiicc FFLAGS="-xAVX" CFLAGS="-restrict -xAVX"The major options of configure.py are as follows:
Commandline switch

Detail-a ARCH, --arch=ARCH--enable-mpi, --disable-mpi--enable-scalapack, --disable-scalapack
FC, FFLAGS
CC, CFLAGS

Target architecture
enable/disable MPI parallelization.
enable/disable computations with ScaLAPACK library
User-defined Fortran Compiler, and the compiler options
User-defined C Compiler, and the compiler options

Build for single process calculations If you use a single processor machine, specify --disable-mpi
in executing the python script:$ python ../configure.py --arch= --disable-mpi
Build in GCC/GFortran environemnt If you use GCC/GFortran compiler, specify the following
flags in executing the python script:$ python ../configure.py FC=gfortran CC=gcc FFLAG=-O3 CFLAG=-O3
2.4.2

Build using GNU Makefile

If CMake build fails in your environment, we recommend you to try to use Gnu Make for the build
process. First, enter the directory makefiles:$ cd SALMON/makefiles
In the directory, Makefile files are prepared for several architectures: fujitsu
 gnu

7 gnu-without-mpi
 intel intel-avx
 intel-avx2
 intel-knc
 intel-knl
 intel-without-mpi

Makefile files with -without-mpi indicate that they are for single processor environment. Choose
Makefile appropriate for your environment, and execute the make command:$ make -f Makefile.PLATFORM
If the make proceeds successful, a binary file is created in the directory SALMON/bin/.

3

InputsWe 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’.

3.1&unitsMandatory: none
&amp;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 thisnamelist variable is used for most output files. See the first few lines of output files to confirm the unit
system adopted in the file.

3.2&calculation

Mandatory: calc mode
&amp;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 carriedout as a single task (calc mode = ’GS RT’‘).
For Maxwell + TDDFT multi-scale calculation, add the following namelist.
use ms maxwell = 'y'3.3&control

Mandatory: none
&amp;control
sysname = ’C2H2’/8

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

3.4&functional&amp;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’ isavailable at present.
For periodic systems (specified by iperiodic = 3 in &system), the following functionals may beavailable in addition to ’PZ’:
xc = 'PZM'
Perdew-Zunger LDA with modification to improve sooth connection between high density form andlow 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). Thispotential is known to provide a reasonable description for the bandage of various insulators. For thischoice, the additional mixing parameter ’cval’ may be specified. If cval is set to a minus value, themixing-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.

3.5

&system

Mandatory: iperiodic, al, nstate, nelem, natom
For an isolated molecule (Tutorial-1, 2, 3):&amp;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 systemis 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):&amp;system
iperiodic = 3
al = 10.26d0,10.26d0,10.26d0
nstate = 32
nelec = 32
nelem = 1
natom = 8/9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 ofatoms in the system, respectively.
For Maxwell - TDDFT multi scale calculation (Tutorial-6):&amp;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.

3.6&pseudoMandatory: pseudo file, izatom
For C2H2 molecule:&amp;pseudoizatom(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 pseudopotentialof element #1. lmax ps(1) = 1 and lloc ps(1) = 1 specify the maximum angular momentum of thepseudopotential projector and the angular momentum of the pseudopotential that will be treated as local,
respectively.
For crystalline Si:&amp;pseudoizatom(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 momentumof the pseudopotential that will be treated as local.

10

3.7

&atomic coor

Mandatory: atomic coor or atomic red coor (they may be provided as a separate file)
For C2H2 molecule:&amp;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.

3.8&atomic red coor

Mandatory: atomic coor or atomic red coor (they may be provided as a separate file)
For a crystalline silicon:&amp;atomic_red_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/
Cartesian coordinates of atoms are specified in a reduced coordinate system. First column indicatesthe element, next three columns specify reduced Cartesian coordinates of the atoms, and the last column
labels the element.

3.9&rgridMandatory: dl or num rgrid
This namelist provides grid spacing of Cartesian coordinate system. dl(3) specify the grid spacingin three Cartesian coordinates. This is adopted for C2H2 calculation (Tutorial-1).
&amp;rgrid
dl = 0.25d0, 0.25d0, 0.25d0/
num rgrid(3) specify the number of grid points in each Cartesian direction. This is adopted forcrystalline Is calculation (Tutorial-4, 5, 6).
&amp;rgrid
num_rgrid = 12,12,12/

3.10&kgridMandatory: none
This namelist provides grid spacing of k-space for periodic systems.
&amp;kgrid
num_kgrid = 4,4,4
/
11

3.11

&scf

Mandatory: nscf
This namelists specify parameters related to the self-consistent field calculation.
&amp;scf
ncg = 4
nscf = 1000
convergence = ’norm_rho_dng’threshold_norm_rho = 1.d-15/
ncg = 4 is the number of conjugate-gradient iterations in solving the Kohn-Sham equation. Usually
this value should be 4 or 5. nscf = 1000 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 to examine
the convergence. If the value of norm rho dng is specified, the convergence is examined by the squared
difference of the electron density,

3.12&hartree

Mandatory: none
&amp;hartree
meo = 3
num_pole_xyz = 2,2,2/
meo specifies the order of multipole expansion of electron density that is used to prepare boundary
condition for the Hartree potential.
 meo=1: Monopole expansion (spherical boundary condition).
 meo=2: Multipole expansions around each atom.
 meo=3: Multipole expansion around the center of mass of electrons in cubits that are defined by
num pole xyz.

num pole xyz(3) defines the division of space when meo = 3 is specified.
A default for meo is 3, and defaults for num pole xyz are (0,0,0). When default is set for num pole xyz,
the division of space is carried out using a prescribed method.

3.13&tgridMandatory: dt, Nt&amp;tgrid
dt=1.25d-3
nt=5000/
dt=1.25d-3 specifies the time step of the time evolution calculation. nt=5000 specifies the numberof time steps in the calculation.

3.14&propagation

This namelist specifies the numerical method for time evolution calculations of electron orbitals.
&amp;propagation
propagator=’etrs’/
12propagator = 'etrs' indicates the use of enforced time-reversal symmetry propagator. M.A.L.
Marques, A. Castro, G.F. Bertsch, and A. Rubio, Comput. Phys. Commun., 151 60 (2003).
&amp;propagation
propagator=’middlepoint’/
propagation='middlepoint' indicates that Hamiltonian at midpoint of two-times is used.
The default is middlepoint.

3.15&emfieldThis namelist specifies the pulse shape of an electric filed applied to the system in time evolution calculations. We explain below separating two cases, #Linear response calculations and #Pulsed electric fieldcalculations.
3.15.1

Linear response calculations

A weak impulsive field is applied at t=0. For this case, ae shape1 = 'impulse' should be described.
Mandatory: ae shape1&amp;emfield
ae_shape1 = ’impulse’
epdir_re1 = 0.d0,0.d0,1.d0/
epdir rel(3) specify a unit vector that indicates the direction of the impulse.
For a periodic system specified by iperiodic = 3, one may add trans longi. It has the value,'tr'(transverse) or 'lo'(longitudinal), that specifies the treatment of the polarization in the time evolution calculation. The default is 'tr'.
&amp;emfieldtrans_longi = ’tr’
ae_shape1 = ’impulse’
epdir_re1 = 0.,0.,1.
/
The magnitude of the impulse of the pulse may be explicitly specified by, for example, e impulse =1d-2. The default is ’1d-2’ in atomic unit.
3.15.2

Pulsed electric field calculations

A Pulsed electric field of finite time duration is applied. For this case, as shape1 should be specified. It
indicates the shape of the envelope of the pulse. The options include ’Acos2’ and ’Ecos2’ (See below forother options).
Mandatory: ae shape1, epdir re1, {rlaser int1 or amplitude1}, omega1, pulse tw1, phi cep1
&amp;emfield
ae_shape1 = ’Ecos2’
epdir_re1 = 0.d0,0.d0,1.d0
rlaser_int_wcm2_1 = 1.d8
omega1=9.28d0
pulse_tw1=6.d0
phi_cep1=0.75d0/13

ae shape1 = 'Ecos2' specifies the envelope of the pulsed electric field, ’Ecos2’ for the cosˆ2 envelope
for the electric field. If ’Acos2’ is specified, this gives cosˆ2 envelope for the vector potential. Note that’phi cep1’ must be 0.75 (or 0.25) if one employs ’Ecos2’ pulse shape, since otherwise the time integral of
the electric field does not vanish. There is no such restriction for the ’Acos2’ pulse shape.
epdir re1 = 0.d0,0.d0,1.d0 specifies the real part of the unit polarization vector of the pulsed
electric field. If only the real part is specified, it describes a linearly polarized pulse. Using both real(’epdir re1’) and imaginary (’epdir im1’) parts of the polarization vector, circularly (and general ellipsoidary) polarized pulses may be described.
laser int wcm2 1 = 1.d8 specifies the maximum intensity of the applied electric field in unit of
W/cmˆ2. It is also possible to specify the maximum intensity of the pulse by amplitude1.
omega1=9.26d0 specifies the average photon energy (frequency multiplied with hbar).
pulse tw1=6.d0 specifies the pulse duration. Note that it is not the FWHM but a full duration of
the cosˆ2 envelope.
phi cep1=0.75d0 specifies the carrier envelope phase of the pulse. As noted above, ’phi cep1’ must
be 0.75 (or 0.25) if one employs ’Ecos2’ pulse shape, since otherwise the time integral of the electric field
does not vanish. There is no such restriction for the ’Acos2’ pulse shape.
It is possible to use two pulses simultaneously to simulate pump-probe experiments, adding information for two pulses. To specify the second pulse, change from 1 to 2 in the namelist variables, likeae shape2. The time delay between two pulses is specified by the variable ’t1 t2’.
For a periodic system specified by iperiodic = 3, one may add trans longi. It has the value,'tr'(transverse) or 'lo'(longitudinal), that specifies the treatment of the polarization in the time evolution calculation. The default is 'tr'. For a periodic system, it is also specify ’Acos3’, ’Acos4’, ’Acos6’,’Acos8’ for ae shape1.

3.16&analysis

Mandatory: none
The following namelists specify whether the output files are created or not after the calculation. In
the ground state calculation of isolated systems (Tutorial-1):&amp;analysis
out_psi = ’y’
out_dns = ’y’
out_dos = ’y’
out_pdos = ’y’out_elf = ’y’/
In the time evolution calculation of isolated systems (Tutorial-3):&amp;analysis
out_dns_rt = ’y’out_elf_rt = ’y’out_estatic_rt = ’y’/
In the following namelists, variables related to time-frequency Fourier analysis are specified.
&amp;analysis
nenergy=1000
de=0.001/
nenergy=1000 specifies the number of energy steps, and de=0.001 specifies the energy spacing in thetime-frequency Fourier transformation.

14

3.17

&multiscaleThis namelist specifies information necessary for Maxwell - TDDFT multiscale calculations.
&amp;multiscale
fdtddim = ’1D’
twod_shape = ’periodic’
nx_m = 4ny_m = 1
hX_m = 250d0
nxvacl_m = -2000
nxvacr_m = 256/
fdtddim specifies the spatial dimension of the macro system. fdtddim='1D' indicates that onedimensional equation is solved for the macroscopic vector potential.
nx m = 4 specifies the number of the macroscopic grid points in for x-direction in the spatial region
where the material exists.
hx m = 250d0 specifies the grid spacing of the macroscopic grid in x-direction.
nxvacl m = -2000 and nxvacr m = 256 indicate the number of grid points in the vacuum region,
nxvacl m for the left and nxvacr m for the right from the surface of the material.

3.18&parallel

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
&amp;parallel
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 0 (automatic parallelization).
 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 (0/0/0) (automatic parallelization).
 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 (0/0/0) (automaticparallelization).

The following conditions must be satisfied.
 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).
 nproc domain s(1) is a multiple of nproc domain(1), and the same relations to the second andthird components.

4

Exercises

4.1

Getting started

Welcome to SALMON Exercises!
In these exercises, 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
15

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, https://salmon-tddft.jp/
wiki/download and https://salmon-tddft.jp/wiki/Install_and_Run.
As described in https://salmon-tddft.jp/wiki/Install_and_Run, you are required to prepare atleast an input file and pseudopotential files to run SALMON. In the following, we present input files forseveral 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 filesof elements that appear in the samples are also attached. We also present explanations of main output
files.
We present 6 exercises.
First 3 exercises (Exercise-1 ˜ 3) are for an isolated molecule, acetylene C2H2. If you are interested inlearning electron dynamics calculations in isolated systems, please look into these exercises. In SALMON,
we usually calculate the ground state solution first. This is illustrated in Exercise-1. After finishing the
ground state calculation, two exercises of electron dynamics calculations are prepared. Exercise-2 illustrates the calculation of linear optical responses in real time, obtaining polarizability and photoabsorptionof the molecule. Exercise-3 illustrates the calculation of electron dynamics in the molecule under a pulsed
electric field.
Next 2 exercises (Exercise-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 exercises. Since groundstate 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 exercises areorganized in that way. Exercise-4 illustrates the calculation of linear response properties of crystalline
silicon to obtain the dielectric function. Exercise-5 illustrates the calculation of electron dynamics in the
crystalline silicon induced by a pulsed electric field.
The final exercise (Exercise-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. Exercise-6 illustrates the calculation of a pulsed, linearly polarized
light irradiating normally on a surface of a bulk silicon.

4.2

C2H2 (isolated molecules)

4.2.1

Exercise-1: Ground state of C2H2 molecule

In this exercise, we learn the calculation of the ground state solution of acetylene (C2H2) molecule,solving the static Kohn-Sham equation. This exercise will be useful to learn how to set up calculationsin SALMON for any isolated systems such as molecules and nanoparticles. It should be noted that atpresent it is not possible to carry out the geometry optimization in SALMON. Therefore, atomic positionsof 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
C2H2 gs.inp
C rps.dat
H rps.dat

description
input file that contains namelist variables and their values
pseodupotential file for carbon atom
pseudopotential file for hydrogen atom

You may download the above 3 files (zipped file) from:https://salmon-tddft.jp/wiki/File:C2H2 gs input.zip
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:
https://salmon-tddft.jp/wiki/Explanations of input files (ground state of C2H2 molecule)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.
16Output files
code,

After the calculation, following output files are created in the directory that you run thefile name
C2H2 info.data
dns.cube
elf.cube
psi1.cube, psi2.cube, ...
dos.data
pdos1.data, pdos2.data, ...
C2H2 gs.bin

description
information on ground state solution
a cube file for electron density
electron localization function (ELF)
electron orbitals
density of states
projected density of statesbinary 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:https://salmon-tddft.jp/wiki/File:C2H2 gs output.zip
Main results of the calculation such as orbital energies are included in C2H2 info.data. Explanationsof the C2H2 info.data and other output files are described in:
https://salmon-tddft.jp/wiki/Explanations of output files (ground state of C2H2 molecule)
Images

We show several image that are created from the output files.
image
highest occupied molecular orbital (HOMO)
electron density
electron localization function

4.2.2

files used to create the image
psi1.cube, psi2.cube, ...
dns.cube
elf.cube

Exercise-2: Polarizability and photoabsorption of C2H2 molecule

In this exercise, we learn the linear response calculation in the acetylene (C2H2) molecule, solving thetime-dependent Kohn-Sham equation. The linear response calculation provides the polarizability and theoscillator strength distribution of the molecule. This exercise should be carried out after finishing the
ground state calculation that was explained in Exercise-1. In the calculation, an impulsive perturbation isapplied 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 iscarried 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 andthe photoabsorption cross section.
Input files To run the code, the input file C2H2 rt response.inp that contains namelist variables andtheir 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 shouldbe the same as those used in the ground state calculation.
file name
C2H2 rt response.inp
C rps.dat
H rps.dat
C2H2 gs.bin

description
input file that contains namelist variables and their values
pseodupotential file for carbon
pseudopotential file for hydrogenbinary file created in the ground state calculation

You may download the C2H2 rt response.inp file (zipped file) from:https://salmon-tddft.jp/wiki/File:C2H2 rt response input.zip
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:
https://salmon-tddft.jp/wiki/Explanations of input files (polarizability and photoabsorption of C2H2
17

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
code,

After the calculation, following output files are created in the directory that you run thefile name
C2H2 lr.data
C2H2 p.data

description
polarizability and oscillator strength distribution as functions of energy
components of dipole moment as functions of time

You may download the above files (zipped file) from:https://salmon-tddft.jp/wiki/File:C2H2 rt response output.zip
Explanations of the output files are given in:
https://salmon-tddft.jp/wiki/Explanations of output files (polarizability and photoabsorption of C2H
4.2.3

Exercise-3: Electron dynamics in C2H2 molecule under a pulsed electric field

In this exercise, we learn the calculation of the electron dynamics in the acetylene (C2H2) molecule undera 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 Exercise-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 gs.bin file is created in the groundstate 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 calculationis the only file that the users need to prepare.
file name
C2H2 rt pulse.inp
C rps.dat
H rps.dat
C2H2 gs.bin

description
input file that contain namelist variables and their values.
pseodupotential file for Carbon
pseudopotential file for Hydrogenbinary file created in the ground state calculation

You may download the C2H2 rt pulse.inp file (zipped file) from:https://salmon-tddft.jp/wiki/File:C2H2 rt pulse input.zip
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 explanationsof the namelist variables that appear in the input file in:https://salmon-tddft.jp/wiki/Explanations of input files (C2H2 molecule under a pulsed electric field
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 the input file can befound in the downloaded file SALMON/manual/input variables.md.
Output files
code,

After the calculation, following output files are created in the directory that you run thefile name
C2H2 p.data
C2H2 ps.data

description
components of the electric dipole moment as functions of time
power spectrum that is obtained by a time-frequency Fourier transformation of the electric dipole mome

18

You may download the above files (zipped file) from:https://salmon-tddft.jp/wiki/File:C2H2 rt pulse output.zip
Explanations of the files are described in:
https://salmon-tddft.jp/wiki/Explanations of output files (C2H2 molecule under a pulsed electric fiel

4.3

Crystalline silicon (periodic solids)

4.3.1

Exercise-4: Dielectric function of crystalline silicon

In this exercise, 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 Fouriertransformation 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
Si gs rt response.inp
Si rps.dat

description
input file that contain namelist variables and their values.
pseodupotential file of silicon

You may download the above 2 files (zipped file) from:https://salmon-tddft.jp/wiki/File:Si gs rt response input.zip
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:https://salmon-tddft.jp/wiki/Explanations of input files (dielectric function of crystalline siliconThis 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
code,

After the calculation, following output files are created in the directory that you run thefile name
Si gs info.data
Si eigen.data
Si k.data
Si rt.data
Si force.data
Si lr.data
Si gs rt response.out

description
information of ground state calculationenergy eigenvalues of orbitals
information on k-points
electric field, vector potential, and current as functions of timeforce acting on atoms
Fourier spectra of the dielectric functions
standard output file

You may download the above files (zipped file) from:https://salmon-tddft.jp/wiki/File:Si gs rt response output.zip
Explanations of the output files are described in:
https://salmon-tddft.jp/wiki/Explanation of output fiels (dielectric function of crystalline silicon

19

4.3.2

Exercise-5: Electron dynamics in crystalline silicon under a pulsed electric field

In this exercise, we learn the calculation of electron dynamics in a unit cell of crystalline silicon of adiamond structure. Calculation is done in a cubic unit cell that contains eight silicon atoms. Since theground 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 fieldthat 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
Si gs rt pulse.inp
Si rps.dat

description
input file that contain namelist variables and their values.
pseodupotential file for Carbon

You may download the above 2 files (zipped file) from:https://salmon-tddft.jp/wiki/File:Si gs rt pulse input.zip
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 filein:https://salmon-tddft.jp/wiki/Explanation of input files (crystalline silicon under a pulsed electricThis 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
code,

After the calculation, following output files are created in the directory that you run thefile name
Si gs info.data
Si eigen.data
Si k.data
Si rt.data
Si force.data
Si lr.data
Si gs rt pulse.out

description
information of ground state calculationenergy eigenvalues of orbitals
information on k-points
electric field, vector potential, and current as functions of timeforce acting on atoms
Fourier transformations of various quantities
standard output file

You may download the above files (zipped file) from:https://salmon-tddft.jp/wiki/File:Si gs rt pulse output.zip
Explanations of the output files are described in:
https://salmon-tddft.jp/wiki/Explanation of output files (crystalline silicon under a pulsed electri

4.4

Maxwell + TDDFT multiscale simulation

4.4.1

Exercise-6: Pulsed-light propagation through a silicon thin film

In this exercise, 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 statecalculation 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 namedescription20

Si gs rt multiscale.inp
Si rps.dat

input file that contain namelist variables and their values.
pseodupotential file for silicon

You may download the above two files (zipped file) from:https://salmon-tddft.jp/wiki/File:Si gs rt multiscale input.zip
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:https://salmon-tddft.jp/wiki/Explanation of input files (pulsed-light propagation through a siliconThis 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
code,

After the calculation, following output files are created in the directory that you run thefile name
Si gs info.data
Si eigen.data
Si k.data
Si Ac xxxxxx.data
Si Ac M xxxxxx.data
Si Ac vac.data
Si gs rt multiscale.out

description
results of the ground state as well as input parameters
orbital energies in the ground state calculation
information on k-points
various quantities at a time as functions of macroscopic position
various quantities at a macroscopic point as functions of time
vector potential at vacuum position adjacent to the medium
standard output file

You may download the above files (zipped file) from:https://salmon-tddft.jp/wiki/File:Si gs rt multiscale output.zip
Explanations of the output files are described in:
https://salmon-tddft.jp/wiki/Explanation of output files (pulsed-light propagation through a silicon

5References21