SALMON (Scalable Ab-initio Light-Matter simulator for Optics and Nanoscience)



  1. Overview
  2. SALMON features
    1. Ground state calculations
    2. Optical properties
    3. Light-induced electron dynamics
    4. Propagation of light electromagnetic fields
    5. Simultaneous description of electron dynamics and light pulse propagation
  3. License
  4. SALMON at Github
  5. List of developers
  6. How to cite SALMON
  7. Acknowledgements for SALMON developments


SALMON 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 based on time-dependent density functional theory, solving time-dependent Kohn-Sham equation in real time and 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, supercomputer systems with Fujitsu FX100 and A64FX processors, and supercomputer system with Intel Xeon Phi (Knights Landing).

SALMON features

In the microscopic scale, SALMON describes electron dynamics in both isolated (molecules and nanostructures) and periodic (crystalline solids) systems, solving time-dependent Kohn-Sham equation in real time and real space with norm-conserving pseudopotential. 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 and ultrashort laser pulses.

SALMON is also capable of describing a propagation of electromagnetic fields of light using finite-difference time-domain method. As a unique feature of SALMON, it is possible to carry out calculations of a coupled dynamics of light electromagnetic fields and electron dynamics simultaneously.

Efficient parallelizations are implemented in the code by dividing spatial grids, orbital index, and k-points. SALMON shows a good scalability when it runs in parallel supercomputers, both for the ground state and the time evolution calculations.

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, current
  • excitation energy
  • number density of excited carriers

Propagation of light electromagnetic fields

  • Drude-Lorentz model
  • optical response of metasurfaces

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


SALMON 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 in compliance with the License.
 You may obtain a copy of the License at

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 See the License for the specific language governing permissions and

 limitations under the License.

SALMON at Github

SALMON is developed at

List of developers

(Alphabetic order)

  • Isabella Floss (TU Wien, Austria)
  • Yuta Hirokawa (Prometech Software, Inc., Japan)
  • Kenji Iida (Hokkaido University, Japan)
  • Yuki Ito (Fixstars Corporation, Japan)
  • Jun-Ichi Iwata (Advance Soft Co., Japan)
  • Masashi Noda (Academeia, Japan)
  • Tomohito Otobe (National Institutes for Quantum and Radiological Science and Technology, Japan)
  • Shunsuke Sato (University of Tsukuba, Japan)
  • Yasushi Shinohara (University of Tokyo, Japan)
  • Takashi Takeuchi (University of Tsukuba, Japan)
  • Mitsuharu Uemoto (Kobe University, Japan)
  • Kazuhiro Yabana (University of Tsukuba, Japan)
  • Atsushi Yamada (University of Tsukuba, Japan)
  • Shunsuke Yamada (University of Tsukuba, Japan)

Former developers

  • Kazuya Ishimura
  • Kyung-Min Lee
  • Katsuyuki Nobusada
  • Xiao-Min Tong
  • Maiku Yamaguchi

How to cite SALMON

Suggested Citations
If you publish a paper in which SALMON makes an important contribution, please cite the SALMON code paper, Ref. [1] published in Computer Physics Communications.

We also suggest you to cite the following papers depending on your usage of SALMON.

    • If you use SALMON for electron dynamics calculations of a large-size system, Ref. [2] that discusses massively parallel implementation utilizing spatial divisions will be appropriate.
    • if you use SALMON to calculate electron dynamics in a unit cell of crystalline solid, Ref. [3] discussing formalism and numerical implementation will be appropriate.
    • Ref. [4] is one of the first implementations of the real-time time-dependent density functional calculation, in particular, instantaneous kick for the linear response calculations.
    • If you use multiscale calculation coupling Maxwell equations for the electromagnetic fields of light and electron dynamics, Ref. [5] discussing the formalism and the numerical implementation will be appropriate.
    • Ref. [6] describes parallelization method for the coupled Maxwell - TDDFT calculations.
    • Ref. [7] describes computational aspects of electron dynamics calculations for periodic systems in many-core processors:

[1] M. Noda, S. A. Sato, Y. Hirokawa, M. Uemoto, T. Takeuchi, S. Yamada, A. Yamada, Y. Shinohara, M. Yamaguchi, K. Iida, I. Floss, T. Otobe, K.-M. Lee, K. Ishimura, T. Boku, G. F. Bertsch, K. Nobusada, and K. Yabana. Salmon: scalable ab-initio light-matter simulator for optics and nanoscience. Comp. Phys. Comm., 235, 356-365, (2019)
[2] Masashi Noda, Kazuya Ishimura, Katsuyuki Nobusada, Kazuhiro Yabana, and Taisuke Boku. Massively-parallel electron dynamics calculations in real-time and real-space: toward applications to nanostructures of more than ten-nanometers in size. Journal of Computational Physics, 265, 145–155, (2014)
[3] George F Bertsch, J-I Iwata, Angel Rubio, and Kazuhiro Yabana. Real-space, real-time method for the dielectric function. Physical Review B, 62(12), 7998, (2000)
[4] K. Yabana and G. F. Bertsch. Time-dependent local-density approximation in real time. Phys. Rev. B, 54, 4484–4487, (1996)
[5] Kazuhiro Yabana, T Sugiyama, Y Shinohara, T Otobe, and GF Bertsch. Time-dependent density functional theory for strong electromagnetic fields in crystalline solids. Physical Review B, 85(4), 045134, (2012).
[6] Shunsuke A. Sato and Kazuhiro Yabana. Maxwell + tddft multi-scale simulation for laser-matter interactions. Journal of Advanced Simulation in Science and Engineering, 1(1), 98–110, (2014)
[7] Yuta Hirokawa, Taisuke Boku, Shunsuke A Sato, and Kazuhiro Yabana. Electron dynamics simulation with time-dependent density functional theory on large scale symmetric mode xeon phi cluster. In Parallel and Distributed Processing Symposium Workshops, 2016 IEEE International, 1202–1211. IEEE, (2016).

Acknowledgements for SALMON developments

SALMON has been developed by the SALMON developers under supports by Center for Computational Sciences, University of Tsukuba, and National Institute for Quantum and Radiological Science and Technology. 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 practical utilization of innovative properties and functions based upon optics and photonics. SALMON was also supported by Ministry of Education, Culture, Sports and Technology of Japan as a social and scientific 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.