Mutation.py
This describe a cluster, where the system information is stored in the Genetic Algorithm
- class Organisms.GA.Mutation.Mutation(mutation_types, r_ij, vacuum_to_add_length)
This class contains all the information and procedures required to perform a Mutation.
- Parameters:
mutation_types ([(str, float),...]) – Contains the information about the mutations that the user would like to perform. See Manual for more information about this.
r_ij (float) – The maximum distance that should be between atoms to be considered bonded. This value should be as large a possible, to reflected the longest bond possible between atoms in the cluster.
vacuum_to_add_length (float) – The amount of vacuum to place around the cluster
- change_mutation_chances()
This method will change the format of self.mutation_types into a format that can be used by this Mutation class.
- The format of self.mutation_types changes as follows with this example.
[] => []
- check(r_ij)
This method will check that the inputs for the mutation_types has been done correctly, without any violating issues.
- Parameters:
r_ij (float) – The maximum distance that should be between atoms to be considered bonded. This value should be as large a possible, to reflected the longest bond possible between atoms in the cluster.
- get_mutation_type()
This definition will pick the type of mutation.
- Returns:
mutation_type
- Rtypes:
str.
- mutation(mutation_method, cluster_to_mutate, cell_length=None, vacuum_length=None)
This method will perform the mutation and return the mutant.
- Inputs:
mutation_method (str.): The type of mutation to use for the mutation cluster_to_mutate (GA>Cluster): This is the cluster that we would like to perform a mutation upon. cell_length (float): This is the cell length of the unit cell. vacuum_length (float): The amount of vacuum to add to the unit cell.
- Returns:
mutant
- Rtypes:
Atom
- pickClusterFromThePopulation(population)
This definition will pick the cluster from the population to mutate.
- Inputs:
population (GA.Population): The population to choose the cluster to mutate from.
- Returns:
cluster_to_mutate - The list of parents for mating.
- Rtypes:
Cluster
- run(run_input, cell_length=None, vacuum_length=None)
This definition will run the Mutation Procedure.
- Inputs:
run_input (GA.Population/GA.Cluster/ase.Atoms): This is the input data about the cluster to mutate, or the population to take a cluster to mutate. cell_length (float): This is the cell length of the unit cell. vacuum_length (float): The amount of vacuum to add to the unit cell.
- Returns:
mutant (GA.Cluster) - The mutated cluster mutation_method (str.) - The type of mutation that was picked to use for this mutation.
- Organisms.GA.Mutation.isfloat(element)
Is the input a float.
- Parameters:
element (Any) – some input
:returns True if the element can be considered a float, False if not. :rtype ebool.