spirit.parameters

Monte Carlo (MC)

spirit.parameters.mc.get_iterations(p_state, idx_image=-1, idx_chain=-1)

Returns the maximum number of iterations and the step size.

spirit.parameters.mc.get_metropolis_cone(p_state, idx_image=-1, idx_chain=-1)

Returns the Metropolis algorithm configuration.

  • whether the spins are displaced within a cone (otherwise: on the entire unit sphere)
  • the opening angle within which the spin is placed
  • whether the cone angle is automatically adapted to achieve the set acceptance ratio
  • target acceptance ratio for the adaptive cone algorithm
spirit.parameters.mc.get_temperature(p_state, idx_image=-1, idx_chain=-1)

Returns the global base temperature [K].

spirit.parameters.mc.set_iterations(p_state, n_iterations, n_iterations_log, idx_image=-1, idx_chain=-1)

Set the number of iterations and how often to log and write output.

  • n_iterations: the maximum number of iterations
  • n_iterations_log: the number of iterations after which status is logged and output written
spirit.parameters.mc.set_metropolis_cone(p_state, use_cone=True, cone_angle=40, use_adaptive_cone=True, target_acceptance_ratio=0.5, idx_image=-1, idx_chain=-1)

Configure the Metropolis parameters.

  • use_cone: whether to displace the spins within a cone (otherwise: on the entire unit sphere)
  • cone_angle: the opening angle within which the spin is placed
  • use_adaptive_cone: automatically adapt the cone angle to achieve the set acceptance ratio
  • target_acceptance_ratio: target acceptance ratio for the adaptive cone algorithm
spirit.parameters.mc.set_output_configuration(p_state, step=False, archive=True, filetype=3, idx_image=-1, idx_chain=-1)

Set whether to write spin configuration output files.

  • step: whether to write a new file after each set of iterations
  • archive: whether to append to an archive file after each set of iterations
  • filetype: the format in which the data is written
spirit.parameters.mc.set_output_energy(p_state, step=False, archive=True, spin_resolved=False, divide_by_nos=True, add_readability_lines=True, idx_image=-1, idx_chain=-1)

Set whether to write energy output files.

  • step: whether to write a new file after each set of iterations
  • archive: whether to append to an archive file after each set of iterations
  • spin_resolved: whether to write a file containing the energy of each spin
  • divide_by_nos: whether to divide energies by the number of spins
  • add_readability_lines: whether to separate columns by lines
spirit.parameters.mc.set_output_folder(p_state, folder, idx_image=-1, idx_chain=-1)

Set the folder, where output files are placed.

spirit.parameters.mc.set_output_general(p_state, any=True, initial=False, final=False, idx_image=-1, idx_chain=-1)

Set whether to write any output files at all.

spirit.parameters.mc.set_output_tag(p_state, tag, idx_image=-1, idx_chain=-1)

Set the tag placed in front of output file names.

If the tag is “<time>”, it will be the date-time of the creation of the state.

spirit.parameters.mc.set_temperature(p_state, temperature, idx_image=-1, idx_chain=-1)

Set the global base temperature [K].

Landau-Lifshitz-Gilbert (LLG)

spirit.parameters.llg.get_convergence(p_state, idx_image=-1, idx_chain=-1)

Returns the convergence value.

spirit.parameters.llg.get_damping(p_state, idx_image=-1, idx_chain=-1)

Returns the Gilbert damping parameter.

spirit.parameters.llg.get_direct_minimization(p_state, idx_image=-1, idx_chain=-1)

Returns whether only energy minimisation will be performed.

spirit.parameters.llg.get_iterations(p_state, idx_image=-1, idx_chain=-1)

Returns the maximum number of iterations and the step size.

spirit.parameters.llg.get_non_adiabatic_damping(p_state, idx_image=-1, idx_chain=-1)

Returns the non-adiabatic damping parameter.

spirit.parameters.llg.get_stt(p_state, idx_image=-1, idx_chain=-1)

Returns the spin current configuration.

  • magnitude
  • direction, array of shape(3)
  • whether the spatial gradient is used
