Stellarator-Tools
vmec_equilibrium::vmec_class Interface Reference

Base class representing a vmec_equilibrium. More...

Inheritance diagram for vmec_equilibrium::vmec_class:
equilibrium::equilibrium_class siesta_equilibrium::siesta_class

Public Member Functions

PROCEDURE set_param => vmec_set_param
 
PROCEDURE set_magnetic_cache_response => vmec_set_magnetic_cache_response
 
PROCEDURE set_magnetic_cache_point => vmec_set_magnetic_cache_point
 
PROCEDURE set_magnetic_cache_calc => vmec_set_magnetic_cache_calc
 
PROCEDURE set_namelist => vmec_set_namelist
 
PROCEDURE get_type => vmec_get_type
 
PROCEDURE get_param_id => vmec_get_param_id
 
PROCEDURE get_param_value => vmec_get_param_value
 
PROCEDURE get_param_name => vmec_get_param_name
 
PROCEDURE get_gp_ne_num_hyper_param => vmec_get_gp_ne_num_hyper_param
 
PROCEDURE get_ne_af => vmec_get_ne_af
 
PROCEDURE get_gp_ne_ij => vmec_get_gp_ne_ij
 
PROCEDURE get_gp_ne_pi => vmec_get_gp_ne_pi
 
PROCEDURE get_gp_ne_pp => vmec_get_gp_ne_pp
 
PROCEDURE get_ne_cart => vmec_get_ne_cart
 
PROCEDURE get_ne_radial => vmec_get_ne_radial
 
PROCEDURE get_gp_te_num_hyper_param => vmec_get_gp_te_num_hyper_param
 
PROCEDURE get_te_af => vmec_get_te_af
 
PROCEDURE get_gp_te_ij => vmec_get_gp_te_ij
 
PROCEDURE get_gp_te_pi => vmec_get_gp_te_pi
 
PROCEDURE get_gp_te_pp => vmec_get_gp_te_pp
 
PROCEDURE get_te_cart => vmec_get_te_cart
 
PROCEDURE get_te_radial => vmec_get_te_radial
 
PROCEDURE get_gp_ti_num_hyper_param => vmec_get_gp_ti_num_hyper_param
 
PROCEDURE get_ti_af => vmec_get_ti_af
 
PROCEDURE get_gp_ti_ij => vmec_get_gp_ti_ij
 
PROCEDURE get_gp_ti_pi => vmec_get_gp_ti_pi
 
PROCEDURE get_gp_ti_pp => vmec_get_gp_ti_pp
 
PROCEDURE get_ti_cart => vmec_get_ti_cart
 
PROCEDURE get_ti_radial => vmec_get_ti_radial
 
PROCEDURE get_gp_sxrem_num_hyper_param => vmec_get_gp_sxrem_num_hyper_param
 
PROCEDURE get_sxrem_af => vmec_get_sxrem_af
 
PROCEDURE get_gp_sxrem_ij => vmec_get_gp_sxrem_ij
 
PROCEDURE get_gp_sxrem_pi => vmec_get_gp_sxrem_pi
 
PROCEDURE get_gp_sxrem_pp => vmec_get_gp_sxrem_pp
 
PROCEDURE get_sxrem_cart => vmec_get_sxrem_cart
 
PROCEDURE get_sxrem_radial => vmec_get_sxrem_radial
 
PROCEDURE get_p_cart => vmec_get_p_cart
 
PROCEDURE get_p_radial => vmec_get_p_radial
 
PROCEDURE get_b_vec => vmec_get_b_vec
 
PROCEDURE get_int_b_dphi => vmec_get_int_b_dphi
 
PROCEDURE get_suv => vmec_get_suv
 
PROCEDURE get_s => vmec_get_s
 
PROCEDURE get_flux => vmec_get_flux
 
PROCEDURE get_plasma_edge => vmec_get_plasma_edge
 
PROCEDURE get_magnetic_volume_rgrid => vmec_get_magnetic_volume_rgrid
 
PROCEDURE get_magnetic_volume_zgrid => vmec_get_magnetic_volume_zgrid
 
PROCEDURE get_magnetic_volume_jrgrid => vmec_get_magnetic_volume_jrgrid
 
PROCEDURE get_magnetic_volume_jphigrid => vmec_get_magnetic_volume_jphigrid
 
PROCEDURE get_magnetic_volume_jzgrid => vmec_get_magnetic_volume_jzgrid
 
