V3FIT
Data Types | Functions/Subroutines | Variables
equilibrium Module Reference

Defines the base class of the type equilibrium_class. Equilibrium is an abstract interface to the equilibrium solver. Every method is meant to be overwritten by a subclass method with a few exceptions. For instance a vacuum equilibrium could use the default return values for equilibrium_get_ne, equilibrium_get_te and equilibrium_get_sxrem methods. More...

Data Types

type  equilibrium_class
 Base class representing a equilibrium. More...
 
interface  equilibrium_construct
 Interface for the construction of equilibrium_class types using equilibrium_construct_vmec, equilibrium_construct_vacuum or equilibrium_construct_siesta. More...
 
interface  equilibrium_get_gp_ne
 Interface for the equilibrium guassian process density profile values. More...
 
interface  equilibrium_get_gp_sxrem
 Interface for the equilibrium guassian process soft x-ray emissivity profile values. More...
 
interface  equilibrium_get_gp_te
 Interface for the equilibrium guassian process electron temperature profile values. More...
 
interface  equilibrium_get_gp_ti
 Interface for the equilibrium guassian process ion temperature profile values. More...
 
interface  equilibrium_get_ne
 Interface for the equilibrium density profile values. More...
 
interface  equilibrium_get_p
 Interface for the equilibrium pressure profile values. More...
 
interface  equilibrium_get_sxrem
 Interface for the equilibrium soft x-ray emissivity profile values. More...
 
interface  equilibrium_get_te
 Interface for the equilibrium electron temperature profile values. More...
 
interface  equilibrium_get_ti
 Interface for the equilibrium ion temperature profile values. More...
 
interface  equilibrium_get_ze
 Interface for the effective charge profile values. More...
 
interface  equilibrium_set_magnetic_cache
 Interface for the equilibrium set magnetic cache. More...
 

Functions/Subroutines

type(equilibrium_class) function, pointer equilibrium_construct_vmec (vmec_object, force_solve)
 Construct a equilibrium_class containing a vmec_equilibrium object. More...
 
type(equilibrium_class) function, pointer equilibrium_construct_vacuum (vacuum_object, force_solve)
 Construct a equilibrium_class containing a vacuum_equilibrium object. More...
 
type(equilibrium_class) function, pointer equilibrium_construct_siesta (siesta_object, force_solve)
 Construct a equilibrium_class containing a siesta_equilibrium object. More...
 
subroutine equilibrium_destruct (this)
 Deconstruct a equilibrium_class object. More...
 
subroutine equilibrium_set_param (this, id, i_index, j_index, value, eq_comm, state_flags)
 Sets the value of a reconstruction equilibrium parameter. More...
 
subroutine equilibrium_set_magnetic_cache_response (this, response_object, state_flags)
 Sets the magnetic cache of the equilibrium for the magnetic responce. More...
 
subroutine equilibrium_set_magnetic_cache_point (this, use_axi, state_flags)
 Sets the magnetic cache of the equilibrium for points. More...
 
integer function equilibrium_get_param_id (this, param_name)
 Get the id for a reconstruction parameter. More...
 
real(rprec) function equilibrium_get_param_value (this, id, i_index, j_index)
 Gets the value of a reconstruction equilibrium parameter. More...
 
character(len=data_name_length) function equilibrium_get_param_name (this, id)
 Gets the name of a reconstruction equilibrium parameter. More...
 
integer function equilibrium_get_gp_ne_num_hyper_param (this)
 Get the number of electron density gp kernel hyper parameters. More...
 
real(rprec) function, dimension(:), pointer equilibrium_get_ne_af (this)
 Get the electron density profile af array. More...
 
real(rprec) function equilibrium_get_gp_ne_ij (this, i, j)
 Get the electron density gp kernel value for the two indicies. More...
 
real(rprec) function equilibrium_get_gp_ne_pi (this, x_cart, i)
 Get the electron density gp kernel value for the position and index. More...
 
real(rprec) function equilibrium_get_gp_ne_pp (this, x_cart, y_cart)
 Get the electron density gp kernel value for the position and position. More...
 
real(rprec) function equilibrium_get_ne_cart (this, x_cart)
 Gets the electron density at a cartesian position. More...
 
real(rprec) function equilibrium_get_ne_radial (this, r)
 Gets the electron density at a radial position. More...
 
integer function equilibrium_get_gp_te_num_hyper_param (this)
 Get the number of electron temperature gp kernel hyper parameters. More...
 
real(rprec) function, dimension(:), pointer equilibrium_get_te_af (this)
 Get the electron temperature profile af array. More...
 
real(rprec) function equilibrium_get_gp_te_ij (this, i, j)
 Get the electron temperature gp kernel value for the two indicies. More...
 
real(rprec) function equilibrium_get_gp_te_pi (this, x_cart, i)
 Get the electron temperature gp kernel value for the position and index. More...
 
real(rprec) function equilibrium_get_gp_te_pp (this, x_cart, y_cart)
 Get the electron temperature gp kernel value for the position and position. More...
 
real(rprec) function equilibrium_get_te_cart (this, x_cart)
 Gets the electron temperature at a cartesian position. More...
 
real(rprec) function equilibrium_get_te_radial (this, r)
 Gets the electron temperature at a radial position. More...
 
integer function equilibrium_get_gp_ti_num_hyper_param (this)
 Get the number of ion temperature gp kernel hyper parameters. More...
 
real(rprec) function, dimension(:), pointer equilibrium_get_ti_af (this)
 Get the ion temperature profile af array. More...
 
real(rprec) function equilibrium_get_gp_ti_ij (this, i, j)
 Get the ion temperature gp kernel value for the two indicies. More...
 
real(rprec) function equilibrium_get_gp_ti_pi (this, x_cart, i)
 Get the ion temperature gp kernel value for the position and index. More...
 
real(rprec) function equilibrium_get_gp_ti_pp (this, x_cart, y_cart)
 Get the ion temperature gp kernel value for the position and position. More...
 
real(rprec) function equilibrium_get_ti_cart (this, x_cart)
 Gets the ion temperature at a cartesian position. More...
 
real(rprec) function equilibrium_get_ti_radial (this, r)
 Gets the ion temperature at a radial position. More...
 
real(rprec) function equilibrium_get_ze_cart (this, x_cart)
 Gets the effective charge at a cartesian position. More...
 
real(rprec) function equilibrium_get_ze_radial (this, r)
 Gets the effective charge at a radial position. More...
 
integer function equilibrium_get_gp_sxrem_num_hyper_param (this, index)
 Get the number of soft x-ray emissivity gp kernel hyper parameters. More...
 
real(rprec) function, dimension(:), pointer equilibrium_get_sxrem_af (this, index)
 Get the soft x-ray emissivity profile af array. More...
 
real(rprec) function equilibrium_get_gp_sxrem_ij (this, i, j, index)
 Get the electron density gp kernel value for the two indicies. More...
 
real(rprec) function equilibrium_get_gp_sxrem_pi (this, x_cart, i, index)
 Get the soft x-ray emissivity gp kernel value for the position and index. More...
 