spirit.parameters.llg.get_temperature(p_state, idx_image=-1, idx_chain=-1)

Returns the temperature configuration.

  • global base temperature [K]
  • inclination of the temperature gradient [K/a]
  • direction of the temperature gradient, array of shape(3)
spirit.parameters.llg.get_timestep(p_state, idx_image=-1, idx_chain=-1)

Returns the time step [ps].

spirit.parameters.llg.set_convergence(p_state, convergence, idx_image=-1, idx_chain=-1)

Set the convergence limit.

When the maximum absolute component value of the force drops below this value, the calculation is considered converged and will stop.

spirit.parameters.llg.set_damping(p_state, damping, idx_image=-1, idx_chain=-1)

Set the Gilbert damping parameter [unitless].

spirit.parameters.llg.set_direct_minimization(p_state, use_minimization, idx_image=-1, idx_chain=-1)

Set whether to minimise the energy without precession.

This only influences dynamics solvers, which will then perform pseudodynamics, simulating only the damping part of the LLG equation.

spirit.parameters.llg.set_iterations(p_state, n_iterations, n_iterations_log, idx_image=-1, idx_chain=-1)

Set the number of iterations and how often to log and write output.

  • n_iterations: the maximum number of iterations
  • n_iterations_log: the number of iterations after which status is logged and output written
spirit.parameters.llg.set_non_adiabatic_damping(p_state, beta, idx_image=-1, idx_chain=-1)

Set the Gilbert damping parameter [unitless].

spirit.parameters.llg.set_output_configuration(p_state, step=False, archive=True, filetype=3, idx_image=-1, idx_chain=-1)

Set whether to write spin configuration output files.

  • step: whether to write a new file after each set of iterations
  • archive: whether to append to an archive file after each set of iterations
  • filetype: the format in which the data is written
spirit.parameters.llg.set_output_energy(p_state, step=False, archive=True, spin_resolved=False, divide_by_nos=True, add_readability_lines=True, idx_image=-1, idx_chain=-1)

Set whether to write energy output files.

  • step: whether to write a new file after each set of iterations
  • archive: whether to append to an archive file after each set of iterations
  • spin_resolved: whether to write a file containing the energy of each spin
  • divide_by_nos: whether to divide energies by the number of spins
  • add_readability_lines: whether to separate columns by lines
spirit.parameters.llg.set_output_folder(p_state, folder, idx_image=-1, idx_chain=-1)

Set the folder, where output files are placed.

spirit.parameters.llg.set_output_general(p_state, any=True, initial=False, final=False, idx_image=-1, idx_chain=-1)

Set whether to write any output files at all.

spirit.parameters.llg.set_output_tag(p_state, tag, idx_image=-1, idx_chain=-1)

Set the tag placed in front of output file names.

If the tag is “<time>”, it will be the date-time of the creation of the state.

spirit.parameters.llg.set_stt(p_state, use_gradient, magnitude, direction, idx_image=-1, idx_chain=-1)

Set the spin current configuration.

  • use_gradient: True: use the spatial gradient, False: monolayer approximation
  • magnitude: current strength
  • direction: current direction or polarisation direction, array of shape(3)
spirit.parameters.llg.set_temperature(p_state, temperature, gradient_inclination=0, gradient_direction=[1.0, 0.0, 0.0], idx_image=-1, idx_chain=-1)

Set the temperature configuration.

  • temperature: homogeneous base temperature [K]
  • gradient_inclination: inclination of the temperature gradient [K/a]
  • gradient_direction: direction of the temperature gradient, array of shape(3)
spirit.parameters.llg.set_timestep(p_state, dt, idx_image=-1, idx_chain=-1)

Set the time step [ps] for the calculation.

Geodesic nudged elastic band (GNEB)

spirit.parameters.gneb.IMAGE_CLIMBING = 1

Climbing GNEB image type. Climbing images move towards maxima along the path.

spirit.parameters.gneb.IMAGE_FALLING = 2

Falling GNEB image type. Falling images move towards the closest minima.

