matscipy.calculators.eam.average_atom
Functions
|
Generate Average-atom potential |
- matscipy.calculators.eam.average_atom.average_potential(concentrations, parameters, F, f, rep, kind='eam/alloy', avg_atom='A', atomic_number=999, crystal_structure='unknown', lattice_constant=1.0)
Generate Average-atom potential
The Average-atom (A-atom) potential is a mean-field approximation for random alloys, see Ref. `1`_. The purpose is to replace the true elements by a single fictious element, the A-atom. A configuration of A-atoms yields approximately the same potential energy as the corresponding random alloy configuration. Other average material properties, e.g. the elastic constants, are reproduced as well. For a full derivation, see Ref. 1.
The A-atom potential has standard EAM form, i.e. it can be tabulated just like any other EAM potential. The potential functions are simply the concentration-weighted averages of the pure element functions:
\[\begin{split}\phi_{AA}\left(r_{\gamma\delta}\right) &= \sum_{X}^{N_T}\sum_{Y}^{N_T} c_{X}c_{Y} \phi_{XY}\left(r_{\gamma\delta}\right) \quad\text{(pair potential)}, \\ U_{A}\left(\rho_\gamma\right) &= \sum_{X}^{N_T}c_{X}U_{X}\left(\rho_\gamma\right) \quad\text{(embedding energy)}, \\ g_A\left(r_{\gamma\delta}\right) &= \sum_{X}^{N_T}c_X g_X\left(r_{\gamma\delta}\right)\quad\text{(electron density)},\;\text{and}\\ m_A &= \sum_{X}^{N_T}c_X m_X\quad\text{(mass)}.\end{split}\]Note
Currently, only eam/alloy-style potentials can be averaged. The extension to eam/fs should be straightforward, however.
- Parameters:
concentrations (array_like) – concentrations of the elements in the A-atom
parameters (EAMParameters) – EAM potential parameters
F (array_like) – tabulated embedding energy functionals
f (array_like) – tabulated electron density functions
rep (array_like) – tabulated pair potential energy functions
- Returns:
parameters (EAMParameters) – EAM potential parameters
new_F (array_like) – tabulated embedding energy functionals, including A-atom functional
new_f (array_like) – tabulated electron density functions, including A-atom function(s)
new_rep (array_like) – tabulated pair potential energy functions, including pairs with A-atom
Examples
>>> from matscipy.calculators.eam import io, average_atom >>> source, parameters, F, f, rep = io.read_eam( >>> "ZrCu.onecolumn.eam.alloy" >>> ) >>> concentrations = [0.5, 0.5] >>> (new_parameters, new_F, new_f, new_rep) = average_atom.average_potential( >>> concentrations, parameters, F, f, rep >>> ) >>> composition = " ".join( >>> [str(c * 100.0) + "% {0},".format(e) for c, e in zip(concentrations, parameters.symbols)] >>> ) >>> composition = composition.rstrip(",") >>> source += ", averaged for composition {0}".format(composition) >>> io.write_eam( >>> source, >>> new_parameters, >>> new_F, >>> new_f, >>> new_rep, >>> "ZrCu.onecolumn.averaged.eam.alloy", >>> kind="eam/alloy", >>> )
Read an EAM potential table for two elements in eam/alloy format, and create a new table with additional A-atom functions for the equicomposition alloy.
References
[1]Varvenne, C., Luque, A., Nöhring, W. G. & Curtin, W. A. Average-atom interatomic potential for random alloys. Physical Review B 93, 104201 (2016).
Notes
- Notation:
\(N\) Number of atoms
\(N_T\) Number of elements
\(r_{\nu\mu{}}\) Pair distance of atoms \(\nu\) and \(\mu\)
\(\phi_{\nu\mu}(r_{\nu\mu{}})\) Pair potential energy of atoms \(\nu\) and \(\mu\)
\(\rho_{\nu}\) Total electron density of atom \(\nu\)
\(U_\nu(\rho_nu)\) Embedding energy of atom \(\nu\)
\(g_{\delta}\left(r_{\gamma\delta}\right) \equiv g_{\gamma\delta}\) Contribution from atom \(\delta\) to \(\rho_\gamma\)
\(m_\nu\) mass of atom \(\nu\)