The simulation was brief, and the code is shown below
# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
potentialSet = Pedone_2006Fe2()
calculator = TremoloXCalculator(parameters=potentialSet)
calculator.setVerletListsDelta(0.25*Angstrom)
# -------------------------------------------------------------
# Elements
# -------------------------------------------------------------
elements = [Oxygen, Oxygen, Oxygen, Oxygen, Titanium, Titanium]
# -------------------------------------------------------------
# Random Number Generator
# -------------------------------------------------------------
rng = numpy.random.RandomState()
# -------------------------------------------------------------
# Initial Population
# -------------------------------------------------------------
initial_population = generateInitialPopulation(
elements=elements,
population_size=10,
calculator=calculator,
volume=51.57*Angstrom**3,
max_forces=0.01*eV/Angstrom,
max_stress=0.1*GPa,
max_steps=1000,
max_step_length=0.2*Angstrom,
external_pressure=0.0*GPa,
rng=rng,
log_filename_prefix="initial_population_",
)
# -------------------------------------------------------------
# Crystal Structure Prediction
# -------------------------------------------------------------
crystal_structure_prediction = CrystalStructurePrediction(
initial_population,
number_of_generations=20,
selection_pressure=2.0,
number_of_elites=10,
number_to_promote=4,
heredity_probability=50.0,
permutation_probability=20.0,
mutation_probability=30.0,
sigma_lattice=0.7,
max_forces=0.01*eV/Angstrom,
max_stress=0.1*GPa,
max_steps=1000,
max_step_length=0.2*Angstrom,
external_pressure=0.0*GPa,
rng=rng,
write_population=True,
log_filename_prefix="generation_",
)