예제 #1
0
    E_eos = func_zopemishin_eos(a, a0, B0, E0, beta)
    E_pair = get_pair_energy_at_a(a, func_pair, func_pair_param)
    E_embedding = E_eos - E_pair

    return E_embedding


rhomax = o.setfl_reader.n_rho * o.setfl_reader.d_rho
rhoN = o.setfl_reader.n_rho
rho = create_r(rhomax, rhoN)

arg_names = [
    k for k in inspect.getargspec(func_zopemishin_embedding_function)[0]
    if k not in ['rho', 'lattice_type']
]
print(arg_names)
args = [potentials['embedding']['Ni']['param'][k] for k in arg_names]

embedding = func_zopemishin_embedding_function(rho, *args)
assert embedding.size == rho.size
o.fit_eos_embedding_function(func_embedding=func_zopemishin_embedding_function,
                             symbol='Ni',
                             param0=potentials['embedding']['Ni']['param'],
                             bounds=[(0, 0, -np.inf, -np.inf),
                                     (np.inf, np.inf, 0, np.inf)])
print(o.parameters['p0']['embedding']['Ni'])
print(o.parameters['popt']['embedding']['Ni'])

plot_results()
예제 #2
0
    E_eos = func_zopemishin_eos(a, a0, B, E0, beta)
    E_pair = get_pair_energy_at_a(a, func_pair, func_pair_param)
    E_embedding = E_eos - E_pair
    return E_embedding


rhomax = o.setfl_reader.n_rho * o.setfl_reader.d_rho

rhoN = o.setfl_reader.n_rho
rho = create_r(rhomax, rhoN)

arg_names = [
    k for k in inspect.getargspec(func_zopemishin_embedding_function)[0]
    if k not in ['rho', 'lattice_type']
]
print(arg_names)
args = [potentials['embedding']['Ni']['param'][k] for k in arg_names]

embedding = func_zopemishin_embedding_function(rho, *args)
assert embedding.size == rho.size
o.fit_eos_embedding_function(func_embedding=func_zopemishin_embedding_function,
                             symbol='Ni',
                             param0=potentials['embedding']['Ni']['param'],
                             bounds=potentials['embedding']['Ni']['bounds'])
print(o.parameters['p0']['embedding']['Ni'])
print(o.parameters['popt']['embedding']['Ni'])

plot_results(o)
exit()
예제 #3
0
                      xtol=a_tol)

    E_eos = func_zopemishin_eos(a, a0, B0, E0, beta)
    E_pair = get_pair_energy_at_a(a, func_pair, func_pair_param)
    E_embedding = E_eos - E_pair

    return E_embedding


rhomax = o.setfl_reader.n_rho * o.setfl_reader.d_rho
rhoN = o.setfl_reader.n_rho
rho = create_r(rhomax, rhoN)

arg_names = [
    k for k in inspect.getargspec(func_zopemishin_embedding_function)[0]
    if k not in ['rho', 'lattice_type']
]
print(arg_names)
args = [potentials['embedding']['Ni']['param'][k] for k in arg_names]

plot_results()
embedding = func_zopemishin_embedding_function(rho, *args)
assert embedding.size == rho.size
o.fit_eos_embedding_function(func_embedding=func_zopemishin_embedding_function,
                             symbol='Ni',
                             param0=potentials['embedding']['Ni']['param'],
                             bounds=[(3., 1e4, -6, -0.4890e-1),
                                     (4, 1e6, -4, 0.4890e-1)])
print(o.parameters['p0']['embedding']['Ni'])
print(o.parameters['popt']['embedding']['Ni'])