pyiron.dft.job.generic module

class pyiron.dft.job.generic.GenericDFTJob(project, job_name)[source]

Bases: pyiron.atomistics.job.atomistic.AtomisticGenericJob

calc_md(temperature=None, n_ionic_steps=1000, n_print=1, time_step=1.0, retain_charge_density=False, retain_electrostatic_potential=False, **kwargs)[source]
calc_minimize(electronic_steps=60, ionic_steps=100, max_iter=None, pressure=None, algorithm=None, retain_charge_density=False, retain_electrostatic_potential=False, ionic_energy_tolerance=None, ionic_force_tolerance=None, ionic_energy=None, ionic_forces=None, volume_only=False)[source]
  • ionic_energy_tolerance (float) – Maximum energy difference between 2 steps

  • ionic_force_tolerance (float) – Maximum force magnitude that each of atoms is allowed to have

  • e_tol (float) – same as ionic_energy_tolerance (deprecated)

  • f_tol (float) – same as ionic_force_tolerance (deprecated)

  • max_iter (int) – Maximum number of force evluations

  • pressure (float/list) – Targetpressure values

  • n_print (int) – Print period


calc_static(electronic_steps=100, algorithm=None, retain_charge_density=False, retain_electrostatic_potential=False)[source]


property encut
property exchange_correlation_functional
property fix_spin_constraint
property fix_symmetry
get_k_mesh_by_cell(kpoints_per_reciprocal_angstrom, cell=None)[source]

get k-mesh density according to the box size.

  • kpoints_per_reciprocal_angstrom – (float) number of k-points per reciprocal angstrom (i.e. per 2*pi*box_length)

  • cell – (list/ndarray) 3x3 cell. If not set, the current cell is used.

get_magnetic_moments(iteration_step=- 1)[source]

Gives the magnetic moments of a calculation for each iteration step.


iteration_step (int) – Step for which the structure is requested


array of final magmetic moments or None if no magnetic moment is given

Return type


get_structure(iteration_step=- 1, wrap_atoms=True)[source]

Gets the structure from a given iteration step of the simulation (MD/ionic relaxation). For static calculations there is only one ionic iteration step :param iteration_step: Step for which the structure is requested :type iteration_step: int :param wrap_atoms: True if the atoms are to be wrapped back into the unit cell :type wrap_atoms: bool


The required structure

Return type


property plane_wave_cutoff

Restart a new job created from an existing calculation by reading the charge density for band structure calculations.


job_name (str/None) – Job name


New job

Return type

new_ham (pyiron.dft.job.generic.GenericDFTJob)


Sets the plane-wave energy cutoff :param encut: The energy cutoff in eV :type encut: float

set_kpoints(mesh=None, scheme='MP', center_shift=None, symmetry_reduction=True, manual_kpoints=None, weights=None, reciprocal=True, kpoints_per_reciprocal_angstrom=None, n_path=None, path_name=None)[source]

Function to setup the k-points

  • mesh (list) – Size of the mesh (ignored if scheme is not set to ‘MP’ or kpoints_per_reciprocal_angstrom is set)

  • scheme (str) – Type of k-point generation scheme (MP/GP(gamma point)/Manual/Line)

  • center_shift (list) – Shifts the center of the mesh from the gamma point by the given vector in relative coordinates

  • symmetry_reduction (boolean) – Tells if the symmetry reduction is to be applied to the k-points

  • manual_kpoints (list/numpy.ndarray) – Manual list of k-points

  • weights (list/numpy.ndarray) – Manually supplied weights to each k-point in case of the manual mode

  • reciprocal (bool) – Tells if the supplied values are in reciprocal (direct) or cartesian coordinates (in

  • space) (reciprocal) –

  • kpoints_per_reciprocal_angstrom (float) – Number of kpoint per angstrom in each direction

  • n_path (int) – Number of points per trace part for line mode

  • path_name (str) – Name of high symmetry path used for band structure calculations.

set_mixing_parameters(method=None, n_pulay_steps=None, density_mixing_parameter=None, spin_mixing_parameter=None)[source]
property spin_constraints
property xc