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 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