Exemple #1
0
print('fitting the pair potential')
o.fit_potential_pair(
    func_pair_potential=potentials['pair']['NiNi']['formalism'],
    symbol_pair=['Ni', 'Ni'],
    param0=potentials['pair']['NiNi']['param'],
    bounds=potentials['pair']['NiNi']['bounds'],
    rlow=1.5,
    rhigh=5.168)
assert o.formalisms['pair']['NiNi'] == potentials['pair']['NiNi']['formalism']

print(o.parameters['p0']['pair']['NiNi'])
print(o.parameters['popt']['pair']['NiNi'])
print('fitting the density function')
o.fit_density_function(func_density=potentials['density']['Ni']['formalism'],
                       symbol='Ni',
                       param0=potentials['density']['Ni']['param'],
                       bounds=potentials['density']['Ni']['bounds'],
                       rlow=1.5,
                       rhigh=5.168)
assert o.formalisms['density']['Ni'] == potentials['density']['Ni'][
    'formalism']
print(o.parameters['p0']['density']['Ni'])
print(o.parameters['popt']['density']['Ni'])


def func_zopemishin_embedding_function(rho,
                                       a0,
                                       B,
                                       E0,
                                       beta,
                                       lattice_type='fcc'):
    """ fits the embedding function to the zope mishin equation of state
o = EamPotentialFitter(symbols)
o.read_setfl_file(filename=setfl_fn)

print('fitting the pair potential')
GGo.fit_potential_pair(
    func_pair_potential=potentials['pair']['NiNi']['formalism'],
    symbol_pair=['Ni', 'Ni'],
    param0=potentials['pair']['NiNi']['param'],
    rlow=1.5)
assert o.formalisms['pair']['NiNi'] == potentials['pair']['NiNi']['formalism']
print(o.parameters['p0']['pair']['NiNi'])
print(o.parameters['popt']['pair']['NiNi'])

print('fitting the density function')
o.fit_density_function(func_density=potentials['density']['Ni']['formalism'],
                       symbol='Ni',
                       param0=potentials['density']['Ni']['param'],
                       rlow=1.5)
assert o.formalisms['density']['Ni'] == potentials['density']['Ni'][
    'formalism']
print(o.parameters['p0']['density']['Ni'])
print(o.parameters['popt']['density']['Ni'])


def plot_results():
    import matplotlib.pyplot as plt

    fig, ax = plt.subplots(3, 1)

    rmax = o.setfl_reader.n_r * o.setfl_reader.d_r
    rN = o.setfl_reader.n_r
    r = create_r(rmax, rN)