pyiron_contrib.protocol.compound.minimize module

class pyiron_contrib.protocol.compound.minimize.Minimize(**kwargs)[source]

Bases: CompoundVertex

Run minimization with Lammps. This isn’t physically useful, since a regular lammps job is faster it’s just a dummy class for debugging new code and teaching ideas.

Input attributes:

ref_job_full_path (str): Path to the pyiron job to use for evaluating forces and energies. structure (Atoms): The structure to minimize. n_steps (int): How many steps to run for. (Default is 100.) f_tol (float): Ionic force convergence (largest atomic force). (Default is 1e-4 eV/angstrom.) gamma0 (float): Initial step size as a multiple of the force. (Default is 0.1.) fix_com (bool): Whether the center of mass motion should be subtracted off of the position update. (Default is

True)

use_adagrad (bool): Whether to have the step size decay according to adagrad. (Default is False)

Output attributes:

energy_pot (float): Total potential energy of the system in eV. max_force (float): The largest atomic force magnitude in eV/angstrom. positions (numpy.ndarray): Atomic positions in angstroms. forces (numpy.ndarray): Atomic forces in eV/angstrom. Note: These are the potential gradient forces; thermostat

forces (if any) are not saved.

DefaultWhitelist = {'calc_static': {'output': {'energy_pot': 1}}, 'max_force': {'output': {'amax': 1}}}
define_execution_flow()[source]

Wire the logic for traversing the graph edges.

define_information_flow()[source]

Connect input and output information inside the graph. Also set the archive clock for all vertices.

define_vertices()[source]

Add child vertices to the graph.

get_output()[source]

Define the output dictionary to be returned when the graph traversal completes. This synchronizes the behaviour of primitive vertices and compound vertices when they themselves are the child vertex in another graph.

class pyiron_contrib.protocol.compound.minimize.ProtoMinimGradDes(project=None, job_name=None)[source]

Bases: Protocol, Minimize