Stellarator-Tools
|
Base class representing a vmec_equilibrium. More...
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. | |
Base class representing a vmec_equilibrium.
Interface for the construction of vmec_class types using vmec_construct_full or vmec_construct_eq.
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.
[in] | file_name | Filename of the vmec namelist input file. |
[in] | wout_file_name | Filename of the vmec wout input file. |
[in] | ne | pprofile_T for the electron density. |
[in] | te | pprofile_T for the electron temperature. |
[in] | ti | pprofile_T for the ion temperature. |
[in] | sxrem | pprofile_T for the soft x-ray emissivity. |
[in] | phi_offset | Initial phi offset of the plasma relative to the diagnostics in radians. |
[in] | z_offset | Initial Z offset of the plasma relative to the machine center. |
[in] | pol_rad_ratio | Ratio of poloidal grid to radial grid. Defines the gird sizes when computing magnetic diagnostics. |
[in] | iou | Input/output unit to log messages to. |
[in] | eq_comm | MPI communicator pool for VMEC. |
[in] | recon_comm | MPI communicator pool for reconstruction. |
[in,out] | state_flags | Bitwise flags to indicate which parts of the model changed. |
[in] | force_solve | If true, forces the equilbirum to resolve every time. |
[in] | force_solve | If true, forces the equilbirum to resolve every time. |