Piezoelectric textbook (LBL)

Computing A Textbook of Crystal Physics | Berkeley Lab

Researchers at Berkeley Lab and the University of California (UC) Berkeley have developed a methodology that enabled them to compute piezoelectric constants for nearly 1,000 inorganic compounds.

“We don’t collect experimental data – but we compare calculations with reported experimental piezoelectric constants,” says Persson. “For new materials that have not been measured before, it’s up to the community to test the data – by growing a film or a single crystal – and comparing with Materials Project computations.”

"data publication": A database to enable discovery and design of piezoelectric materials : Scientific Data

doi:10.1038/sdata.2015.53

-> https://dx.doi.org/10.1038/sdata.2015.53

http://www.nature.com/articles/sdata201553

http://www.nature.com/articles/sdata201553#contributions:

M.d.J. performed piezoelectric constant-calculations, developed the algorithm and the code, worked on data analysis and verification and wrote the paper. W.C. performed piezoelectric constant-calculations, developed the HT implementation and worked on data analysis and verification. H.G. contributed to the data analysis and verification. M.A. was involved in supervising and planning the work and its integration with the Materials Project effort. K.P. was involved in supervising and planning the work and its integration with the Materials Project effort.

http://www.nature.com/articles/sdata201553#data-citations:

De Jong, M., Chen, W., Geerlings, H., Asta, M., & Persson, K. Dryad http://dx.doi.org/10.5061/dryad.n63m4 (2015).


In [1]:
%matplotlib inline

In [2]:
from pandas import Series

In [3]:
# get the data set

import requests

url = "http://datadryad.org/bitstream/handle/10255/dryad.95403/piezo.json?sequence=1"
r = requests.get(url)

In [4]:
# how many records?
# there are supposed to 941
len(r.json())


Out[4]:
941

In [5]:
# look at one data element
r.json()[0]


Out[5]:
{u'eij_max': 0.091464,
 u'meta': {u'formula': u'AgI',
  u'kpoint_density': 2000,
  u'material_id': u'mp-22925',
  u'nsites': 2,
  u'point_group': u'-43m',
  u'poscar': u'Ag1 I1\n1.0\n4.066724 0.000000 2.347924\n1.355575 3.834144 2.347924\n0.000000 0.000000 4.695849\nAg I\n1 1\ndirect\n0.000000 0.000000 0.000000 Ag\n0.250000 0.250000 0.250000 I\n',
  u'space_group': 216,
  u'structure': u"#generated using pymatgen\ndata_AgI\n_symmetry_space_group_name_H-M   'P 1'\n_cell_length_a   4.69584858\n_cell_length_b   4.69584857\n_cell_length_c   4.69584857\n_cell_angle_alpha   59.99999994\n_cell_angle_beta   59.99999998\n_cell_angle_gamma   59.99999995\n_symmetry_Int_Tables_number   1\n_chemical_formula_structural   AgI\n_chemical_formula_sum   'Ag1 I1'\n_cell_volume   73.2195833241\n_cell_formula_units_Z   1\nloop_\n _symmetry_equiv_pos_site_id\n _symmetry_equiv_pos_as_xyz\n  1  'x, y, z'\nloop_\n _atom_site_type_symbol\n _atom_site_label\n _atom_site_symmetry_multiplicity\n _atom_site_fract_x\n _atom_site_fract_y\n _atom_site_fract_z\n _atom_site_occupancy\n  Ag  Ag1  1  0.000000  0.000000  0.000000  1\n  I  I2  1  0.250000  0.250000  0.250000  1\n",
  u'volume': 73.21958332409856},
 u'piezoelectric_tensor': [[0.0, 0.0, 0.0, -0.15842, 0.0, 0.0],
  [0.0, 0.0, 0.0, 0.0, -0.15842, 0.0],
  [0.0, 0.0, 0.0, 0.0, 0.0, -0.15842]],
 u'v_max': [1.0, 1.0, 1.0]}

In [6]:
r0 = r.json()[0]

In [7]:
rows = r.json()

In [8]:
s = Series([row.get('eij_max') for row in rows])

Figure 6

Can we reproduce Figure 6?:


In [9]:
from collections import Counter

# distribution of point groups

Counter([row['meta']['point_group'] for row in rows])


Out[9]:
Counter({u'-4': 62,
         u'-42m': 105,
         u'-43m': 131,
         u'-6m2': 37,
         u'1': 56,
         u'2': 63,
         u'222': 28,
         u'23': 11,
         u'3': 17,
         u'32': 43,
         u'3m': 99,
         u'4': 4,
         u'4mm': 37,
         u'6': 3,
         u'6mm': 55,
         u'm': 12,
         u'mm2': 178})

In [10]:
# look at histography of eij_max > 2
s[s < 2].hist(bins=30)


Out[10]:
<matplotlib.axes._subplots.AxesSubplot at 0x10a3b6bd0>

Figure 7

I ran into problems trying to reproduce Figure 7:

I wrote the author:

I'm interested in reproducing Figure 7 of the paper. I downloaded the dataset (http://datadryad.org/resource/doi:10.5061/dryad.n63m4) but could not find the experimental values for eij_max for the 36 systems represented in Fig 7. Could you tell me how to find those values along with the corresponding material_id? Thanks!

Zebras (UC Davis)

Why zebras have stripes: The debate goes on :: UC Davis News & Information

links to the "full commentary" at http://bit.ly/1RioXQv -> http://rsos.royalsocietypublishing.org/content/royopensci/2/9/150323.full.pdf?ijkey=CXqtqKxzDzMXW02&keytype=ref

better link is use DOI: 10.1098/rsos.150323 --> e.g., dx.doi.org/10.1098/rsos.150323 -> dx.doi.org/10.1098/rsos.150323 (pdf: http://rsos.royalsocietypublishing.org/content/2/9/150323.full-text.pdf)