Calculators¶
Routines for calculating a variety of intrinsic properties of grain boundaries, and quantities relating to impurities present at boundaries.
-
imeall.calc_bulk_dissolution_energy.
calc_bulk_dissolution
(args)[source]¶ Calculate the bulk dissolution energy for hydrogen in a tetrahedral position in bcc iron. :param args: determine applied strain to unit cell. :type args: list
-
imeall.calc_chemoelastic.
calc_chemoelast
(input_file)[source]¶ Adds the structure type using an ovitos script to the
Atoms
object and calculates the breakdown of the energy contributions.Parameters: input_file (str) – Relaxed grain boundary structure file. Returns: [(chemical_energy/total_energy)*gb_energy, (elastic_energy/total_energy)*gb_energy, gb_energy] Return type: list(float)
-
imeall.calc_chemoelastic.
calc_chemomechanical
(ats)[source]¶ Calculate elastic and chemical contributions to the total energy. Requires
Atoms
object with aPotential
capable of returning a per atom energy.Atoms
object must have at least structure_type and local_energy properties. For a bcc lattice structure_type=3.Parameters: ats ( Atoms
) –Returns: [(chemical_energy/total_energy)*gb_energy, (elastic_energy/total_energy)*gb_energy, gb_energy] Return type: list
-
imeall.calc_chemoelastic.
strain_energy
(ats, cursor_step=0.2)[source]¶ Create an array tracking the accumulation of energy above the bulk energy along the z-axis. For interfacial structures this has pronounced speakes in the region of the interface.
Parameters: - ats (
Atoms
) – - cursor_step (float) – step distance along z to add atomic energies to the cumulative energy.
Returns: Cumulative energy distribution along the z-axis.
Return type: list
- ats (
-
imeall.calc_elast_dipole.
calc_elast_dipole_dft
(input_file, vasp_calc=True)[source]¶ Reads OUTCAR file in the same directory with one shot forces induced by removal of defect. Reads defect position from .xyz file (which contains the defect) defined by input_file calculates and returns the elastic dipole tensor of the defect.
Parameters: input_file (str) – name of input .xyz file containing defect cell. Returns: Elastic Dipole Tensor 3x3 numpy array.
-
imeall.calc_elast_dipole.
calc_elast_dipole_eam
(input_file, force_tol, relax_cell)[source]¶ Calculate elastic dipole using an Embedded Atom Potential.
Parameters: Returns: Elastic Dipole Tensor 3x3 numpy array.
-
imeall.calc_elast_dipole.
find_h_atom
(ats)[source]¶ Finds the hydrogen atom in .xyz file and returns its
Atom
object.Parameters: ats ( Atoms
) –Returns: Atom
object.
-
class
imeall.calc_elast_dipole.
ElasticDipole
[source]¶ -
compute_vacancy_dipole
(defect, ats, pot=None, forces=array([], dtype=float64))[source]¶ Compute dipole tensor from induced forces.
Parameters: - defect (
Atom
) – Atom object of defect atom. - ats (
Atoms
) – If forces are absent the :py:class:Atoms object must have defect present. - pot (
Potential
, optional) – Potential for calculating interatomic forces if required. - forces (
numpy.array
, optional) – numpy array of forces if already available.
Returns: 3x3 numpy array of G the dipole tensor.
- defect (
-