atomistics.workflows.elastic.workflow.ElasticMatrixWorkflow#

class atomistics.workflows.elastic.workflow.ElasticMatrixWorkflow(structure: Atoms, num_of_point: int = 5, eps_range: float = 0.005, sqrt_eta: bool = True, fit_order: int = 2)[source]#

Bases: Workflow

__init__(structure: Atoms, num_of_point: int = 5, eps_range: float = 0.005, sqrt_eta: bool = True, fit_order: int = 2)[source]#

Initialize the ElasticMatrixWorkflow object.

Parameters:
  • structure (Atoms) – The atomic structure.

  • num_of_point (int, optional) – The number of strain points. Defaults to 5.

  • eps_range (float, optional) – The range of strain. Defaults to 0.005.

  • sqrt_eta (bool, optional) – Whether to take the square root of eta. Defaults to True.

  • fit_order (int, optional) – The order of polynomial fit. Defaults to 2.

Methods

__init__(structure[, num_of_point, ...])

Initialize the ElasticMatrixWorkflow object.

analyse_structures(output_dict[, output_keys])

Analyze the structures and calculate the elastic matrix.

generate_structures()

Generate the structures for elastic matrix calculation.

analyse_structures(output_dict: dict[str, Any], output_keys: tuple = ('elastic_matrix', 'elastic_matrix_inverse', 'bulkmodul_voigt', 'bulkmodul_reuss', 'bulkmodul_hill', 'shearmodul_voigt', 'shearmodul_reuss', 'shearmodul_hill', 'youngsmodul_voigt', 'youngsmodul_reuss', 'youngsmodul_hill', 'poissonsratio_voigt', 'poissonsratio_reuss', 'poissonsratio_hill', 'AVR', 'elastic_matrix_eigval')) dict[str, Any][source]#

Analyze the structures and calculate the elastic matrix.

Parameters:
  • output_dict (dict) – The output dictionary.

  • output_keys (tuple, optional) – The keys to extract from the output dictionary. Defaults to OutputElastic.keys().

Returns:

The calculated elastic matrix.

Return type:

dict

generate_structures() dict[str, Any][source]#

Generate the structures for elastic matrix calculation.

Returns:

The generated structures.

Return type:

dict