dragonfruit.alloys.vegard module
- dragonfruit.alloys.vegard.get_concentrations(atoms: ase.atoms.Atoms) Dict[str, float]
Get the concentrations of each constituent.
- dragonfruit.alloys.vegard.get_elemental_cells(atoms: ase.atoms.Atoms, elemental_atoms: Sequence[ase.atoms.Atoms]) Dict[str, ase.cell.Cell]
Get the cells from the elemental atoms which corresponds to the constituents in Atoms.
Takes in a list of elementals, and extracts the cells from the relevant elementals. E.g. if we pass in a NaCl atoms object, we’d get back something like
{‘Na’: [[4.0, 0, 0], [0, 4, 0], [0, 0, 4]], ‘Cl’: [[3.8, 0, 0], [0, 3.8, 0], [0, 0, 3.8]]}
(these are fake numbers).
- dragonfruit.alloys.vegard.make_vegard_atoms(atoms: ase.atoms.Atoms, elemental_atoms: Sequence[ase.atoms.Atoms], size: Sequence[int] = (1, 1, 1)) ase.atoms.Atoms
Apply Vegard’s law, and set the lattice parameter to the pure ones.A
https://en.wikipedia.org/wiki/Vegard%27s_law
- Parameters
atoms – The atoms object to apply Vegard’s law to
elemental_atoms – Sequence of Atoms for the optimized constituents in atoms. May have more constituents than in the
atoms, but all of the constituents must be there. Elemental cells are assumed to be in the primitive cell with no repititions. Assumes the cell is of the same type, no checks will be made!size – Size of the requested atoms object, relative to to the primitive cell. Should be a list of 3 integers.