real(rprec) function equilibrium_get_gp_sxrem_pp (this, x_cart, y_cart, index)
 Get the soft x-ray emissivity gp kernel value for the position and position. More...
 
real(rprec) function equilibrium_get_sxrem_cart (this, x_cart, index)
 Gets the soft x-ray emissivity at a cartesian position. More...
 
real(rprec) function equilibrium_get_sxrem_radial (this, r, index)
 Gets the soft x-ray emissivity at a radial position. More...
 
real(rprec) function equilibrium_get_p_cart (this, x_cart)
 Gets the plasma pressure at a cartesian position. More...
 
real(rprec) function equilibrium_get_p_radial (this, r)
 Gets the plasma pressure at a radial position. More...
 
real(rprec) function, dimension(3) equilibrium_get_b_vec (this, x_cart, cyl)
 Gets the magnetic field vector at a position. More...
 
real(rprec) function equilibrium_get_int_b_dphi (this, r, theta)
 Gets the loop integrated magnetic field at a position. More...
 
integer function equilibrium_get_plasma_edge (this, phi, r, z)
 Gets the r and z positions of the outer surface at a toroidal angle. More...
 
real(rprec) function, dimension(:,:,:), pointer equilibrium_get_magnetic_volume_rgrid (this)
 Get volume magnetic volume integration radial grid points. More...
 
real(rprec) function, dimension(:,:,:), pointer equilibrium_get_magnetic_volume_zgrid (this)
 Get volume magnetic volume integration z grid points. More...
 
real(rprec) function, dimension(:,:,:), pointer equilibrium_get_magnetic_volume_jrgrid (this)
 Get volume magnetic volume integration jr grid points. More...
 
real(rprec) function, dimension(:,:,:), pointer equilibrium_get_magnetic_volume_jphigrid (this)
 Get volume magnetic volume integration jphi grid points. More...
 
real(rprec) function, dimension(:,:,:), pointer equilibrium_get_magnetic_volume_jzgrid (this)
 Get volume magnetic volume integration jz grid points. More...
 
real(rprec) function equilibrium_get_volume_int_element (this)
 Get volume integration element. More...
 
real(rprec) function, dimension(:,:), pointer equilibrium_get_con_surface_krgrid (this)
 Get the conducting surface integration kr grid points. More...
 
real(rprec) function, dimension(:,:), pointer equilibrium_get_con_surface_kphigrid (this)
 Get the conducting surface integration kphi grid points. More...
 
real(rprec) function, dimension(:,:), pointer equilibrium_get_con_surface_kzgrid (this)
 Get the conducting surface integration kz grid points. More...
 
real(rprec) function equilibrium_get_area_int_element (this)
 Get area integration element. More...
 
real(rprec) function, dimension(:), pointer equilibrium_get_ext_currents (this, num_currents, scale_currents)
 Get external current. More...
 
real(rprec) function, dimension(3) equilibrium_get_ext_b_plasma (this, position, axi_only)
 Get external plasma magnetic field. More...
 
integer function equilibrium_get_grid_size (this)
 Get radial grid size. More...
 
real(rprec) function equilibrium_get_grid_start (this)
 Get start of the radial grid. More...
 
real(rprec) function equilibrium_get_grid_stop (this)
 Get stop of the radial grid. More...
 
logical function equilibrium_is_scaler_value (this, id)
 Checks if a parameter id is a scaler value. More...
 
logical function equilibrium_is_1d_array (this, id)
 Checks if a parameter id is a 1d array. More...
 
logical function equilibrium_is_2d_array (this, id)
 Checks if a parameter id is a 2d array. More...
 
logical function equilibrium_is_recon_param (this, id)
 Checks if a parameter id is a reconstruction parameter. More...
 
logical function equilibrium_is_using_point (this)
 Checks if a the point magnetics are being used. More...
 
logical function equilibrium_converge (this, num_iter, iou, eq_comm, state_flags)
 Solves the equilibrium. More...
 
subroutine equilibrium_read_vac_file (this, index, eq_comm)
 Loads the vacuum magnetic field file. More...
 
subroutine equilibrium_save_state (this)
 Save the internal state of the equilibrium. More...
 
subroutine equilibrium_reset_state (this)
 Reset the internal state of the equilibrium. More...
 
subroutine equilibrium_write (this, iou)
 Write out the equilibrium to an output file. More...
 
subroutine equilibrium_write_input (this, current_step)
 Write the current valid input. More...
 
subroutine equilibrium_def_result (this, result_ncid, maxnsetps_dim_id)
 Define NetCDF variables for the result file. More...
 
subroutine equilibrium_write_init_data (this, result_ncid)
 Write inital data to NetCDF result file. More...
 
subroutine equilibrium_write_step_data (this, result_ncid, current_step)
 Write step data to NetCDF result file. More...
 
subroutine equilibrium_restart (this, result_ncid, current_step)
 Restart equilibrium. More...
 
subroutine equilibrium_sync_state (this, recon_comm)
 Syncronize the equilibrium state to children. More...
 
subroutine equilibrium_sync_child (this, index, recon_comm)
 Syncronize a child equilibrium state to the parent. More...
 

Variables

integer, parameter equilibrium_no_type = -1
 Type descriptor for the equilibrium_class no subclass.
 
integer, parameter equilibrium_vmec_type = 0
 Type descriptor for the equilibrium_class subclass vmec_equilibrium.
 
integer, parameter equilibrium_vacuum_type = 1
 Type descriptor for the equilibrium_class subclass vacuum_equilibrium.
 
integer, parameter equilibrium_siesta_type = 2
 Type descriptor for the equilibrium_class subclass siesta_equilibrium.
 

Detailed Description

Defines the base class of the type equilibrium_class. Equilibrium is an abstract interface to the equilibrium solver. Every method is meant to be overwritten by a subclass method with a few exceptions. For instance a vacuum equilibrium could use the default return values for equilibrium_get_ne, equilibrium_get_te and equilibrium_get_sxrem methods.

Sub Classes:
vmec_equilibrium vacuum_equilibrium

Function/Subroutine Documentation

◆ equilibrium_construct_siesta()

type (equilibrium_class) function, pointer equilibrium::equilibrium_construct_siesta ( type (siesta_class), pointer  siesta_object,
logical, intent(in)  force_solve 
)

Construct a equilibrium_class containing a siesta_equilibrium object.

Allocates memory and initializes a equilibrium_class object.

Parameters
[in]siesta_objectAn instance of a siesta_equilibrium subclass.
[in]force_solveIf true, forces the equilbirum to resolve every time.
Returns
A pointer to a constructed equilibrium_class object.

Definition at line 264 of file equilibrium.f.

◆ equilibrium_construct_vacuum()

type (equilibrium_class) function, pointer equilibrium::equilibrium_construct_vacuum ( type (vacuum_class), pointer  vacuum_object,
logical, intent(in)  force_solve 
)

Construct a equilibrium_class containing a vacuum_equilibrium object.

Allocates memory and initializes a equilibrium_class object.