PROCEDURE get_volume_int_element => vmec_get_volume_int_element
 
PROCEDURE get_con_surface_krgrid => vmec_get_con_surface_krgrid
 
PROCEDURE get_con_surface_kphigrid => vmec_get_con_surface_kphigrid
 
PROCEDURE get_con_surface_kzgrid => vmec_get_con_surface_kzgrid
 
PROCEDURE get_area_int_element => vmec_get_area_int_element
 
PROCEDURE get_ext_currents => vmec_get_ext_currents
 
PROCEDURE get_b_vac => vmec_get_b_vac
 
PROCEDURE get_ext_b_plasma => vmec_get_ext_b_plasma
 
PROCEDURE get_grid_size => vmec_get_grid_size
 
PROCEDURE get_grid_start => vmec_get_grid_start
 
PROCEDURE get_grid_stop => vmec_get_grid_stop
 
PROCEDURE is_scaler_value => vmec_is_scaler_value
 
PROCEDURE is_1d_array => vmec_is_1d_array
 
PROCEDURE is_2d_array => vmec_is_2d_array
 
PROCEDURE is_recon_param => vmec_is_recon_param
 
PROCEDURE is_using_point => vmec_is_using_point
 
PROCEDURE has_vacuum_field => vmec_has_vacuum_field
 
PROCEDURE is_in_plasma => vmec_is_in_plasma
 
PROCEDURE limit_path_to_boundary => vmec_limit_path_to_boundary
 
PROCEDURE gradient_descent => vmec_gradient_descent
 
PROCEDURE converge => vmec_converge
 
PROCEDURE read_vac_file => vmec_read_vac_file
 
PROCEDURE save_state => vmec_save_state
 
PROCEDURE reset_state => vmec_reset_state
 
PROCEDURE write => vmec_write
 
PROCEDURE write_input => vmec_write_input
 
PROCEDURE def_result => vmec_def_result
 
PROCEDURE write_init_data => vmec_write_init_data
 
PROCEDURE write_step_data => vmec_write_step_data
 
PROCEDURE restart => vmec_restart
 
PROCEDURE sync_state => vmec_sync_state
 
PROCEDURE sync_child => vmec_sync_child
 
FINAL vmec_destruct
 
type(vmec_class) function, pointer vmec_construct (file_name, wout_file_name, ne, te, ti, sxrem, phi_offset, z_offset, pol_rad_ratio, iou, eq_comm, recon_comm, state_flags, force_solve)
 Construct a vmec_class object. More...
 
- Public Member Functions inherited from equilibrium::equilibrium_class
PROCEDURE set_param => equilibrium_set_param
 
PROCEDURE set_magnetic_cache_response => equilibrium_set_magnetic_cache_response
 
PROCEDURE set_magnetic_cache_point => equilibrium_set_magnetic_cache_point
 
GENERIC set_magnetic_cache => set_magnetic_cache_response, set_magnetic_cache_point
 
PROCEDURE get_type => equilibrium_get_type
 
PROCEDURE get_param_id => equilibrium_get_param_id
 
PROCEDURE get_param_name => equilibrium_get_param_name
 
PROCEDURE get_param_value => equilibrium_get_param_value
 
PROCEDURE get_gp_ne_num_hyper_param => equilibrium_get_gp_ne_num_hyper_param
 
PROCEDURE get_ne_af => equilibrium_get_ne_af
 
PROCEDURE get_gp_ne_ij => equilibrium_get_gp_ne_ij
 
PROCEDURE get_gp_ne_pi => equilibrium_get_gp_ne_pi
 
PROCEDURE get_gp_ne_pp => equilibrium_get_gp_ne_pp
 
GENERIC get_gp_ne => get_gp_ne_ij, get_gp_ne_pi, get_gp_ne_pp
 
PROCEDURE get_ne_cart => equilibrium_get_ne_cart
 
PROCEDURE get_ne_radial => equilibrium_get_ne_radial
 
GENERIC get_ne => get_ne_cart, get_ne_radial
 
PROCEDURE get_gp_te_num_hyper_param => equilibrium_get_gp_te_num_hyper_param
 
PROCEDURE get_te_af => equilibrium_get_te_af
 
PROCEDURE get_gp_te_ij => equilibrium_get_gp_te_ij
 
PROCEDURE get_gp_te_pi => equilibrium_get_gp_te_pi
 
