Automatic filling of the Cij tensor based on symmetry: the cij.util.fill module

cij.util.fill.fill_cij(elast, system=None, ignore_residuals=False, ignore_rank=False, drop_atol=1e-08, residual_atol=0.1)

Fill Cij tensor components based on the symmetry constraints of the crystal system.

Parameters
  • elast (DataFrame) – Elastic tensor components at different volume points as input.

  • system (Optional[str]) – Name of the crystal system whose symmetry is applied to fill the missing elastic tensor components. Should be Should be one of: triclinic, monoclinic, hexagonal, trigonal6, trigonal7, orthorhombic, tetragonal6, tetragonal7, cubic.

  • ignore_residuals (bool) – Keep filling the missing elastic tensor components based on the crystal system even if the disagreements exceeds tolerance.

  • ignore_rank (bool) – Keep filling the missing elastic tensor components based on the crystal system even if not all necessary components are given.

  • drop_atol (float) – Drop the elastic tensor components if the magnitude of the elastic tenor components if this components in all volume points are less than this value.

  • residual_atol (float) – Disagreement allowed between the input elastic tensor components and constraints enforced by the symmetry of the system.

Return type

DataFrame

Returns

Elastic tensor components at different volume points with missing terms filled based on symmetry constraints of the crystall system.