Parameters
[in]vacuum_objectAn instance of a vacuum_equilibrium subclass.
[in]force_solveIf true, forces the equilbirum to resolve every time.
Returns
A pointer to a constructed equilibrium_class object.

Definition at line 227 of file equilibrium.f.

◆ equilibrium_construct_vmec()

type (equilibrium_class) function, pointer equilibrium::equilibrium_construct_vmec ( type (vmec_class), pointer  vmec_object,
logical, intent(in)  force_solve 
)

Construct a equilibrium_class containing a vmec_equilibrium object.

Allocates memory and initializes a equilibrium_class object.

Parameters
[in]vmec_objectAn instance of a vmec_equilibrium subclass.
[in]force_solveIf true, forces the equilbirum to resolve every time.
Returns
A pointer to a constructed equilibrium_class object.

Definition at line 190 of file equilibrium.f.

◆ equilibrium_converge()

logical function equilibrium::equilibrium_converge ( type (equilibrium_class), intent(inout)  this,
integer, intent(inout)  num_iter,
integer, intent(in)  iou,
integer, intent(in)  eq_comm,
integer, intent(in)  state_flags 
)

Solves the equilibrium.

This method is virtual. The actual solving of the equilibrium should be handled by a subclass method.

See also
vmec_equilibrium::vmec_converge
siesta_equilibrium::siesta_converge
Parameters
[in,out]thisA equilibrium_class instance.
[in,out]num_iterCounter to track the number of iterations.
[in]iouInput/output unit of the file to write logs to.
[in]eq_commMPI communicator pool for the equilibrium.
[in]state_flagsBitwise flags to indicate which parts of the model changed.
Returns
True if the convergece was sucessful and false otherwise.

Definition at line 3362 of file equilibrium.f.

◆ equilibrium_def_result()

subroutine equilibrium::equilibrium_def_result ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  result_ncid,
integer, intent(in)  maxnsetps_dim_id 
)

Define NetCDF variables for the result file.

This method is virtual. The actual defining of the equilibrium variables should be handled by a subclass method.

See also
vmec_equilibrium::vmec_def_result
siesta_equilibrium::siesta_def_result
Parameters
[in]thisA equilibrium_class instance.
[in]result_ncidNetCDF file id of the result file.
[in]maxnsetps_dim_idNetCDF dimension id of the number of steps dimension.

Definition at line 3618 of file equilibrium.f.

◆ equilibrium_destruct()

subroutine equilibrium::equilibrium_destruct ( type (equilibrium_class), pointer  this)

Deconstruct a equilibrium_class object.

Deallocates memory and uninitializes a equilibrium_class object.

Parameters
[in,out]thisA equilibrium_class instance.

Definition at line 300 of file equilibrium.f.

◆ equilibrium_get_area_int_element()

real (rprec) function equilibrium::equilibrium_get_area_int_element ( type (equilibrium_class), intent(in)  this)

Get area integration element.

This method is virtual. The actual getting of the area integration element should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_area_int_element
siesta_equilibrium::siesta_get_area_int_element
Parameters
[in]thisA equilibrium_class instance.
Returns
The volume integration element.

Definition at line 2817 of file equilibrium.f.

◆ equilibrium_get_b_vec()

real (rprec) function, dimension(3) equilibrium::equilibrium_get_b_vec ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
logical, intent(in)  cyl 
)

Gets the magnetic field vector at a position.

This method is virtual. The actual getting of the magnetic field vector should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_B_vec
vacuum_equilibrium::vacuum_get_B_vec
siesta_equilibrium::siesta_get_B_vec
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the magnetic field vector at.
[in]cylFlag that specifies if the bfield should be returned in cartesian or cylindical coordinates.
Returns
The magnetic field vector at x_cart.

Definition at line 2238 of file equilibrium.f.

◆ equilibrium_get_con_surface_kphigrid()

real (rprec) function, dimension(:,:), pointer equilibrium::equilibrium_get_con_surface_kphigrid ( type (equilibrium_class), intent(in)  this)

Get the conducting surface integration kphi grid points.

This method is virtual. The actual getting of the kphi grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_con_surface_kphigrid
siesta_equilibrium::siesta_get_con_surface_kphigrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The kphi grid points.

Definition at line 2725 of file equilibrium.f.

◆ equilibrium_get_con_surface_krgrid()

real (rprec) function, dimension(:,:), pointer equilibrium::equilibrium_get_con_surface_krgrid ( type (equilibrium_class), intent(in)  this)

Get the conducting surface integration kr grid points.

This method is virtual. The actual getting of the kr grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_con_surface_krgrid
siesta_equilibrium::siesta_get_con_surface_krgrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The kr grid points.

Definition at line 2679 of file equilibrium.f.

◆ equilibrium_get_con_surface_kzgrid()

real (rprec) function, dimension(:,:), pointer equilibrium::equilibrium_get_con_surface_kzgrid ( type (equilibrium_class), intent(in)  this)

Get the conducting surface integration kz grid points.

This method is virtual. The actual getting of the kz grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_con_surface_kzgrid
siesta_equilibrium::siesta_get_con_surface_kzgrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The kz grid points.

Definition at line 2771 of file equilibrium.f.

◆ equilibrium_get_ext_b_plasma()

real (rprec) function, dimension(3) equilibrium::equilibrium_get_ext_b_plasma ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3)  position,
logical, intent(in)  axi_only 
)

Get external plasma magnetic field.

This method is virtual. The actual getting of the external current should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ext_b_plasma
siesta_equilibrium::siesta_get_ext_b_plasma
Parameters
[in]thisA equilibrium_class instance.
[in]positionPosition to compute the fields at.
[in]axi_onlyGives only the axisymmtric component of the magnetic field.
Returns
The external currents.

Definition at line 2932 of file equilibrium.f.

◆ equilibrium_get_ext_currents()

real (rprec) function, dimension(:), pointer equilibrium::equilibrium_get_ext_currents ( type (equilibrium_class), intent(in)  this,
integer  num_currents,
logical, intent(out)  scale_currents 
)

Get external current.

This method is virtual. The actual getting of the external current should be handled by a subclass method. To void extra memory operations, arrays are returned as pointers. The memory management is handled by the equilibrium subclass instance. If the equilibrium has no external currents return a null() pointer or don't override this method. MAKEGRID has a mode where currents maybe scaled. Inform the signal using this to scale the currents if need be.

See also
vmec_equilibrium::vmec_get_ext_currents
vacuum_equilibrium::vacuum_get_ext_currents
siesta_equilibrium::siesta_get_ext_currents
Parameters
[in]thisA equilibrium_class instance.
[in]num_currentsForces the number of currents to return if greater than zero.
[out]scale_currentsInforms the caller that currents need to be scaled.
Returns
The external currents.

Definition at line 2873 of file equilibrium.f.

◆ equilibrium_get_gp_ne_ij()

real (rprec) function equilibrium::equilibrium_get_gp_ne_ij ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  i,
integer, intent(in)  j 
)

