A database for the optical properties beyond linear regime from high-throughput density functional perturbation theory

This repository contains the database as described in this paper:

  • Trinquet, V., Naccarato, F., Brunin, G. et al. A Database for the Optical Properties Beyond Linear Regime From High-Throughput Density Functional Perturbation Theory. Sci Data, 2024

The database can also be visualized in an interactive manner here. When clicking on a given marker, the user is redirected to the corresponding compound on the Materials Project website.

A Python script is also given to manipulate the form of the second-harmonic generation (SHG) or dielectric tensor.

The database

The JSON file "nlodb.json" contains the results of the high-throughput density functional perturbation theory (DFPT). The format is as follows:

| Key | Data type | Description | |-------------------- |----------- |----------------------------------------------------------------------------- | | MP_id | string | Material id | | formula | string | Chemical formula | | nsites | integer | Number of atoms in the primitive cell | | crystal_system | string | Crystal system | | point_group | string | Point group in Hermann-Mauguin notation | | space_group | string | Space group as defined by the International Union of Crystallography | | space_group_number | integer | Space group number as defined by the International Union of Crystallography | | input_params | various | Input parameters used for the calculation (see table below) | | dte_output | various | Dielecric properties computed with DFPT (see table below) |

where "input_params" is as follows:

| Key | Data type | Description | |--------------------- |----------- |--------------------------------------------------------------------- | | structure | string | Crystal structure in Crystallographic Information File (CIF) format | | ecut | float | Energy cutoff (Hartree) | | ngkpt | array | k-point grid | | nshiftk | integer | Number of k-point grid shifts | | shiftk | array | Shift of k-point grid | | pseudopotential_md5 | array | List of MD5 hashes uniquely identifying the pseudopotentials |

while "dte_output" is as follows:

| Key | Data type | Description | |--------- |----------- |--------------------------------------------------------------- | | eps_inf | array | Electronic contribution to the dielectric permittivity tensor | | dte | array | Static SHG tensor (pm/V) |

Once downloaded, the database can be read using, for example, the json python package after having opened the file:

import json
  
# Opening the file
file = open('nlodb.json')
  
# reading the JSON as a dictionary
data = json.load(file)

f.close()

The interactive map

The HTML file 'nlodb_map.html' provides an interactive visualization tool of the present database. Hovering above markers allows to display information on the material of interest such as its SHG tensor or its presence in the ICSD. If more information is required, the user can be redirected to the corresponding compound on the Materials Project website by clicking on the marker. The user can switch between different representation of the database thanks to the upper left button. This file is also accessible online. Please note that the choice of browser can affect the rendering of the figures and hover information.

The script

As mentioned in the reference article, the SHG tensor possesses a conventional form that depends on the point group of the material of interest. The python script "rotation.py" contains functions to perform rotations of the SHG or the dielectric tensor as done during the post-processing step of the database. This can prove useful in the context of phase-matching (PM) as illustrated in the following example.

When investigating the PM of biaxial crystals, the convention for the diagonalized dielectric tensor is that $\varepsilon_x<\varepsilon_y<\varepsilon_z$. The phase-matching angles are calculated in consequence. However, this ordering of the diagonal components does not necessarily correspond to the conventional form of the SHG tensor with respect to the point group. This subtlety is thus of particular importance in order to obtain the correct effective SHG coefficient at the phase matching angles. If one obtains the conventional dielectric tensor with ordered diagonal components through a certain rotation, then the same rotation must be applied to the SHG tensor before calculating the corresponding effective coefficient.