spirit.parameters.gneb.IMAGE_NORMAL = 0

Regular GNEB image type.

spirit.parameters.gneb.IMAGE_STATIONARY = 3

Stationary GNEB image type. Stationary images are not influenced during a GNEB calculation.

spirit.parameters.gneb.get_climbing_falling(p_state, idx_image=-1, idx_chain=-1)

Returns the integer of whether an image is regular, climbing, falling, or stationary.

The integers are defined above.

spirit.parameters.gneb.get_convergence(p_state, idx_image=-1, idx_chain=-1)

Returns the convergence value.

spirit.parameters.gneb.get_equilibrium_delta_Rx(p_state, idx_chain=-1)

Return the equilibrium delta_Rx for the moving endpoints.

spirit.parameters.gneb.get_iterations(p_state, idx_image=-1, idx_chain=-1)

Returns the maximum number of iterations and the step size.

spirit.parameters.gneb.get_moving_endpoints(p_state, idx_chain=-1)

Return if moving endpoints are used.

spirit.parameters.gneb.get_n_energy_interpolations(p_state, idx_chain=-1)

Returns the number of energy values interpolated between images.

spirit.parameters.gneb.get_path_shortening_constant(p_state, idx_image=-1, idx_chain=-1)

Return the path shortening constant.

spirit.parameters.gneb.get_spring_force(p_state, idx_image=-1, idx_chain=-1)

Returns the spring force constant and Ratio of energy to reaction coordinate.

spirit.parameters.gneb.get_translating_endpoints(p_state, idx_chain=-1)

Return if translating endpoints are used.

spirit.parameters.gneb.set_climbing_falling(p_state, image_type, idx_image=-1, idx_chain=-1)

Set the GNEB image type (see the integers defined above).

spirit.parameters.gneb.set_convergence(p_state, convergence, idx_image=-1, idx_chain=-1)

Set the convergence limit.

When the maximum absolute component value of the force drops below this value, the calculation is considered converged and will stop.

spirit.parameters.gneb.set_equilibrium_delta_Rx(p_state, delta_Rx_left, delta_Rx_right, idx_chain=-1)

Set if moving endpoints should be used.

spirit.parameters.gneb.set_image_type_automatically(p_state, idx_chain=-1)

Automatically set GNEB image types.

Minima along the path will be set to falling, maxima to climbing and the rest to regular.

spirit.parameters.gneb.set_iterations(p_state, n_iterations, n_iterations_log, idx_image=-1, idx_chain=-1)

Set the number of iterations and how often to log and write output.

  • n_iterations: the maximum number of iterations
  • n_iterations_log: the number of iterations after which status is logged and output written
spirit.parameters.gneb.set_moving_endpoints(p_state, moving_endpoints, idx_chain=-1)

Set if moving endpoints should be used.

spirit.parameters.gneb.set_output_chain(p_state, step=False, filetype=3, idx_image=-1, idx_chain=-1)

Set whether to write chain output files.

  • step: whether to write a new file after each set of iterations
  • filetype: the format in which the data is written
spirit.parameters.gneb.set_output_energies(p_state, step=True, interpolated=True, divide_by_nos=True, add_readability_lines=True, idx_image=-1, idx_chain=-1)

Set whether to write energy output files.

  • step: whether to write a new file after each set of iterations
  • interpolated: whether to write a file containing interpolated reaction coordinate and energy values
  • divide_by_nos: whether to divide energies by the number of spins
  • add_readability_lines: whether to separate columns by lines
spirit.parameters.gneb.set_output_folder(p_state, folder, idx_image=-1, idx_chain=-1)

Set the folder, where output files are placed.

spirit.parameters.gneb.set_output_general(p_state, any=True, initial=False, final=False, idx_image=-1, idx_chain=-1)

Set whether to write any output files at all.

spirit.parameters.gneb.set_output_tag(p_state, tag, idx_image=-1, idx_chain=-1)

Set the tag placed in front of output file names.

If the tag is “<time>”, it will be the date-time of the creation of the state.