Get the electron density gp kernel value for the two indicies.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ne_ij
siesta_equilibrium::siesta_get_gp_ne_ij
Parameters
[in]thisA equilibrium_class instance.
[in]iith profile position.
[in]jjth profile position.
Returns
The value of the gp kernel function for i, j.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 779 of file equilibrium.f.

◆ equilibrium_get_gp_ne_num_hyper_param()

integer function equilibrium::equilibrium_get_gp_ne_num_hyper_param ( type (equilibrium_class), intent(in)  this)

Get the number of electron density gp kernel hyper parameters.

This method is virtual. The actual getting of the number of hyper parameters should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ne_num_hyper_param
siesta_equilibrium::siesta_get_gp_ne_num_hyper_param
Parameters
[in]thisA equilibrium_class instance.
Returns
Number of kernel hyper parameters.

Definition at line 690 of file equilibrium.f.

◆ equilibrium_get_gp_ne_pi()

real (rprec) function equilibrium::equilibrium_get_gp_ne_pi ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  i 
)

Get the electron density gp kernel value for the position and index.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ne_pi
siesta_equilibrium::siesta_get_gp_ne_pi
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the electron density at.
[in]iProfile position index.
Returns
The value of the gp kernel function for x_cart and i.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 829 of file equilibrium.f.

◆ equilibrium_get_gp_ne_pp()

real (rprec) function equilibrium::equilibrium_get_gp_ne_pp ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
real (rprec), dimension(3), intent(in)  y_cart 
)

Get the electron density gp kernel value for the position and position.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ne_pp
siesta_equilibrium::siesta_get_gp_ne_pp
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the kernel at.
[in]y_cartCartesian position to get the kernel at.
Returns
The value of the gp kernel function for x_cart and y_cart.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 881 of file equilibrium.f.

◆ equilibrium_get_gp_sxrem_ij()

real (rprec) function equilibrium::equilibrium_get_gp_sxrem_ij ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  i,
integer, intent(in)  j,
integer, intent(in)  index 
)

Get the electron density gp kernel value for the two indicies.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ne_ij
siesta_equilibrium::siesta_get_gp_ne_ij
Parameters
[in]thisA equilibrium_class instance.
[in]iith profile position.
[in]jith profile position.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
The value of the gp kernel function for i, j.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1881 of file equilibrium.f.

◆ equilibrium_get_gp_sxrem_num_hyper_param()

integer function equilibrium::equilibrium_get_gp_sxrem_num_hyper_param ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  index 
)

Get the number of soft x-ray emissivity gp kernel hyper parameters.

This method is virtual. The actual getting of the number of hyper parameters should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_sxrem_num_hyper_param
siesta_equilibrium::siesta_get_gp_sxrem_num_hyper_param
Parameters
[in]thisA equilibrium_class instance.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
Number of kernel hyper parameters.

Definition at line 1786 of file equilibrium.f.

◆ equilibrium_get_gp_sxrem_pi()

real (rprec) function equilibrium::equilibrium_get_gp_sxrem_pi ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  i,
integer, intent(in)  index 
)

Get the soft x-ray emissivity gp kernel value for the position and index.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_sxrem_pi
siesta_equilibrium::siesta_get_gp_sxrem_pi
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the soft x-ray emissivity at.
[in]iProfile position index.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
The value of the gp kernel function for x_cart and i.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1935 of file equilibrium.f.

◆ equilibrium_get_gp_sxrem_pp()

real (rprec) function equilibrium::equilibrium_get_gp_sxrem_pp ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
real (rprec), dimension(3), intent(in)  y_cart,
integer, intent(in)  index 
)

Get the soft x-ray emissivity gp kernel value for the position and position.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_sxrem_pp
siesta_equilibrium::siesta_get_gp_sxrem_pp
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the electron density at.
[in]y_cartProfile position index.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
The value of the gp kernel function for x_cart and y_cart.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1989 of file equilibrium.f.

◆ equilibrium_get_gp_te_ij()

real (rprec) function equilibrium::equilibrium_get_gp_te_ij ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  i,
integer, intent(in)  j 
)

Get the electron temperature gp kernel value for the two indicies.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_te_ij
siesta_equilibrium::siesta_get_gp_te_ij
Parameters
[in]thisA equilibrium_class instance.
[in]iith profile position.
[in]jith profile position.
Returns
The value of the gp kernel function for i, j.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1113 of file equilibrium.f.

◆ equilibrium_get_gp_te_num_hyper_param()

integer function equilibrium::equilibrium_get_gp_te_num_hyper_param ( type (equilibrium_class), intent(in)  this)

Get the number of electron temperature gp kernel hyper parameters.

This method is virtual. The actual getting of the number of hyper parameters should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_te_num_hyper_param
siesta_equilibrium::siesta_get_gp_te_num_hyper_param
Parameters
[in]thisA equilibrium_class instance.
Returns
Number of kernel hyper parameters.

Definition at line 1022 of file equilibrium.f.

◆ equilibrium_get_gp_te_pi()

real (rprec) function equilibrium::equilibrium_get_gp_te_pi ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  i 
)

Get the electron temperature gp kernel value for the position and index.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_te_pi
siesta_equilibrium::siesta_get_gp_te_pi
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the electron temperature at.
[in]iProfile position index.
Returns
The value of the gp kernel function for x_cart and i.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1164 of file equilibrium.f.

◆ equilibrium_get_gp_te_pp()

real (rprec) function equilibrium::equilibrium_get_gp_te_pp ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
real (rprec), dimension(3), intent(in)  y_cart 
)

Get the electron temperature gp kernel value for the position and position.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_te_pp
siesta_equilibrium::siesta_get_gp_te_pp
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the kernel at.
[in]y_cartCartesian position to get the kernel at.
Returns
The value of the gp kernel function for x_cart and y_cart.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1216 of file equilibrium.f.

◆ equilibrium_get_gp_ti_ij()

real (rprec) function equilibrium::equilibrium_get_gp_ti_ij ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  i,
integer, intent(in)  j 
)

Get the ion temperature gp kernel value for the two indicies.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ti_ij
siesta_equilibrium::siesta_get_gp_ti_ij
Parameters
[in]thisA equilibrium_class instance.
[in]iith profile position.
[in]jith profile position.
Returns
The value of the gp kernel function for i, j.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1448 of file equilibrium.f.

◆ equilibrium_get_gp_ti_num_hyper_param()

integer function equilibrium::equilibrium_get_gp_ti_num_hyper_param ( type (equilibrium_class), intent(in)  this)

Get the number of ion temperature gp kernel hyper parameters.

This method is virtual. The actual getting of the number of hyper parameters should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ti_num_hyper_param
siesta_equilibrium::siesta_get_gp_ti_num_hyper_param
Parameters
[in]thisA equilibrium_class instance.
Returns
Number of kernel hyper parameters.

Definition at line 1357 of file equilibrium.f.

◆ equilibrium_get_gp_ti_pi()

real (rprec) function equilibrium::equilibrium_get_gp_ti_pi ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  i 
)

