Stellarator-Tools
siesta_run Module Reference

Defines the base class of the type siesta_run_class. This module contains all the code necessary to interface setup and run SIESTA. More...

Data Types

interface  siesta_run_class
 Interface for the siesta_run constructor. More...
 

Functions/Subroutines

class(siesta_run_class) function, pointer siesta_run_construct (run_comm, verbose, init_mpi, close_w
 Construct new siesta_run_class object. More...
 
subroutine siesta_run_destruct (this)
 Deconstruct a siesta_run_class object. More...
 
real(dp) function siesta_run_get_1d (this, param_name, index)
 Get 1D parameter value. More...
 
subroutine siesta_run_converge (this)
 Solves the SIESTA equilibrium. More...
 
subroutine siesta_run_sync (this)
 Sync child equilibria. More...
 

Variables

integer, parameter siesta_run_control_clear = 0
 Clear all control bits.
 
integer, parameter siesta_run_control_mpi = 1
 Bit position to initalize mpi.
 
integer, parameter siesta_run_control_wout = 2
 Bit position to close the wout file.
 
integer, parameter siesta_run_sync_namelist = 3
 Bit position to sycn the namelist inputs.
 

Detailed Description

Defines the base class of the type siesta_run_class. This module contains all the code necessary to interface setup and run SIESTA.

Function/Subroutine Documentation

◆ siesta_run_construct()

class (siesta_run_class) function, pointer siesta_run::siesta_run_construct ( integer, intent(in)  run_comm,
logical, intent(in)  verbose,
logical, intent(in)  init_mpi,
  close_w 
)

Construct new siesta_run_class object.

Allocates memory and initializes a siesta_run_class object. Performs all the initialization needed to operate SIESTA.

Parameters
[in]run_commMPI Communicator to use.
[in]verboseControl the code screen output.
[in]init_mpiInstructs if MPI should be initialized.
[in]close_woutInstructs if wout file should be closed on deallocate.
[in]namelist_filePath to the siesta namelist input file.
Returns
A pointer to a constructed siesta_run_class object.

◆ siesta_run_converge()

subroutine siesta_run::siesta_run_converge ( class (siesta_run_class), intent(inout)  this)

Solves the SIESTA equilibrium.

This method converges the siesta_run_class equilibrium. Initializes the evolution module variables and converges the force residual using a diagonal preconditioner. Applies the external island perturbation if possible. Loads restart file before convergence.

Parameters
[in,out]thisA siesta_run_class instance.

◆ siesta_run_destruct()

subroutine siesta_run::siesta_run_destruct ( type (siesta_run_class), intent(inout)  this)

Deconstruct a siesta_run_class object.

Deallocates memory and uninitializes a siesta_run_class object. This also performs the shut down procedures for SIESTA.

Parameters
[in,out]thisA siesta_run_class instance.

◆ siesta_run_get_1d()

real (dp) function siesta_run::siesta_run_get_1d ( class (siesta_run_class), intent(in)  this,
character (len=*), intent(in)  param_name,
integer, intent(in)  index 
)

Get 1D parameter value.

Parameters
[in,out]thissiesta_run_class instance.
[in]param_nameName of the parameter to set.
[in]indexArray index of to set the value to.
Returns
Value of the parameter at the index.

◆ siesta_run_sync()

subroutine siesta_run::siesta_run_sync ( class (siesta_run_class), intent(inout)  this)

Sync child equilibria.

Parameters
[in,out]thisA siesta_run_class instance.