spirit.parameters.gneb.set_path_shortening_constant(p_state, shortening_constant, idx_image=-1, idx_chain=-1)

Set the path shortening constant.

spirit.parameters.gneb.set_spring_force(p_state, spring_constant=1, ratio=0, idx_image=-1, idx_chain=-1)

Set the spring force constant and the ratio between energy and reaction coordinate.

spirit.parameters.gneb.set_translating_endpoints(p_state, translating_endpoints, idx_chain=-1)

Set if attracting endpoints should be used.

Eigenmode analysis (EMA)

This method, if needed, calculates modes (they can also be read in from a file) and perturbs the spin system periodically in the direction of the eigenmode.

spirit.parameters.ema.clear_modes(p_state, idx_image=-1, idx_chain=-1)

Clears the modes.

spirit.parameters.ema.get_n_mode_follow(p_state, idx_image=-1, idx_chain=-1)

Returns the index of the mode to use.

spirit.parameters.ema.get_n_modes(p_state, idx_image=-1, idx_chain=-1)

Returns the number of modes to calculate or use.

spirit.parameters.ema.get_sparse(p_state, sparse, idx_image=-1, idx_chain=-1)

Set wether to use sparse matrices.

spirit.parameters.ema.set_n_mode_follow(p_state, n_mode, idx_image=-1, idx_chain=-1)

Set the index of the mode to use.

spirit.parameters.ema.set_n_modes(p_state, n_modes, idx_image=-1, idx_chain=-1)

Set the number of modes to calculate or use.

spirit.parameters.ema.set_sparse(p_state, sparse, idx_image=-1, idx_chain=-1)

Set wether to use sparse matrices.

Minimum mode following (MMF)

spirit.parameters.mmf.get_iterations(p_state, idx_image=-1, idx_chain=-1)

Returns the maximum number of iterations and the step size.

spirit.parameters.mmf.get_n_mode_follow(p_state, idx_image=-1, idx_chain=-1)

Returns the index of the mode which to follow.

spirit.parameters.mmf.get_n_modes(p_state, idx_image=-1, idx_chain=-1)

Returns the number of modes calculated at each iteration.

spirit.parameters.mmf.set_iterations(p_state, n_iterations, n_iterations_log, idx_image=-1, idx_chain=-1)

Set the number of iterations and how often to log and write output.

  • n_iterations: the maximum number of iterations
  • n_iterations_log: the number of iterations after which status is logged and output written
spirit.parameters.mmf.set_n_mode_follow(p_state, n_mode, idx_image=-1, idx_chain=-1)

Set the index of the mode to follow.

spirit.parameters.mmf.set_n_modes(p_state, n_modes, idx_image=-1, idx_chain=-1)

Set the number of modes to be calculated at each iteration.

spirit.parameters.mmf.set_output_configuration(p_state, step=False, archive=True, filetype=3, idx_image=-1, idx_chain=-1)

Set whether to write spin configuration output files.

  • step: whether to write a new file after each set of iterations
  • archive: whether to append to an archive file after each set of iterations
  • filetype: the format in which the data is written
spirit.parameters.mmf.set_output_energy(p_state, step=False, archive=True, spin_resolved=False, divide_by_nos=True, add_readability_lines=True, idx_image=-1, idx_chain=-1)

Set whether to write energy output files.

  • step: whether to write a new file after each set of iterations
  • archive: whether to append to an archive file after each set of iterations
  • spin_resolved: whether to write a file containing the energy of each spin
  • divide_by_nos: whether to divide energies by the number of spins
  • add_readability_lines: whether to separate columns by lines
spirit.parameters.mmf.set_output_folder(p_state, folder, idx_image=-1, idx_chain=-1)

Set the folder, where output files are placed.

spirit.parameters.mmf.set_output_general(p_state, any=True, initial=False, final=False, idx_image=-1, idx_chain=-1)

Set whether to write any output files at all.

spirit.parameters.mmf.set_output_tag(p_state, tag, idx_image=-1, idx_chain=-1)

Set the tag placed in front of output file names.

If the tag is “<time>”, it will be the date-time of the creation of the state.