Get the ion temperature gp kernel value for the position and index.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ti_pi
siesta_equilibrium::siesta_get_gp_ti_pi
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the ion temperature at.
[in]iProfile position index.
Returns
The value of the gp kernel function for x_cart and i.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1498 of file equilibrium.f.

◆ equilibrium_get_gp_ti_pp()

real (rprec) function equilibrium::equilibrium_get_gp_ti_pp ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
real (rprec), dimension(3), intent(in)  y_cart 
)

Get the ion temperature gp kernel value for the position and position.

This method is virtual. The actual getting of the kernel function should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_gp_ti_pp
siesta_equilibrium::siesta_get_gp_ti_pp
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the kernel at.
[in]y_cartCartesian position to get the kernel at.
Returns
The value of the gp kernel function for x_cart and y_cart.
Note
Note the gp kernel is not implmented for all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1550 of file equilibrium.f.

◆ equilibrium_get_grid_size()

integer function equilibrium::equilibrium_get_grid_size ( type (equilibrium_class), intent(in)  this)

Get radial grid size.

This method is virtual. The actual getting of the radial grid size should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_grid_size
siesta_equilibrium::siesta_get_grid_size
Parameters
[in]thisA equilibrium_class instance.
Returns
Size of the radial grid.

Definition at line 2979 of file equilibrium.f.

◆ equilibrium_get_grid_start()

real (rprec) function equilibrium::equilibrium_get_grid_start ( type (equilibrium_class), intent(in)  this)

Get start of the radial grid.

This method is virtual. The actual getting of the radial grid start should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_grid_start
siesta_equilibrium::siesta_get_grid_start
Parameters
[in]thisA equilibrium_class instance.
Returns
Start of the radial grid.

Definition at line 3023 of file equilibrium.f.

◆ equilibrium_get_grid_stop()

real (rprec) function equilibrium::equilibrium_get_grid_stop ( type (equilibrium_class), intent(in)  this)

Get stop of the radial grid.

This method is virtual. The actual getting of the radial grid stop should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_grid_stop
siesta_equilibrium::siesta_get_grid_stop
Parameters
[in]thisA equilibrium_class instance.
Returns
Stop of the radial grid.

Definition at line 3067 of file equilibrium.f.

◆ equilibrium_get_int_b_dphi()

real (rprec) function equilibrium::equilibrium_get_int_b_dphi ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r,
real (rprec), intent(in)  theta 
)

Gets the loop integrated magnetic field at a position.

This method is virtual. The actual getting of the loop integrated magnetic field should be handled by a subclass method. Returns the closed loop integration of the magnetic field to determine the enclosed current.

See also
vmec_equilibrium::vmec_get_Int_B_dphi
vacuum_equilibrium::vacuum_get_Int_B_dphi
siesta_equilibrium::siesta_get_Int_B_dphi
Parameters
[in]thisA equilibrium_class instance.
[in]rRadial position to integrate about.
[in]thetaPoloidal angle to integrate about.
Returns
The loop integrated magnetic field at x_cart.

Definition at line 2292 of file equilibrium.f.

◆ equilibrium_get_magnetic_volume_jphigrid()

real (rprec) function, dimension(:,:,:), pointer equilibrium::equilibrium_get_magnetic_volume_jphigrid ( type (equilibrium_class), intent(in)  this)

Get volume magnetic volume integration jphi grid points.

This method is virtual. The actual getting of the jphi grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_magnetic_volume_jphigrid
siesta_equilibrium::siesta_get_magnetic_volume_jphigrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The jphi grid points.

Definition at line 2542 of file equilibrium.f.

◆ equilibrium_get_magnetic_volume_jrgrid()

real (rprec) function, dimension(:,:,:), pointer equilibrium::equilibrium_get_magnetic_volume_jrgrid ( type (equilibrium_class), intent(in)  this)

Get volume magnetic volume integration jr grid points.

This method is virtual. The actual getting of the jr grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_magnetic_volume_jrgrid
siesta_equilibrium::siesta_get_magnetic_volume_jrgrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The jr grid points.

Definition at line 2496 of file equilibrium.f.

◆ equilibrium_get_magnetic_volume_jzgrid()

real (rprec) function, dimension(:,:,:), pointer equilibrium::equilibrium_get_magnetic_volume_jzgrid ( type (equilibrium_class), intent(in)  this)

Get volume magnetic volume integration jz grid points.

This method is virtual. The actual getting of the jz grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_magnetic_volume_jzgrid
siesta_equilibrium::siesta_get_magnetic_volume_jzgrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The jz grid points.

Definition at line 2588 of file equilibrium.f.

◆ equilibrium_get_magnetic_volume_rgrid()

real (rprec) function, dimension(:,:,:), pointer equilibrium::equilibrium_get_magnetic_volume_rgrid ( type (equilibrium_class), intent(in)  this)

Get volume magnetic volume integration radial grid points.

This method is virtual. The actual getting of the radial grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_magnetic_volume_rgrid
siesta_equilibrium::siesta_get_magnetic_volume_rgrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The radial grid points.

Definition at line 2404 of file equilibrium.f.

◆ equilibrium_get_magnetic_volume_zgrid()

real (rprec) function, dimension(:,:,:), pointer equilibrium::equilibrium_get_magnetic_volume_zgrid ( type (equilibrium_class), intent(in)  this)

Get volume magnetic volume integration z grid points.

This method is virtual. The actual getting of the z grid points should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_magnetic_volume_zgrid
siesta_equilibrium::siesta_get_magnetic_volume_zgrid
Parameters
[in]thisA equilibrium_class instance.
Returns
The z grid points.

Definition at line 2450 of file equilibrium.f.

◆ equilibrium_get_ne_af()

real (rprec) function, dimension(:), pointer equilibrium::equilibrium_get_ne_af ( type (equilibrium_class), intent(in)  this)

Get the electron density profile af array.

This method is virtual. The actual getting of the af array should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ne_af
siesta_equilibrium::siesta_get_ne_af
Parameters
[in]thisA equilibrium_class instance.
Returns
Pointer to the electron density profile af array.

Definition at line 735 of file equilibrium.f.

◆ equilibrium_get_ne_cart()

real (rprec) function equilibrium::equilibrium_get_ne_cart ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart 
)

Gets the electron density at a cartesian position.

This method is virtual. The actual getting of the electron density should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ne
siesta_equilibrium::siesta_get_ne
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the electron density at.
Returns
The electron density at x_cart.
Note
Note the electron density is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 931 of file equilibrium.f.

◆ equilibrium_get_ne_radial()

real (rprec) function equilibrium::equilibrium_get_ne_radial ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r 
)

Gets the electron density at a radial position.

This method is virtual. The actual getting of the electron density should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ne
siesta_equilibrium::siesta_get_ne
Parameters
[in]thisA equilibrium_class instance.
[in]rRadial position to get the electron density at.
Returns
The electron density at r.
Note
Note the electron density is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 978 of file equilibrium.f.

◆ equilibrium_get_p_cart()

real (rprec) function equilibrium::equilibrium_get_p_cart ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart 
)

