![]() |
Stellarator-Tools
|
Base class representing a limiter_iso function. More...
Public Member Functions | |
procedure | get_max_fval (this, num_theta, phi_index, r, z, rphiz_at_max) |
Calculates the maximum value of the iso function. | |
procedure | get_type (this) |
Gets a discription of the limiter iso type. | |
procedure | get_value (this, r, z) |
Computes the iso value at an r, phi, z position. | |
FINAL | limiter_iso_destruct (this) |
Deconstruct a limiter_iso object. | |
class(limiter_iso_class) function, pointer | limiter_iso_construct (arz, rc, zc, numin, vgrid, on_edge) |
Construct a limiter iso function. | |
![]() | |
procedure | get_modeled_signal_last (this, a_model, sigma, last_value) |
Calculates the modeled signal. | |
procedure | get_header (this, header) |
Gets a discription of the model and model sigma array indices. | |
procedure | get_type (this) |
Gets a discription of the limiter type. | |
procedure | get_max_fval (this, num_theta, phi_index, r, z, rphiz_at_max) |
Calculates the maximum value of the limiter function. | |
FINAL | limiter_destruct (this) |
Deconstruct a limiter_class object. | |
![]() | |
procedure | get_modeled_signal_cache (this, a_model, sigma, use_cache, last_value) |
Calculates the modeled signal. | |
procedure | get_modeled_signal_last (this, a_model, sigma, last_value) |
Calculates the modeled signal. | |
GENERIC | get_modeled_signal get_modeled_signal_cache, get_modeled_signal_last |
procedure | get_observed_signal (this, a_model) |
Calculates the observed signal. | |
procedure | get_g2 (this, a_model, use_cache, last_value) |
Calculates the g^2 contribution of a signal. | |
procedure | get_e (this, a_model, use_cache, last_value) |
Calculates the e contribution of a signal. | |
procedure | get_sigma2 (this) |
Calculates the total sigma^2 of a signal. | |
procedure | get_type (this) |
Gets a discription of the signal type. | |
procedure | get_header (this, header) |
Gets a discription of the model and model sigma array indices. | |
procedure | get_gp_i (this, a_model, i, flags) |
Gets the guassian process kernel for a signal and a position. | |
procedure | get_gp_s (this, a_model, signal, flags) |
Gets the guassian process kernel for a signal and a signal. | |
procedure | get_gp_x (this, a_model, x_cart, flags) |
Gets the guassian process kernel for a signal and cartesian position. | |
GENERIC | get_gp get_gp_i, get_gp_s, get_gp_x |
procedure | scale_and_offset (this, a_model, value) |
Apply scale and offset to the value. | |
procedure | sync_child (this, index, recon_comm) |
Syncronize a child signal state to the parent. | |
procedure | write_header (this, iou) |
Write out the signal header information to an output file. | |
procedure | write (this, iou, index, a_model) |
Write out the signal information to an output file. | |
procedure | write_auxiliary (this, iou, index, a_model) |
Write out any auxiliary signal information to an output file. | |
procedure | write_step_data (this, a_model, result_ncid, current_step, index, signal_model_value_id, signal_sigma_value_id) |
Write out the signal data for a step to the result netcdf file. | |
FINAL | signal_destruct (this) |
Deconstruct a signal_class object. | |
Public Attributes | |
real(rprec), dimension(0:4, 0:4) | arz |
Coefficients for the iso function. | |
real(rprec) | rc |
R offset for function. | |
real(rprec) | zc |
Z offset for function. | |
integer | numin |
Minimum number of poloidal angles for s=1 surface. | |
![]() | |
logical | on_edge = .false. |
If true, the reconstruction tries to place the edge on the limiter. Otherwise, the plasma edge is kept inside the limiter. | |
real(rprec), dimension(:), pointer | phi => null() |
Limiter phi planes the limiters are defined at. | |
![]() | |
character(len=data_short_name_length) | s_name |
Short name of the signal. | |
character(len=data_name_length) | l_name |
Long name of the signal. | |
character(len=data_short_name_length) | units |
Physical units the signal measures. | |
real(rprec) | observed |
Eperimentally measured signal value. | |
real(rprec) | observed_sigma |
Eperimentally measured signal uncertainty. | |
real(rprec) | weight |
Weighting parameter of the signal. | |
real(rprec), dimension(4) | modeled |
Cached value of the modeled signal. | |
real(rprec), dimension(4) | modeled_sigma |
Cached value of the modeled sigma. | |
integer | scale_index |
Scale factor index. | |
integer | offset_index |
Offset factor index. | |
Base class representing a limiter_iso function.
Interface for iso contour limiter constructor.
1) Limiter iso: limiter_iso Contains the data to define a scalar function of position, so that the iso-contour f=0 of the function corresponds to a geometric limit to the plasma. Also contains data to specify the minimum number poloidal points on the s=1 surface to use, and the toroidal planes on which to s=1 surface will be evaluated
Second attempt:
e = SUM_over_i(0,4)_j(0,4) [arz(i,j) (r - rc)^i (z - zc)^j] f = e / |grad(e)|
procedure limiter_iso_t::limiter_iso_class::get_max_fval | ( | class (limiter_iso_class), intent(in) | this, |
integer, intent(in) | num_theta, | ||
integer, intent(in) | phi_index, | ||
real (rprec), dimension(:), intent(in) | r, | ||
real (rprec), dimension(:), intent(in) | z, | ||
real (rprec), dimension(3), intent(out) | rphiz_at_max | ||
) |
Calculates the maximum value of the iso function.
[in] | this | A limiter_class instance. |
[in] | num_theta | Number of points in the theta direction. |
[in] | phi_index | Current phi index. |
[in] | r | R positions of the last closed flux surface. |
[in] | z | Z positions of the last closed flux surface. |
[out] | rphiz_at_max | R, Phi, Z position of the maximum function. |
procedure limiter_iso_t::limiter_iso_class::get_type | ( | class (limiter_iso_class), intent(in) | this | ) |
Gets a discription of the limiter iso type.
Returns a description of the limiter type for use when writting output files.
[in] | this | A limiter_iso_class instance. |
procedure limiter_iso_t::limiter_iso_class::get_value | ( | class (limiter_iso_class), intent(in) | this, |
real (rprec), intent(in) | r, | ||
real (rprec), intent(in) | z | ||
) |
Computes the iso value at an r, phi, z position.
Limiter iso function is computed as
e = SUM_over_i(0,4)_j(0,4) [arz(i,j) (r - rc)^i (z - zc)^j] f = e / |grad(e)|
[in] | this | A limiter_iso instance. |
[in] | rpz_arg | The r point to evaluate at. |
[in] | rpz_arg | The z point to evaluate at. |
class (limiter_iso_class) function, pointer limiter_iso_t::limiter_iso_class::limiter_iso_construct | ( | real (rprec), dimension(0:4,0:4), intent(in) | arz, |
real (rprec), intent(in) | rc, | ||
real (rprec), intent(in) | zc, | ||
integer, intent(in) | numin, | ||
real (rprec), dimension(:), intent(in) | vgrid, | ||
logical, intent(in) | on_edge | ||
) |
Construct a limiter iso function.
Allocates memory and initializes a limiter_iso object.
[in] | arz | Coefficients for the iso function. |
[in] | rc | R offset for function. |
[in] | zc | Z offset for function. |
[in] | numin | Minimum number of poloidal angles for s=1 surface. |
[in] | vgrid | Values of toroidal angle at which to compute s=1 surface. |
[in] | on_edge | Specifies if the edge should touch the limiter or not. If true, the reconstruction tries to have the limiter touch the limiter. If false, the edge will only just fall inside the limiter. |
|
final |
Deconstruct a limiter_iso object.
Deallocates memory and uninitializes a limiter_iso object.
[in,out] | this | A limiter_iso instance. |