tightbinder.disorder.amorphize#
- amorphize(system, spread=0.1, distribution='uniform', planar=False)[source]#
Routine to amorphize a crystalline system. This routine takes each atom and displaces it with respect to its original position by an amount given by a distribution. Thus by specifying the spread of the distribution and the distribution itself, we can achieve higher or lesser degrees of amorphization. By default it will into account the size of the supercell, so that any atom that moves outside of it goes to the other side. NB: This routine DOES NOT modify the hopping parameters according to the displacements, this has to be done in the class defining the system.
- Parameters:
system (
System) – Instance of System class or any derived subclassspread (
float) – Maximum distance the atoms can be displaced. Given in units of first neighbours (spread=1 means totally random positions). Defaults to 0.1distribution (
str) – Either “uniform” or “gaussian”. By default distribution is always uniform, U(0, spread). If we choose gaussian, then the spread acts as the variance of the distribution in the radial direction N(0, spread), the angles are still given by uniform dist. Also “gaussian_cartesian”, which adds gaussian noise to each cartesian component directlyplanar (
bool) – Optional parameter to enforce atom displacement happening only in the plane defining a 2D system.
- Return type:
- Returns:
Modified system.