Gets the plasma pressure at a cartesian position.

This method is virtual. The actual getting of the plasma pressure should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_p
siesta_equilibrium::siesta_get_p
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the plasma pressure at.
Returns
The plasma pressure at x_cart.
Note
Note the plasma pressure is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 2142 of file equilibrium.f.

◆ equilibrium_get_p_radial()

real (rprec) function equilibrium::equilibrium_get_p_radial ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r 
)

Gets the plasma pressure at a radial position.

This method is virtual. The actual getting of the plasma pressure should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_p
siesta_equilibrium::siesta_get_p
Parameters
[in]thisA equilibrium_class instance.
[in]rCartesian position to get the plasma pressure at.
Returns
The plasma pressure at r.
Note
Note the plasma pressure is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 2189 of file equilibrium.f.

◆ equilibrium_get_param_id()

integer function equilibrium::equilibrium_get_param_id ( type (equilibrium_class), intent(in)  this,
character (len=*), intent(in)  param_name 
)

Get the id for a reconstruction parameter.

This method is virtual. The actual getting of the reconstruction parameter id should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_param_id
vacuum_equilibrium::vacuum_get_param_id
siesta_equilibrium::siesta_get_param_id
Parameters
[in]thisA equilibrium_class instance.
[in]param_nameName of a reconstruction parameter.
Returns
The id for a reconstruction parameter.

Definition at line 532 of file equilibrium.f.

◆ equilibrium_get_param_name()

character(len=data_name_length) function equilibrium::equilibrium_get_param_name ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  id 
)

Gets the name of a reconstruction equilibrium parameter.

This method is virtual. The actual getting of the reconstruction parameter name should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_param_name
vacuum_equilibrium::vacuum_get_param_name
siesta_equilibrium::siesta_get_param_name
Parameters
[in]thisA equilibrium_class instance.
[in]idID of the parameter.
Returns
The name of the parameter.

Definition at line 640 of file equilibrium.f.

◆ equilibrium_get_param_value()

real (rprec) function equilibrium::equilibrium_get_param_value ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  id,
integer, intent(in)  i_index,
integer, intent(in)  j_index 
)

Gets the value of a reconstruction equilibrium parameter.

This method is virtual. The actual getting of the reconstruction parameter value should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_param_value
vacuum_equilibrium::vacuum_get_param_value
siesta_equilibrium::siesta_get_param_value
Parameters
[in]thisA equilibrium_class instance.
[in]idID of the parameter.
[in]i_indexThe ith index of the parameter.
[in]j_indexThe jth index of the parameter.
Returns
The value of the parameter.

Definition at line 586 of file equilibrium.f.

◆ equilibrium_get_plasma_edge()

integer function equilibrium::equilibrium_get_plasma_edge ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  phi,
real (rprec), dimension(:), pointer  r,
real (rprec), dimension(:), pointer  z 
)

Gets the r and z positions of the outer surface at a toroidal angle.

This method is virtual. The actual getting of the magnetic field vector should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_plasma_edge
siesta_equilibrium::siesta_get_plasma_edge
Parameters
[in]thisA equilibrium_class instance.
[in]phiToroidal angle to determine the outer surface at.
[out]rThe radial postions of the other surface in a single toroidal angle.
[out]zThe Z postions of the other surface in a single toroidal angle.
Returns
The number of elements in the r and z arrays.
Todo:
An "edge" could be defined as a the last field line that intersects a limiter for the vacuum case. By defineing a r_last parameter, a feild line can be followed around the machine. When that field line intersecs the desired phi plane, record the r and z positions. Field line following will also need to be performed for siesta.

Definition at line 2354 of file equilibrium.f.

◆ equilibrium_get_sxrem_af()

real (rprec) function, dimension(:), pointer equilibrium::equilibrium_get_sxrem_af ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  index 
)

Get the soft x-ray emissivity profile af array.

This method is virtual. The actual getting of the af array should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_sxrem_af
siesta_equilibrium::siesta_get_sxrem_af
Parameters
[in]thisA equilibrium_class instance.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
Pointer to the soft x-ray emissivity profile af array.

Definition at line 1833 of file equilibrium.f.

◆ equilibrium_get_sxrem_cart()

real (rprec) function equilibrium::equilibrium_get_sxrem_cart ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  index 
)

Gets the soft x-ray emissivity at a cartesian position.

This method is virtual. The actual getting of the soft x-ray emissivity should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_sxrem
siesta_equilibrium::siesta_get_sxrem
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the soft x-ray emissivity at.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
The soft x-ray emissivity at x_cart.
Note
Note the soft x-ray emissivity is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 2041 of file equilibrium.f.

◆ equilibrium_get_sxrem_radial()

real (rprec) function equilibrium::equilibrium_get_sxrem_radial ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r,
integer, intent(in)  index 
)

Gets the soft x-ray emissivity at a radial position.

This method is virtual. The actual getting of the soft x-ray emissivity should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_sxrem
siesta_equilibrium::siesta_get_sxrem
Parameters
[in]thisA equilibrium_class instance.
[in]rCartesian position to get the soft x-ray emissivity at.
[in]indexIndex of the soft x-ray emissivity profile to use.
Returns
The soft x-ray emissivity at x_cart.
Note
Note the soft x-ray emissivity is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 2092 of file equilibrium.f.

◆ equilibrium_get_te_af()

real (rprec) function, dimension(:), pointer equilibrium::equilibrium_get_te_af ( type (equilibrium_class), intent(in)  this)

Get the electron temperature profile af array.

This method is virtual. The actual getting of the af array should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_te_af
siesta_equilibrium::siesta_get_te_af
Parameters
[in]thisA equilibrium_class instance.
Returns
Pointer to the electron temperature profile af array.

Definition at line 1067 of file equilibrium.f.

◆ equilibrium_get_te_cart()

real (rprec) function equilibrium::equilibrium_get_te_cart ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart 
)

Gets the electron temperature at a cartesian position.

This method is virtual. The actual getting of the electron temperature should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_te
siesta_equilibrium::siesta_get_te
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the electron temperature at.
Returns
The electron temperature at x_cart.
Note
Note the electron temperature is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1266 of file equilibrium.f.

◆ equilibrium_get_te_radial()

real (rprec) function equilibrium::equilibrium_get_te_radial ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r 
)

Gets the electron temperature at a radial position.

This method is virtual. The actual getting of the electron temperature should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_te
siesta_equilibrium::siesta_get_te
Parameters
[in]thisA equilibrium_class instance.
[in]rCartesian position to get the electron temperature at.
Returns
The electron temperature at r.
Note
Note the electron temperature is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1313 of file equilibrium.f.

◆ equilibrium_get_ti_af()

real (rprec) function, dimension(:), pointer equilibrium::equilibrium_get_ti_af ( type (equilibrium_class), intent(in)  this)

Get the ion temperature profile af array.

This method is virtual. The actual getting of the af array should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ti_af
siesta_equilibrium::siesta_get_ti_af
Parameters
[in]thisA equilibrium_class instance.
Returns
Pointer to the electron ion profile af array.