PROCEDURE get_gp_te_pp => equilibrium_get_gp_te_pp
 
GENERIC get_gp_te => get_gp_te_ij, get_gp_te_pi, get_gp_te_pp
 
PROCEDURE get_te_cart => equilibrium_get_te_cart
 
PROCEDURE get_te_radial => equilibrium_get_te_radial
 
GENERIC get_te => get_te_cart, get_te_radial
 
PROCEDURE get_gp_ti_num_hyper_param => equilibrium_get_gp_ti_num_hyper_param
 
PROCEDURE get_ti_af => equilibrium_get_ti_af
 
PROCEDURE get_gp_ti_ij => equilibrium_get_gp_ti_ij
 
PROCEDURE get_gp_ti_pi => equilibrium_get_gp_ti_pi
 
PROCEDURE get_gp_ti_pp => equilibrium_get_gp_ti_pp
 
GENERIC get_gp_ti => get_gp_ti_ij, get_gp_ti_pi, get_gp_ti_pp
 
PROCEDURE get_ti_cart => equilibrium_get_ti_cart
 
PROCEDURE get_ti_radial => equilibrium_get_ti_radial
 
GENERIC get_ti => get_ti_cart, get_ti_radial
 
PROCEDURE get_gp_sxrem_num_hyper_param => equilibrium_get_gp_sxrem_num_hyper_param
 
PROCEDURE get_sxrem_af => equilibrium_get_sxrem_af
 
PROCEDURE get_gp_sxrem_ij => equilibrium_get_gp_sxrem_ij
 
PROCEDURE get_gp_sxrem_pi => equilibrium_get_gp_sxrem_pi
 
PROCEDURE get_gp_sxrem_pp => equilibrium_get_gp_sxrem_pp
 
GENERIC get_gp_sxrem => get_gp_sxrem_ij, get_gp_sxrem_pi, get_gp_sxrem_pp
 
PROCEDURE get_sxrem_cart => equilibrium_get_sxrem_cart
 
PROCEDURE get_sxrem_radial => equilibrium_get_sxrem_radial
 
GENERIC get_sxrem => get_sxrem_cart, get_sxrem_radial
 
PROCEDURE get_p_cart => equilibrium_get_p_cart
 
PROCEDURE get_p_radial => equilibrium_get_p_radial
 
GENERIC get_p => get_p_cart, get_p_radial
 
PROCEDURE get_b_vec => equilibrium_get_b_vec
 
PROCEDURE get_int_b_dphi => equilibrium_get_int_b_dphi
 
PROCEDURE get_plasma_edge => equilibrium_get_plasma_edge
 
PROCEDURE get_magnetic_volume_rgrid => equilibrium_get_magnetic_volume_rgrid
 
PROCEDURE get_magnetic_volume_zgrid => equilibrium_get_magnetic_volume_zgrid
 
PROCEDURE get_magnetic_volume_jrgrid => equilibrium_get_magnetic_volume_jrgrid
 
PROCEDURE get_magnetic_volume_jphigrid => equilibrium_get_magnetic_volume_jphigrid
 
PROCEDURE get_magnetic_volume_jzgrid => equilibrium_get_magnetic_volume_jzgrid
 
PROCEDURE get_volume_int_element => equilibrium_get_volume_int_element
 
PROCEDURE get_con_surface_krgrid => equilibrium_get_con_surface_krgrid
 
PROCEDURE get_con_surface_kphigrid => equilibrium_get_con_surface_kphigrid
 
PROCEDURE get_con_surface_kzgrid => equilibrium_get_con_surface_kzgrid
 
PROCEDURE get_area_int_element => equilibrium_get_area_int_element
 
PROCEDURE get_ext_currents => equilibrium_get_ext_currents
 
PROCEDURE get_ext_b_plasma => equilibrium_get_ext_b_plasma
 
PROCEDURE get_grid_size => equilibrium_get_grid_size
 
PROCEDURE get_grid_start => equilibrium_get_grid_start
 
PROCEDURE get_grid_stop => equilibrium_get_grid_stop
 
PROCEDURE is_scaler_value => equilibrium_is_scaler_value
 
PROCEDURE is_2d_array => equilibrium_is_2d_array
 
PROCEDURE is_recon_param => equilibrium_is_recon_param
 
PROCEDURE is_using_point => equilibrium_is_using_point
 
PROCEDURE has_vacuum_field => equilibrium_has_vacuum_field
 
