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'])
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)
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', param0=potentials['density']['Ni']['param'], bounds=potentials['density']['Ni']['bounds'], rlow=1.5, rhigh=5.168) assert o.formalisms['density']['Ni'] == potentials['density']['Ni'][
'symbols,setfl_fn,func_pair_potential,symbol_pair,param0', [( ['Ni', 'Al'], potentials['setfl_fn'], potentials['pair']['NiNi']['formalism'], ['Ni', 'Ni'], potentials['pair']['NiNi']['param'], )]) 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) if __name__ == "__main__": 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) o.fit_potential_pair( func_pair_potential=potentials['pair']['NiNi']['formalism'], symbol_pair=['Ni', 'Ni'], param0=potentials['pair']['NiNi']['param'], rlow=2.)