Definition at line 1402 of file equilibrium.f.

◆ equilibrium_get_ti_cart()

real (rprec) function equilibrium::equilibrium_get_ti_cart ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart 
)

Gets the ion temperature at a cartesian position.

This method is virtual. The actual getting of the electron temperature should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ti
siesta_equilibrium::siesta_get_ti
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the electron temperature at.
Returns
The ion temperature at x_cart.
Note
Note the ion temperature is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1600 of file equilibrium.f.

◆ equilibrium_get_ti_radial()

real (rprec) function equilibrium::equilibrium_get_ti_radial ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r 
)

Gets the ion temperature at a radial position.

This method is virtual. The actual getting of the ion temperature should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ti
siesta_equilibrium::siesta_get_ti
Parameters
[in]thisA equilibrium_class instance.
[in]rCartesian position to get the ion temperature at.
Returns
The ion temperature at r.
Note
Note the ion temperature is not relevant to all equilibrium types. For instance, vacuum equilibrium should not override this method.

Definition at line 1647 of file equilibrium.f.

◆ equilibrium_get_volume_int_element()

real (rprec) function equilibrium::equilibrium_get_volume_int_element ( type (equilibrium_class), intent(in)  this)

Get volume integration element.

This method is virtual. The actual getting of the volume integration element should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_volume_int_element
siesta_equilibrium::siesta_get_volume_int_element
Parameters
[in]thisA equilibrium_class instance.
Returns
The volume integration element.

Definition at line 2634 of file equilibrium.f.

◆ equilibrium_get_ze_cart()

real (rprec) function equilibrium::equilibrium_get_ze_cart ( type (equilibrium_class), intent(in)  this,
real (rprec), dimension(3), intent(in)  x_cart 
)

Gets the effective charge at a cartesian position.

This method is virtual. The actual getting of the effective charge should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ze
siesta_equilibrium::siesta_get_ze
Parameters
[in]thisA equilibrium_class instance.
[in]x_cartCartesian position to get the effective charge at.
Returns
The effective charge at x_cart.
Note
Note the default choice for the effective charge is 1.0

Definition at line 1693 of file equilibrium.f.

◆ equilibrium_get_ze_radial()

real (rprec) function equilibrium::equilibrium_get_ze_radial ( type (equilibrium_class), intent(in)  this,
real (rprec), intent(in)  r 
)

Gets the effective charge at a radial position.

This method is virtual. The actual getting of the effective charge should be handled by a subclass method.

See also
vmec_equilibrium::vmec_get_ze
siesta_equilibrium::siesta_get_ze
Parameters
[in]thisA equilibrium_class instance.
[in]rCartesian position to get the effective charge at.
Returns
The effective charge at r.
Note
Note the default choice for the effective charge is 1.0

Definition at line 1740 of file equilibrium.f.

◆ equilibrium_is_1d_array()

logical function equilibrium::equilibrium_is_1d_array ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  id 
)

Checks if a parameter id is a 1d array.

This method is virtual. The actual check should be handled by a subclass method.

See also
vmec_equilibrium::vmec_is_1d_array
vacuum_equilibrium::vacuum_is_1d_array
siesta_equilibrium::siesta_is_1d_array
Parameters
[in]thisA equilibrium_class instance.
[in]idID of the parameter.
Returns
True if the parameter is a 1d array and false if otherwise.

Definition at line 3163 of file equilibrium.f.

◆ equilibrium_is_2d_array()

logical function equilibrium::equilibrium_is_2d_array ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  id 
)

Checks if a parameter id is a 2d array.

This method is virtual. The actual check should be handled by a subclass method.

See also
vmec_equilibrium::vmec_is_2d_array
siesta_equilibrium::siesta_is_2d_array
Parameters
[in]thisA equilibrium_class instance.
[in]idID of the parameter.
Returns
True if the parameter is a 2d array and false if otherwise.

Definition at line 3212 of file equilibrium.f.

◆ equilibrium_is_recon_param()

logical function equilibrium::equilibrium_is_recon_param ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  id 
)

Checks if a parameter id is a reconstruction parameter.

This method is virtual. The actual check should be handled by a subclass method.

See also
vmec_equilibrium::vmec_is_recon_param
vacuum_equilibrium::vacuum_is_recon_param
siesta_equilibrium::siesta_is_recon_param
Parameters
[in]thisA equilibrium_class instance.
[in]idID of the parameter.
Returns
True if the parameter is a reconstruction parameter and false if otherwise.

Definition at line 3259 of file equilibrium.f.

◆ equilibrium_is_scaler_value()

logical function equilibrium::equilibrium_is_scaler_value ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  id 
)

Checks if a parameter id is a scaler value.

This method is virtual. The actual check should be handled by a subclass method.

See also
vmec_equilibrium::vmec_is_scaler_value
siesta_equilibrium::siesta_is_scaler_value
Parameters
[in]thisA equilibrium_class instance.
[in]idID of the parameter.
Returns
True if the parameter is a scaler and false if otherwise.

Definition at line 3115 of file equilibrium.f.

◆ equilibrium_is_using_point()

logical function equilibrium::equilibrium_is_using_point ( type (equilibrium_class), intent(in)  this)

Checks if a the point magnetics are being used.

This method is virtual. The actual check should be handled by a subclass method.

See also
vmec_equilibrium::vmec_is_using_point
siesta_equilibrium::siesta_is_using_point
Parameters
[in]thisA equilibrium_class instance.
Returns
True if the point magnetic are being used.

Definition at line 3309 of file equilibrium.f.

◆ equilibrium_read_vac_file()

subroutine equilibrium::equilibrium_read_vac_file ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  index,
integer, intent(in)  eq_comm 
)

Loads the vacuum magnetic field file.

Loads the vacuum magnetic field file. This will get on multiple processes to allow parallel loading of vacuum files.

See also
vmec_equilibrium::vmec_read_vac_file
siesta_equilibrium::siesta_read_vac_file
Parameters
[in]thisA equilibrium_class instance.
[in]indexIndex of the changed current.
[in]eq_commMPI communicator pool for VMEC.

Definition at line 3417 of file equilibrium.f.

◆ equilibrium_reset_state()

subroutine equilibrium::equilibrium_reset_state ( type (equilibrium_class), intent(inout)  this)

Reset the internal state of the equilibrium.

This method is virtual. The actual reseting of the equilibrium state should be handled by a subclass method. Sub classes need to make sure that the equilibrium is reset to a converged state.

See also
vmec_equilibrium::vmec_reset_state
siesta_equilibrium::siesta_reset_state
Parameters
[in,out]thisA equilibrium_class instance.

Definition at line 3487 of file equilibrium.f.

◆ equilibrium_restart()

subroutine equilibrium::equilibrium_restart ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  result_ncid,
integer, intent(in)  current_step 
)

Restart equilibrium.

This method is virtual. The actual restarting of the equilibrium variables should be handled by a subclass method.

