Polarization

Spontaneous polarization of ferroelectric BaTiO3

Introduction

Ferroelectric (FE) materials have a spontaneous electric polarization that can be reversed by the application of an external electric field. FE materials find applications in capacitors, ferroelectric random access memory (RAM), and more recently in ferroelectric tunnel junction (FTJ) displaying giant electroresistance effects [1] [2].

One of the most studied FE materials is barium titanate (BaTiO3 ), which is the topic for this tutorial. Before continuing with the calculations, let us briefly summarize some central theoretical concepts first.

Modern theory of polarization

The theoretical understanding of FE materials is described by the so-called modern theory of polarization [3]. It is common to divide the polarization of a material into electronic and ionic parts. The latter is calculated using a simple classical electrostatic sum of point charges

\[\mathbf{P}_i = \frac{|e|}{\Omega}\sum_\nu Z^\nu_\mathrm{ion} \mathbf{r}^\nu,\]

where \(Z^\nu_\mathrm{ion}\) and \(\mathbf{r}^\nu\) are the valence charge and position vector of atom \(\nu\), \(\Omega\) is the unit cell volume, and the sum runs over all ions in the unit cell.

The electronic contribution to the polarization is obtained as [3]

\[\mathbf{P}_e = -\frac{2|e|i}{(2\pi)^3}\int_A d\mathbf{k}_\bot\sum_{n=1}^M\int_0^{G_\parallel}\langle u_{\mathbf{k},n}| \frac{\partial}{\partial k_\parallel}|u_{\mathbf{k},n}\rangle dk_\parallel,\]

where the sum runs over occupied bands, and where \(k_\parallel\) is parallel to the direction of polarization, and \(G_\parallel\) is a reciprocal lattice vector in the same direction. The states \(|u_{\mathbf{k},n}\rangle\) are the cell-periodic parts of the Bloch functions, \(\psi_{\mathbf{k},n}(\mathbf{r}) = u_{n,\mathbf{k}}(\mathbf{r})e^{i\mathbf{k}\cdot\mathbf{r}}\). The last integral is known as the Berry phase. The integral over the perpendicular directions can easily be converged with a few number of k-points. The number of k-points in the parallel direction should be larger, however.

The total polarization is simply the sum of the electronic and ionic contributions,

\[\mathbf{P}_t = \mathbf{P}_i + \mathbf{P}_e.\]

An important finding in Ref. [3] was that the polarization is a multivalued quantity, and in fact forms a lattice. The reason is that the electronic polarization \(\mathbf{P}_e\) is determined by the Berry phase, which is only defined modulo \(2\pi\). Likewise, the ionic contribution \(\mathbf{P}_i\) would attain a different value if all ionic positions were displaced by a lattice constant in either direction.

The polarization is thus a periodic function, and the period is called the polarization quantum, \(\mathbf{P}_q^j=\frac{|e|\mathbf{R}^j}{\Omega}\), where \(|e|\) is the electronic charge, \(\mathbf{R}^j\) is the lattice vector \(j\), and \(\Omega\) is the unit cell volume.

Given the multivalued nature of the polarization, it is perhaps not surprising that only differences in polarization, \(\Delta \mathbf{P}\), between two different structures is a well-defined property.

ATK computes and reports the electronic and ionic contributions separately, and also reports the polarization quantum.

Important

Note that the implementation does not work for metallic systems. Usage in 2D systems should be done with thorough testing of the used settings and results.

Spontaneous polarization of ferroelectric BaTiO3

The BaTiO3 crystal structure

Barium titanate (BaTiO3) has a tetragonal crystal structure at room temperature, where the unit cell is slightly elongated in the c-direction. An internal stress further shifts the fractional coordinates in the c-direction away from their high symmetry positions. In this tutorial we use the experimental lattice constants and coordinates as obtained from the Inorganic Crystal Structure Database (ICSD) The structure is given in the QuantumATK format below [4]

# Set up lattice
lattice = SimpleTetragonal(3.9945*Angstrom, 4.0335*Angstrom)

# Define elements
elements = [Barium, Titanium, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.      ,  0.      ,  0.      ],
                          [ 0.5     ,  0.5     ,  0.51427 ],
                          [ 0.5     ,  0.5     ,  0.974477],
                          [ 0.5     ,  0.      ,  0.487618],
                          [ 0.      ,  0.5     ,  0.487618]]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

Setting up the calculation

You will in this section set up a DFT calculation using the local density approximation (LDA) for the BaTiO3 crystal and calculate the polarization. You will use QuantumATK for the calculation, and it is recommended that you go through the Basic QuantumATK Tutorial to be familiar with the basic work flow.

Start up QuantumATK and create a new project for this tutorial. Use a new, empty directory. Select the text for the BaTiO3 structure in the python script above and drag it onto the Script Generator icon script_generator_icon. The tool will interpret the script and open up with the imported geometry

../../_images/BaTiO2-script_generator.png

Tip

Alternatively you can save the script to a file in the project directory and drag and drop the file to the Script Generator from the QuantumATK main window.

Next do the following steps:

  • Change the Default output file to BaTiO3_lda.hdf5.

  • Add a calculator_icon New Calculator.

  • Add Analysis ‣ Polarization.

../../_images/script_generator_settings.png

Now double-click the New Calculator block in the “Script” panel to open the calculator widget.

Set the k-point sampling to 5x5x5; the other default settings are fine.

../../_images/calculator_settings1.png

