generate_randomized_structures

generate_randomized_structures#

autoplex.data.common.jobs.generate_randomized_structures(structure, supercell_matrix=None, distort_type=0, n_structures=10, volume_scale_factor_range=None, volume_custom_scale_factors=None, min_distance=1.5, angle_percentage_scale=10, angle_max_attempts=1000, rattle_type=0, rattle_std=0.01, rattle_seed=42, rattle_mc_n_iter=10, w_angle=None)[source]#

Take in a pymatgen Structure object and generates angle/volume distorted + rattled structures.

Parameters:
  • structure (Structure.) – Pymatgen structures object.

  • supercell_matrix (Matrix3D.) – Matrix for obtaining the supercell.

  • distort_type (int.) – 0- volume distortion, 1- angle distortion, 2- volume and angle distortion. Default=0.

  • n_structures (int.) – Total number of distorted structures to be generated. Must be provided if distorting volume without specifying a range, or if distorting angles. Default=10.

  • volume_scale_factor_range (list[float]) – [min, max] of volume scale factors. e.g. [0.90, 1.10] will distort volume +-10%.

  • volume_custom_scale_factors (list[float]) – Specify explicit scale factors (if range is not specified). If None, will default to [0.90, 0.95, 0.98, 0.99, 1.01, 1.02, 1.05, 1.10].

  • min_distance (float) – Minimum separation allowed between any two atoms. Default= 1.5A.

  • angle_percentage_scale (float) – Angle scaling factor. Default= 10 will randomly distort angles by +-10% of original value.

  • angle_max_attempts (int.) – Maximum number of attempts to distort structure before aborting. Default=1000.

  • w_angle (list[float]) – List of angle indices to be changed i.e. 0=alpha, 1=beta, 2=gamma. Default= [0, 1, 2].

  • rattle_type (int.) – 0- standard rattling, 1- Monte-Carlo rattling. Default=0.

  • rattle_std (float.) – Rattle amplitude (standard deviation in normal distribution). Default=0.01. Note that for MC rattling, displacements generated will roughly be rattle_mc_n_iter**0.5 * rattle_std for small values of n_iter.

  • rattle_seed (int.) – Seed for setting up NumPy random state from which random numbers are generated. Default=42.

  • rattle_mc_n_iter (int.) – Number of Monte Carlo iterations. Larger number of iterations will generate larger displacements. Default=10.

Returns:

Volume or angle-distorted structures with rattled atoms.

Return type:

Response.output.