See also
vmec_equilibrium::vmec_restart and
siesta_equilibrium::siesta_restart
Parameters
[in]thisA equilibrium_class instance.
[in]result_ncidNetCDF file id of the result file.
[in]current_stepStep index to write variables to.

Definition at line 3746 of file equilibrium.f.

◆ equilibrium_save_state()

subroutine equilibrium::equilibrium_save_state ( type (equilibrium_class), intent(inout)  this)

Save the internal state of the equilibrium.

This method is virtual. The actual saving of the equilibrium state should be handled by a subclass method.

See also
vmec_equilibrium::vmec_save_state
siesta_equilibrium::siesta_save_state
Parameters
[in,out]thisA equilibrium_class instance.

Definition at line 3449 of file equilibrium.f.

◆ equilibrium_set_magnetic_cache_point()

subroutine equilibrium::equilibrium_set_magnetic_cache_point ( type (equilibrium_class), intent(inout)  this,
logical, intent(in)  use_axi,
integer, intent(in)  state_flags 
)

Sets the magnetic cache of the equilibrium for points.

This method is virtual. The actual setting of the magnetic cache should be handled a subclass method. The magnetic cache is any pre compuation that needs to be performed so that magnetic signals may compute a modeled signal. If the equilibrium does not require any information to be cached, this method does not need to be overridden. This method is meant to only be called once to tell the equilibrium it needs to use a magnetic cache.

See also
vmec_equilibrium::vmec_set_magnetic_cache
siesta_equilibrium::siesta_set_magnetic_cache
Parameters
[in,out]thisA equilibrium_class instance.
[in]use_axiMagnetics can subtract off axisymmetric components.
[in]state_flagsBitwise flags to indicate which parts of the model changed.

Definition at line 475 of file equilibrium.f.

◆ equilibrium_set_magnetic_cache_response()

subroutine equilibrium::equilibrium_set_magnetic_cache_response ( type (equilibrium_class), intent(inout)  this,
type (magnetic_response_class), intent(in)  response_object,
integer, intent(in)  state_flags 
)

Sets the magnetic cache of the equilibrium for the magnetic responce.

This method is virtual. The actual setting of the magnetic cache should be handled a subclass method. The magnetic cache is any pre compuation that needs to be performed so that magnetic signals may compute a modeled signal. If the equilibrium does not require any information to be cached, this method does not need to be overridden. This method is meant to only be called once to tell the equilibrium it needs to use a magnetic cache.

See also
vmec_equilibrium::vmec_set_magnetic_cache
siesta_equilibrium::siesta_set_magnetic_cache
Parameters
[in,out]thisA equilibrium_class instance.
[in]response_objectA magnetic_response::magnetic_response_class instance.
[in]state_flagsBitwise flags to indicate which parts of the model changed.

Definition at line 414 of file equilibrium.f.

◆ equilibrium_set_param()

subroutine equilibrium::equilibrium_set_param ( type (equilibrium_class), intent(inout)  this,
integer, intent(in)  id,
integer, intent(in)  i_index,
integer, intent(in)  j_index,
real (rprec), intent(in)  value,
integer, intent(in)  eq_comm,
integer, intent(inout)  state_flags 
)

Sets the value of a reconstruction equilibrium parameter.

This method is virtual. The actual setting of the parameter should be handled by a subclass method. The subclass is responsible updating the state flags.

See also
vmec_equilibrium::vmec_set_param
vacuum_equilibrium::vacuum_set_param
siesta_equilibrium::siesta_set_param
Parameters
[in,out]thisA equilibrium_class instance.
[in]idID of the parameter.
[in]i_indexThe ith index of the parameter.
[in]j_indexThe jth index of the parameter.
[in]valueThe value of the parameter.
[in]eq_commMPI communicator for the child equilibrium processes.
[in,out]state_flagsBitwise flags to indicate which parts of the model changed.

Definition at line 353 of file equilibrium.f.

◆ equilibrium_sync_child()

subroutine equilibrium::equilibrium_sync_child ( type (equilibrium_class), intent(inout)  this,
integer, intent(in)  index,
integer, intent(in)  recon_comm 
)

Syncronize a child equilibrium state to the parent.

Syncs data between a child and the parent process. If MPI support is not compiled in this subroutine reduces to a no op.

Parameters
[in,out]thisA equilibrium_class instance.
[in]indexReconstruction rank to sync.
[in]recon_commMPI communicator for the reconstruction processes.

Definition at line 3828 of file equilibrium.f.

◆ equilibrium_sync_state()

subroutine equilibrium::equilibrium_sync_state ( type (equilibrium_class), intent(inout)  this,
integer, intent(in)  recon_comm 
)

Syncronize the equilibrium state to children.

Syncs data between the parent and child processes. If MPI support is not compiled in this subroutine reduces to a no op.

Parameters
[in,out]thisA equilibrium_class instance.
[in]recon_commMPI communicator for the reconstruction processes.

Definition at line 3787 of file equilibrium.f.

◆ equilibrium_write()

subroutine equilibrium::equilibrium_write ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  iou 
)

Write out the equilibrium to an output file.

This method is virtual. The actual writing of the equilibrium should be handled by a subclass method.

See also
vmec_equilibrium::vmec_write
vacuum_equilibrium::vacuum_write
siesta_equilibrium::siesta_write
Parameters
[in]thisA equilibrium_class instance.
[in]iouInput/output unit of the output file.

Definition at line 3527 of file equilibrium.f.

◆ equilibrium_write_init_data()

subroutine equilibrium::equilibrium_write_init_data ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  result_ncid 
)

Write inital data to NetCDF result file.

This method is virtual. The actual writing of the equilibrium variables should be handled by a subclass method.

See also
vmec_equilibrium::vmec_write_init_data
siesta_equilibrium::siesta_write_init_data
Parameters
[in]thisA equilibrium_class instance.
[in]result_ncidNetCDF file id of the result file.

Definition at line 3660 of file equilibrium.f.

◆ equilibrium_write_input()

subroutine equilibrium::equilibrium_write_input ( type (equilibrium_class), intent(in)  this,
integer  current_step 
)

Write the current valid input.

This method is virtual. The actual writing of the input file should be handled by a subclass method.

See also
vmec_equilibrium::vmec_write_input
vaccum_equilibrium::vacuum_write_input
siesta_equilibrium::siesta_write_input
Parameters
[in]thisA equilibrium_class instance.
[in]current_stepStep number to append to input filename.

Definition at line 3570 of file equilibrium.f.

◆ equilibrium_write_step_data()

subroutine equilibrium::equilibrium_write_step_data ( type (equilibrium_class), intent(in)  this,
integer, intent(in)  result_ncid,
integer, intent(in)  current_step 
)

Write step data to NetCDF result file.

This method is virtual. The actual writing of the equilibrium variables should be handled by a subclass method.

See also
vmec_equilibrium::vmec_write_step_data and
siesta_equilibrium::siesta_write_step_data
Parameters
[in]thisA equilibrium_class instance.
[in]result_ncidNetCDF file id of the result file.
[in]current_stepStep index to write variables to.

Definition at line 3702 of file equilibrium.f.