The next step is to adjust the settings for the polarization analysis. Double-click the Polarization block.

Increase the number of k-points on the diagonal to 20. This is the number of k-points along the lines of integration and needs to be relatively high. You should always check for convergence by comparing calculations with different numbers of k-points. The other k-points with values of 5 correspond to the number of transverse k-points used for averaging over the Brillouin zone. The polarization values converge relatively fast with respect to the number of transverse k-points and we thus use the default value.

../../_images/polarization_settings.png

You have now finished the script setup. Save the script as “BaTiO3_lda.py”. Send the script to the Job Manager and run the job. After a few minutes the calculation has finished and you can inspect the results.

Analyzing the results

To inspect the calculated polarization reported in the log file, scroll down to the end of the log file and you will find a report as shown below.

+------------------------------------------------------------------------------+
| Polarization                                                                 |
+------------------------------------------------------------------------------+
| Electronic fractional polarization.                                          |
| Values wrapped to the interval [-0.5,0.5]                                    |
|       [ -1.25164671e-15 ]                                                    |
|  Pe=  [ -6.42868666e-16 ]                                                    |
|       [ -4.71901310e-01 ]                                                    |
+------------------------------------------------------------------------------+
| Ionic fractional polarization.                                               |
| Values wrapped to the interval [-0.5,0.5]                                    |
|       [  0.00000000e+00 ]                                                    |
|  Pi=  [  0.00000000e+00 ]                                                    |
|       [ -2.44642000e-01 ]                                                    |
+------------------------------------------------------------------------------+
| Total fractional polarization. Pt = Pe + Pi.                                 |
| Values wrapped to the interval [-0.5,0.5]                                    |
|       [ -1.25164671e-15 ]                                                    |
|  Pt=  [ -6.42868666e-16 ]                                                    |
|       [  2.83456690e-01 ]                                                    |
+------------------------------------------------------------------------------+
| Total cartesian polarization.                                                |
|       [ -1.24465114e-15 ]                                                    |
|  Pt=  [ -6.39275613e-16 ] C/Meter**2                                         |
|       [  2.84624464e-01 ]                                                    |
+------------------------------------------------------------------------------+
| Polarization quantum.                                                        |
|       [  9.94410906e-01 ]                                                    |
|  Pq=  [  9.94410906e-01 ] C/Meter**2                                         |
|       [  1.00411976e+00 ]                                                    |
+------------------------------------------------------------------------------+

Tip

The results can also be inspected by selecting the polarization object in the file “BaTiO3_lda.hdf5” on the LabFloor and clicking Show Text Representation…

../../_images/quantumatk.png

Notes

The output contains five calculated quantities:

  • First, the electronic fractional polarization \(\mathbf{P}_e\) is calculated from the Berry phase obtained from the occupied bands, as described in Modern theory of polarization. The three values correspond to the x, y, and z directions.

  • The second quantity \(\mathbf{P}_i\) is the purely ionic fractional polarization \(\mathbf{P}_i = \sum_j Z_j^{ion}\tau_j\), where \(Z_j^{ion}\) and \(\tau_j\) are the valence charge and fractional coordinate of of atom \(j\).

  • The third quantity, \(\mathbf{P}_t\), is the total fractional polarization, which is the sum of the electronic and ionic parts. As discussed in Modern theory of polarization, the polarization is a multivalued quantity, and therefore all fractional polarizations are wrapped to the interval [-0.5,0.5], which explains the sign change of the polarization in the z-direction. The sum \(\mathbf{P}_e(z) + \mathbf{P}_i(z) = -0.717\) is outside the range and is thus wrapped by adding a fractional quantization quantum (equal to 1), i.e. \(\mathbf{P}_t(z) = -0.717 + 1 = 0.283\).

  • The fourth quantity is the total polarization \(\mathbf{P}_t\) in Cartesian coordinates, expressed in units of C/m2.

  • The fifth quantity is the polarization quantum \(\mathbf{P}_q\) introduced in Modern theory of polarization. It is relevant that \(\mathbf{P}_t\) is small compared to \(\mathbf{P}_q\).

According to the modern theory of polarization [3], only the difference in polarization between two configurations is a well-defined property. In order to calculate the spontaneous polarization of tetragonal BaTiO3, it is thus necessary to also compute the polarization of the centrosymmetric, undistorted structure given below:

# Set up lattice
lattice = SimpleTetragonal(3.9945*Angstrom, 4.0335*Angstrom)

# Define elements
elements = [Barium, Titanium, Oxygen, Oxygen, Oxygen]

# Define coordinates
fractional_coordinates = [[ 0.0    ,  0.      ,  0.  ],
                          [ 0.5    ,  0.5     ,  0.5 ],
                          [ 0.5    ,  0.5     ,  1.0 ],
                          [ 0.5    ,  0.      ,  0.5 ],
                          [ 0.0    ,  0.5     ,  0.5 ]]

# Set up configuration
bulk_configuration = BulkConfiguration(
    bravais_lattice=lattice,
    elements=elements,
    fractional_coordinates=fractional_coordinates
    )

You may repeat the above steps to calculate the polarization for this structure. The results are that all polarization components are zero. The spontaneous polarization of tetragonal BaTiO3, thus corresponds to the values reported above for the distorted structure.

The calculated value for the total Cartesian polarization in the z-direction \(\mathbf{P}_t(z)=0.284\) C/m2 compares well with the experimental value 0.26 C/m2 [5].

References