artn_step

namespace m_artn_step

Functions

subroutine, public artn_step (nat, etot, eng_force, ityp, pos, box, if_pos, displ_vec, lconv)

Routine to perform single step of artn research.

Parameters:
  • nat[in] number of atoms

  • etot[in] total energy of the engine

  • eng_force[in] force calculated by the engine

  • ityp[in] list of type of atoms

  • pos[in] atomic position

  • box[in] lattice vectors in columns

  • if_pos[in] list of fixed atomic degrees of freedom. 3 integers per atom, value 0 to fix the atom in corresponding direction, or value 1 to allow move.

  • displ_vec[out] displacement vector communicated to move_mode

  • lconv[out] flag for controlling convergence

subroutine artn_cstep(cnat, cetot, ceng_force, ctyp, cpos, cbox, cif_pos, cdispl_vec, clconv)

C wrapper to artn_step()

C-header

void artn_step(
               const int cnat,
               const double cetot,
               double *const ceng_force,
               int const *ctyp,
               double *const cpos,
               const double *cbox,
               const int *cif_pos,
               double *cdispl_vec,
               bool *clconv);

Parameters:
  • cnat[in] number of atoms

  • cetot[in] total energy of the engine

  • ceng_force[in] force calculated by the engine

  • ctyp[in] list of type of atoms

  • cpos[in] atomic position

  • cbox[in] lattice vectors in columns

  • cif_pos[in] list of fixed atomic degrees of freedom. 3 integers per atom, value 0 to fix the atom in corresponding direction, or value 1 to allow move.

  • cdispl_vec[out] displacement vector communicated to move_mode

  • clconv[out] flag for controlling convergence

subroutine, public artn_step_reset ()

Variables

real(dp), save dt_init
real(dp), save alpha_init
real(dp), save dt
real(dp), save alpha
integer, save nsteppos
real(dp), dimension(:,:), allocatable, save vel