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.