def test_exchange_move_single(self): for cell in _cells: minimization.optimize( cell, { (0, 0): potential.LennardJonesType(lambda_=-1), (1, 1): potential.LennardJonesType(lambda_=-1), (0, 1): potential.LennardJonesType() }, 6, log_level=2, basin_kwargs=dict(niter=10), exchange_move=1, vector_move=0, scale_move=0, atom_move=0, cluster_move=0, exchange_select=0.0) for cell in _cells: minimization.optimize( cell, { (0, 0): potential.LennardJonesType(lambda_=-1), (1, 1): potential.LennardJonesType(lambda_=-1), (0, 1): potential.LennardJonesType() }, 6, log_level=2, basin_kwargs=dict(niter=10), exchange_move=1, vector_move=0, scale_move=0, atom_move=0, cluster_move=0, exchange_select=-1.0)
def run_minimizations(test=None): for cell in _cells: if __name__ == "__main__": visualization.cell_mayavi(cell, [3] * cell.dimensions, [1] * cell.atom_types) from paccs import similarity results = minimization.optimize( cell, { (0, 0): potential.LennardJonesType(lambda_=-1, n=12), (1, 1): potential.LennardJonesType(lambda_=-1, n=12), (0, 1): potential.LennardJonesType(n=12) }, 6, log_level=2, initial_kwargs=dict(options=dict(disp=False)), # These options are chosen for testing speed, not accurate results! basin_kwargs=dict(T=0.3, niter=25, interval=5, niter_success=10, minimizer_kwargs=dict(options=dict(disp=False))), final_kwargs=dict(options=dict(disp=False)), save_count=10, save_filter=similarity.Energy(1e-2), save_all=False) last_result = results[-1] if test: test.assertLessEqual(len(results), 10) energies = [energy for cell, energy, wall, proc in results] for energy_index_1 in range(len(energies)): for energy_index_2 in range(energy_index_1 + 1, len(energies)): test.assertGreater( abs(energies[energy_index_1] - energies[energy_index_2]), 1e-2) test.assertEqual(last_result, min(results, key=lambda result: result[1])) if __name__ == "__main__": for index, (cell, energy) in enumerate(results): print("{} of {}: {} with E={}".format(index + 1, len(results), cell, energy)) visualization.cell_mayavi(cell, [3] * cell.dimensions, [1] * cell.atom_types)