exp_grad_function=s.get_grad_adp_pdf,
                  exp_function=s.get_pdf,
                  conv=100)

calc = Calc1D(target_data=target_pdf,
                  exp_grad_function=null_func,
                  exp_function=s.get_pdf,
                  conv=100)


starting_atoms = atoms.copy()
starting_adps = ADP(atoms, adps=adp_tensor * np.random.random(adp_tensor.shape))
starting_adps.set_calculator(adp_calc)
starting_atoms.info['adps'] = starting_adps

plot_pdf(s.get_r(), target_pdf, s.get_pdf(starting_atoms), show=False,
         save_file='../random/start')

starting_atoms.set_calculator(adp_calc)
traj = classical_dynamics(starting_atoms, .01, 100)

nrg = []
for atoms in traj:
    atoms.set_momenta(atoms.info['adps'].get_positions() * 1000)
    nrg.append(atoms.get_potential_energy())
print(traj[np.argmin(nrg)].info['adps'].get_positions() / adp_tensor)

target_atoms.set_momenta(target_atoms.info['adps'].get_positions() * 1000)

# view(target_atoms)
# view(traj)
plot_pdf(s.get_r(), target_pdf, s.get_pdf(traj[np.argmin(nrg)]), show=False, save_file='../random/min')
Exemple #2
0
                  exp_grad_function=s.get_grad_adp_pdf,
                  exp_function=s.get_pdf,
                  conv=100)

calc = Calc1D(target_data=target_pdf,
                  exp_grad_function=null_func,
                  exp_function=s.get_pdf,
                  conv=100)


starting_atoms = atoms.copy()
starting_adps = ADP(atoms, adps=adp_tensor * adp_tensor_target * 1.5)
starting_adps.set_calculator(adp_calc)
starting_atoms.info['adps'] = starting_adps

plot_pdf(s.get_r(), target_pdf, s.get_pdf(starting_atoms), show=False)

starting_atoms.set_calculator(adp_calc)
traj = classical_dynamics(starting_atoms, .01, 100)
nrg = []
for atoms in traj:
    atoms.set_momenta(atoms.info['adps'].get_positions() * 1000)
    nrg.append(atoms.get_potential_energy())
print(traj[np.argmin(nrg)].info['adps'].get_positions() / adp_tensor)

target_atoms.set_momenta(target_atoms.info['adps'].get_positions() * 1000)
view(target_atoms)
view(traj)
plot_pdf(s.get_r(), target_pdf, s.get_pdf(traj[np.argmin(nrg)]), show=False)
save_file = '../janus/'
# need a way to plot the ADPs