pyiron_contrib.atomistics.atomicrex.potential_factory module

class pyiron_contrib.atomistics.atomicrex.potential_factory.ABOPParameters(*args, **kwargs)[source]

Bases: BOPParameters

start_vals_from_file(file, tag_list=None)[source]
class pyiron_contrib.atomistics.atomicrex.potential_factory.ABOPPotential(*args, **kwargs)[source]

Bases: BOPAbstract

class pyiron_contrib.atomistics.atomicrex.potential_factory.ADPotential(*args, **kwargs)[source]

Bases: AbstractPotential, EAMlikeMixin

Angular dependent potential. Usage: Create using the potential factory class. Add functions defined using the function_factory to self.pair_interactions, self.electron_densities and self.embedding_energies, self.u_functions and self.w_functions in dictionary style, using the identifier of the function as key. Example: eam.pair_interactions[“V”] = morse_function

write_xml_file(directory)[source]

Internal function to convert to an xml element

class pyiron_contrib.atomistics.atomicrex.potential_factory.ARPotFactory[source]

Bases: PyironFactory

Factory class providing convenient acces to fittable potential types. TODO: add other potential types supported by atomicrex.

static abop_potential(elements, export_file=None)[source]
static adp_potential(identifier='ADP', export_file='output.adp.fs', rho_range_factor=2.0, resolution=10000, species=['*', '*'])[source]
static eam_potential(identifier='EAM', export_file='output.eam.fs', rho_range_factor=2.0, resolution=10000, species=['*', '*'])[source]
static lennard_jones_potential(sigma, epsilon, cutoff, species={'a': '*', 'b': '*'}, identifier='LJ')[source]
static meam_potential(identifier='MEAM', export_file='meam.out', species=['*', '*'])[source]
static tersoff_potential(elements, export_file=None)[source]
class pyiron_contrib.atomistics.atomicrex.potential_factory.AbstractPotential(*args, **kwargs)[source]

Bases: DataContainer

Potentials should inherit from this class for hdf5 storage.

write_xml_file(directory)[source]

Write the potential.xml file for the atomicrex job. Has to be defined. :param directory: working directory path :type directory: str

class pyiron_contrib.atomistics.atomicrex.potential_factory.BOPAbstract(*args, **kwargs)[source]

Bases: AbstractPotential

property param_file
write_xml_file(directory)[source]

Write the potential.xml file for the atomicrex job. Has to be defined. :param directory: working directory path :type directory: str

class pyiron_contrib.atomistics.atomicrex.potential_factory.BOPParameters(*args, **kwargs)[source]

Bases: DataContainer

static tags_from_elements(elements)[source]

Helper function that returns a list of tags from a list of elements, f.e. for the start_vals_from_file function

Parameters

elements (list[str]) – list of elements .f.e [“Si”, “C”]

Returns

list of tags f.e. [“SiSiSi”, “SiSiC”, …]

Return type

list[str]

class pyiron_contrib.atomistics.atomicrex.potential_factory.EAMPotential(*args, **kwargs)[source]

Bases: AbstractPotential, EAMlikeMixin

Embedded-Atom-Method potential. Usage: Create using the potential factory class. Add functions defined using the function_factory to self.pair_interactions, self.electron_densities and self.embedding_energies in dictionary style, using the identifier of the function as key. Example: eam.pair_interactions[“V”] = morse_function

count_local_extrema(job, filename=None, count_minima=True, count_maxima=False)[source]
plot_final_potential(job, filename=None)[source]

Plots the the fitted potential. Reads the necessary data from eam.fs file (funcfl format used by lammps), therefore does not work if no table is written. Can be used with disabled fitting to plot functions that can’t be plotted directly like splines.

Parameters
  • job (AtomicrexJob) – Instance of the job to construct filename.

  • filename (str, optional) – If a filename is given this eam is plotted instead of the fitted one. Defaults to None.

write_xml_file(directory)[source]

Internal function to convert to an xml element

class pyiron_contrib.atomistics.atomicrex.potential_factory.EAMlikeMixin[source]

Bases: object

copy_final_to_initial_params(filter_func=None)[source]

Copies final values of function paramters to start values. This f.e. allows to continue global with local minimization.

count_parameters(enabled_only=True)[source]
lock_parameters(filter_func=None)[source]
class pyiron_contrib.atomistics.atomicrex.potential_factory.LJPotential(*args, **kwargs)[source]

Bases: AbstractPotential

Lennard Jones potential. Lacking some functionality, mostly implemented for testing and demonstatration purposes. TODO: Check if this still works after alls changes TODO: Implement missing functionality.

write_xml_file(directory)[source]

Internal function to create xml element.

class pyiron_contrib.atomistics.atomicrex.potential_factory.MEAMPotential(*args, **kwargs)[source]

Bases: AbstractPotential, EAMlikeMixin

write_xml_file(directory)[source]

Internal function to convert to an xml element

class pyiron_contrib.atomistics.atomicrex.potential_factory.TersoffParameters(*args, **kwargs)[source]

Bases: BOPParameters

start_vals_from_file(file, tag_list=None)[source]
class pyiron_contrib.atomistics.atomicrex.potential_factory.TersoffPotential(*args, **kwargs)[source]

Bases: BOPAbstract

pyiron_contrib.atomistics.atomicrex.potential_factory.abop_to_tersoff_params(abop_parameters)[source]

Transforms a ABOPParameters instance to TersoffParameters Does not take care of min or max vals, only initial values! Necessary to write the tersoff file as input. Not tested for anything else. :param tersoff_parameters: [description] :type tersoff_parameters: [type]

pyiron_contrib.atomistics.atomicrex.potential_factory.get_A(beta, S, D0, r0)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_B(beta, S, D0, r0)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_D0(lam1, lam2, A, B)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_S(lam1, lam2)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_beta(lam1, lam2)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_lam1(beta, S)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_lam2(beta, S)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.get_r0(lam1, lam2, A, B)[source]
pyiron_contrib.atomistics.atomicrex.potential_factory.read_eam_fs_file(filename)[source]