def test__fit_potential_pair(symbols, setfl_fn, pair_definition):

    o = EamPotentialFitter(symbols)
    o.read_setfl_file(filename=setfl_fn)

    o.fit_potential_pair(func_pair_potential=pair_definition['formalism'],
                         symbol_pair=pair_definition['pair'],
                         param0=pair_definition['param'])
예제 #2
0
def test__fit_potential_pair(symbols, setfl_fn, func_pair_potential,
                             symbol_pair, param0):
    o = EamPotentialFitter(symbols)
    o.read_setfl_file(filename=setfl_fn)

    o.fit_potential_pair(func_pair_potential=func_pair_potential,
                         symbol_pair=symbol_pair,
                         param0=param0,
                         rlow=1.5)
def test__read_setfl_file(symbols, setfl_fn):
    o = EamPotentialFitter(symbols)
    o.read_setfl_file(filename=setfl_fn)
예제 #4
0
    #ax[0].set_ylim([-1,5])
    #
    ax[2].plot(rho, o.setfl_reader.embedding_function('Ni'), label='from_file')
    ax[2].plot(rho,
               o.formalisms['embedding']['Ni'](
                   r, **o.parameters['popt']['embedding']['Ni']),
               label='fitted')
    plt.show()


setfl_fn = os.path.join(pypospack.utils.get_pypospack_root_directory(), 'data',
                        'potentials', 'Ni__eam', 'Mishin-Ni-Al-2009.eam.alloy')
symbols = ['Ni']

o = EamPotentialFitter(symbols)
o.read_setfl_file(filename=setfl_fn)
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',
예제 #5
0
def test__read_setfl_filename(symbols, setfl_filename):
    o = EamPotentialFitter(symbols)
    o.read_setfl_file(filename=setfl_filename)

    assert isinstance(o.setfl_reader, SeatonSetflReader)