PROCEDURE is_in_plasma => equilibrium_is_in_plasma
 
PROCEDURE limit_path_to_boundary => equilibrium_limit_path_to_boundary
 
PROCEDURE converge => equilibrium_converge
 
PROCEDURE read_vac_file => equilibrium_read_vac_file
 
PROCEDURE save_state => equilibrium_save_state
 
PROCEDURE reset_state => equilibrium_reset_state
 
PROCEDURE write => equilibrium_write
 
PROCEDURE write_input => equilibrium_write_input
 
PROCEDURE def_result => equilibrium_def_result
 
PROCEDURE write_init_data => equilibrium_write_init_data
 
PROCEDURE write_step_data => equilibrium_write_step_data
 
PROCEDURE restart => equilibrium_restart
 
PROCEDURE sync_state => equilibrium_sync_state
 
PROCEDURE sync_child => equilibrium_sync_child
 
FINAL equilibrium_destruct
 

Public Attributes

character(len=path_length) wout_file_name
 File name of the output of vmec.
 
character(len=path_length) vmec_file_name
 File name of the vmec namelist inout file.
 
type(pprofile_class), pointer ne => null()
 pprofile_T describing a flux surface constant electron denisty profile.
 
type(pprofile_class), pointer te => null()
 pprofile_T describing a flux surface constant electron temperature profile.
 
type(pprofile_class), pointer ti => null()
 pprofile_T describing a flux surface constant ion temperature profile.
 
type(pprofile_pointer), dimension(:), pointer sxrem => null()
 pprofile_T describing a flux surface conatsnt soft x-ray emissivity profile.
 
real(rprec) pol_rad_ratio
 Ratio of the poloidal grid points to the poloidal grid points.
 
type(vmec_magnetic_cache), pointer magnetic_cache => null()
 Instance of a vmec_magnetic_cache object.
 
class(vmec_context_class), pointer vmec_context_save => null()
 VMEC context.
 
real(rprec) phi_offset = 0
 Plasma phi offset.
 
real(rprec) z_offset = 0
 Plasma z offset.
 
integer ns_index
 Index of the largest ns value.
 
- Public Attributes inherited from equilibrium::equilibrium_class
logical force_solve
 Controls if an equilibrium is forced to be resolved or not.
 

Detailed Description

Base class representing a vmec_equilibrium.

Interface for the construction of vmec_class types using vmec_construct_full or vmec_construct_eq.

Super Class:
equilibrium

Member Function/Subroutine Documentation

◆ vmec_construct()

type (vmec_class) function, pointer vmec_equilibrium::vmec_class::vmec_construct ( character (len=*), intent(in)  file_name,
character (len=*), intent(in)  wout_file_name,
type (pprofile_class), pointer  ne,
type (pprofile_class), pointer  te,
type (pprofile_class), pointer  ti,
type (pprofile_pointer), dimension(:), pointer  sxrem,
real (rprec), intent(in)  phi_offset,
real (rprec), intent(in)  z_offset,
real (rprec), intent(in)  pol_rad_ratio,
integer, intent(in)  iou,
integer, intent(in)  eq_comm,
integer, intent(in)  recon_comm,
integer, intent(inout)  state_flags,
logical, intent(in)  force_solve 
)

Construct a vmec_class object.

Allocates memory and initializes a vmec_class object.

Parameters
[in]file_nameFilename of the vmec namelist input file.
[in]wout_file_nameFilename of the vmec wout input file.
[in]nepprofile_T for the electron density.
[in]tepprofile_T for the electron temperature.
[in]tipprofile_T for the ion temperature.
[in]sxrempprofile_T for the soft x-ray emissivity.
[in]phi_offsetInitial phi offset of the plasma relative to the diagnostics in radians.
[in]z_offsetInitial Z offset of the plasma relative to the machine center.
[in]pol_rad_ratioRatio of poloidal grid to radial grid. Defines the gird sizes when computing magnetic diagnostics.
[in]iouInput/output unit to log messages to.
[in]eq_commMPI communicator pool for VMEC.
[in]recon_commMPI communicator pool for reconstruction.
[in,out]state_flagsBitwise flags to indicate which parts of the model changed.
[in]force_solveIf true, forces the equilbirum to resolve every time.
[in]force_solveIf true, forces the equilbirum to resolve every time.
Returns
A pointer to a constructed vmec_class object.

The documentation for this interface was generated from the following file: