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)
def test__read_setfl_file(symbols, setfl_fn): o = EamPotentialFitter(symbols) o.read_setfl_file(filename=setfl_fn)
#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',
def test__read_setfl_filename(symbols, setfl_filename): o = EamPotentialFitter(symbols) o.read_setfl_file(filename=setfl_filename) assert isinstance(o.setfl_reader, SeatonSetflReader)