Vibrational modes and Vibration Visualizer

In this tutorial you will study the vibrational properties of nanoscale systems using the VibrationalMode analysis object and the Vibration Visualizer plugin. Two systems are investigated:

  1. Monolayer MoS2.
  2. A nanophononic metamaterial


Calculation of vibrational properties relies on the dynamical matrix of the configuration, which describes the force response on all atoms due to out-of-equilibrium displacements of all other atoms.

MoS2 monolayer

Generate the MoS2 structure

Open the builder_icon Builder, and do the following:

  • Use the Database plugin via Add ‣ From Database and locate molybdenite. Add it to the Stash.
  • Use the mouse to select and delete the 3 atoms to the right in the cell. This leaves a single layer of MoS2.
  • Open Bulk Tools ‣ Lattice Parameters and change the z direction to 25 Å.
  • Center the structure using Coordinate Tools ‣ Center.
  • Send the structure to the script_generator_icon Script Generator by using the sendto_icon icon. The next step is to create the script to optimize the structure.

Optimize the MoS2 structure

  • Add calculator_icon New Calculator and optimization_icon OptimizeGeometry blocks.
  • In New Calculator, use the ATK-ForceField engine and in particular the “StillingerWebber_MoS_2013” potential`.


For ATK-versions older than 2017, the ATK-ForceField calculator can be found under the name ATK-Classical.

  • In OptimizeGeometry, reduce the force and stress tolerance to 0.001 eV/Å and 0.001 eV/Å3, click OK and save the script before running the optimization.
  • Save the script as Run the script by sending it to the job_manager_icon Job Manager, or from a terminal with the command
$ atkpython > mos2_relax.out

An example script is available to download.


In the case of monolayer, the potential agrees exactly with Ref. [JPR13]. However, the Lennard-Jones potential reported in the reference for the inter-layer coupling has not yet been implemented.

Phonon band structure and density of states

The phonon band structure and the phonon density of states are now easily obtained:

  • Drop the optimized MoS2 BulkConfiguration onto the Scripter and add a calculator_icon New Calculator by double clicking it.
  • Change the default output file to
  • Check if the calculator is set to ATK-ForceField.
  • Add the analysis_icon Analysis ‣ PhononDensityOfStates and analysis_icon Analysis ‣ PhononBandstructure analysis objects.
  • Note that the analysis_icon DynamicalMatrix was automatically added also.
  • Open the DynamicalMatrix block and select Repeats ‣ Custom and set the repeats to (21,21,1).
  • Open PhononBandstructure and set “Points pr. segment” to 400 and set the Brillouin zone route to the sequence [G, M, K, G].
  • In Analysis‣PhononDensityOfStates, untick “Sync” and set the q-point sampling to (99, 99, 1).

Run calculation and analyze results

Run the calculation. Once finished, the LabFloor should contain the PhononBandstructure and PhononDensityOfStates objects:

  • labfloor_phononbandstructure_icon PhononBandstructure
  • labfloor_phonondensityofstates_icon PhononDensityOfStates

Inspect the phonon band structure and density of states using the Bandstructure Analyzer and 2D Plot tools. The results are in complete agreement with literature data [JPR14].


Vibrational Modes

To visualize the vibrational modes, a simple post-processing is sufficient:

  • Open the script_generator_icon Script Generator and do the following:
  • Add an analysis_from_file_icon Analysis from File block, double click to open it, select the output file, and choose the subject id as “gID000”.
  • Add a analysis_icon Analysis‣VibrationalMode analysis object and select the q-point coordinates and mode indices of interest.

The script will recalculate the dynamical matrix, which is inconvenient. To reuse the already calculated dynamical matrix, send the script to the editor and change the line defining the dynamical matrix such that it reads object “gID001” from the file

# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
configuration = nlread('', object_id='gID000')[0]

# -------------------------------------------------------------
# Dynamical Matrix
# -------------------------------------------------------------
dynamical_matrix = nlread('', object_id='gID001')[0]

# -------------------------------------------------------------
# Vibrational Mode
# -------------------------------------------------------------
vibrational_mode = VibrationalMode(
    kpoint_fractional=[0, 0, 0],
nlsave('', vibrational_mode)

Execute the script, and when the calculation is complete you will find the VibrationalMode object on the LabFloor:

  • labfloor_vibrationalmode_icon VibrationalMode

Select it and open it by clicking the Vibration Visualizer plugin. You can then visualize the vibrational mode as an animation.


Once you are done with the settings you can right click on the plot to export as a picture or as an animated gif. The two animated gifs below illustrate mode 4 at Γ (276.87 cm-1) and at M (252.32 cm-1), respectively.

../../_images/mode4_M_352.32cm-1.gif ../../_images/mode4_Gamma_276.87cm-1.gif

You can play around with the Vibration Visualizer and compare the results with the literatures values in [JPR14][GAZW+13][YSB+14].

Nanophononic metamaterials

Another great example of the vibrational mode analysis is simulation of a nanophononic metamaterial. Bruce L. Davis and Mahmoud I. Hussein recently reported that specific vibrational modes of pillared silicon thin films will strongly suppress the thermal conductivity of the films due to the local resonance [DH14]. Let’s study the vibrational feature of the structure using ATK:

Calculation Setup

Open the Builder and do the following:

  • Use Add ‣ From Database to add “Silicon (alpha)” to the Stash.
  • Transform the primitive cell into the conventional cell using Bulk Tools ‣ Supercell.
  • Use the Bulk Tools ‣ Repeat to repeat the structure 6x6x8 times to create a configuration with 2304 silicon atoms.
  • Use the Selection Tools, in particular Selection by Expression, to cut out a pillared structure.


The expression “z > 20 and x < 10” will select one particular part of the configuration that could then be removed by Edit ‣ Delete Atoms.

  • Adjust the structure by increasing the lattice vector and pillar pointing direction to create a vacuum region above and below the pillared film.
  • Send the configuration to the Scripter and add a Calculator, a PhononBandstructure analysis object and two VibrationalMode objects.
  • Setup the calculator to use ATK-ForceField.


You can leave the settings in DynamicalMatrix by defaults when calculating a 3D structure.

  • Open PhononBandstructure and

    • set “Points pr. segment” to 100,;
    • set “Number of bands” to 50;
    • set the Brillouin zone route to [G, X].
  • Edit both VibrationalMode objects such as to calculate the vibrational modes in the Γ point (0, 0, 0) and in the X point (0.5, 0, 0) and select mode indices [0,1,2,3,4,5,6,7,8] in both objects.

  • Run the calculation. It will take a while for a single CPU core, but will be very efficient if the job is parallelized.


Plot the calculated phonon bandstructure, and compare it with the phonon bandstructure of a uniform film. You can see that the array of pillars introduces a series of localized states (without dispersion), which are the states that lower the thermal conductivity of the silicon film, as explained in Ref. [DH14].


The vibrational modes illustrated below are calculated for the localized state marked in the bandstructure plot above at Γ and X points, respectively. The displacements are enhanced for a clearer view. This is controlled by the Temperature setting in the Vibration Visualizer plugin.

../../_images/mode8_gamma.gif ../../_images/mode8_test.gif


[DH14](1, 2) Bruce L. Davis and Mahmoud I. Hussein. Nanophononic metamaterial: Thermal conductivity reduction by local resonance. Phys. Rev. Lett., 112:055505, Feb 2014. doi:10.1103/PhysRevLett.112.055505.
[GAZW+13]Mahdi Ghorbani-Asl, Nourdine Zibouche, Mohammad Wahiduzzaman, Augusto F. Oliveira, Agnieszka Kuc, and Thomas Heine. Electromechanics in mos2 and ws2: nanotubes vs. monolayers. Scientific Reports, 2013. doi:10.1038/srep02961.
[JPR13]Jin-Wu Jiang, Harold S. Park, and Timon Rabczuk. Molecular dynamics simulations of single-layer molybdenum disulphide (mos2): Stillinger-weber parametrization, mechanical properties, and thermal conductivity. Journal of Applied Physics, 114(6):–, 2013. doi:10.1063/1.4818414.
[JPR14](1, 2) Jin-Wu Jiang, Harold S. Park, and Timon Rabczuk. Mos2 nanoresonators: intrinsically better than graphene? Nanoscale, 6:3618–3625, 2014. doi:10.1039/C3NR05991J.
[YSB+14]Rusen Yan, Jeffrey R. Simpson, Simone Bertolazzi, Jacopo Brivio, Michael Watson, Xufei Wu, Andras Kis, Tengfei Luo, Angela R. Hight Walker, and Huili Grace Xing. Thermal conductivity of monolayer molybdenum disulfide obtained from temperature-dependent raman spectroscopy. ACS Nano, 8(1):986–993, 2014. doi:10.1021/nn405826k.