Stellarator-Tools
Loading...
Searching...
No Matches
limiter::limiter_class Type Reference

Base class representing a limiter signal. More...

Inheritance diagram for limiter::limiter_class:
signal::signal_class limiter_grid::limiter_grid_class limiter_iso_t::limiter_iso_class

Public Member Functions

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.
 
- Public Member Functions inherited from signal::signal_class
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

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.
 
- Public Attributes inherited from signal::signal_class
character(len=data_short_name_lengths_name
 Short name of the signal.
 
character(len=data_name_lengthl_name
 Long name of the signal.
 
character(len=data_short_name_lengthunits
 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.
 

Detailed Description

Base class representing a limiter signal.

Super class:
geometric

Member Function/Subroutine Documentation

◆ get_header()

procedure limiter::limiter_class::get_header ( class (limiter_class), intent(in)  this,
character (len=data_name_length), dimension(7), intent(inout)  header 
)

Gets a discription of the model and model sigma array indices.

Returns a description of the array indices for use when writting output files.

Parameters
[in]thisA limiter_class instance.
[in,out]headerBuffer arrays to write header strings to.

◆ get_max_fval()

procedure limiter::limiter_class::get_max_fval ( class (limiter_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 limiter function.

This should be overwritten by a subclass method.

Parameters
[in]thisA limiter_class instance.
[in]num_thetaNumber of points in the theta direction.
[in]phi_indexCurrent phi index.
[in]rR positions of the last closed flux surface.
[in]zZ positions of the last closed flux surface.
[out]rphiz_at_maxR, Phi, Z position of the maximum function.
Returns
The maximum value of the iso function.

◆ get_modeled_signal_last()

procedure limiter::limiter_class::get_modeled_signal_last ( class (limiter_class), intent(inout)  this,
class (model_class), pointer  a_model,
real (rprec), dimension(4), intent(out)  sigma,
real (rprec), dimension(4), intent(in)  last_value 
)

Calculates the modeled signal.

If the limiter is defined by an iso function returns the value of limiter_get_modeled_iso_signal. Otherwise returns zero.

Parameters
[in,out]thisA limiter_class instance.
[in]a_modelA model instance.
[out]sigmaIf the limiter type is defined by an iso function, sigma value of limiter_get_modeled_iso_signal.
[in]last_valueLast good value in case the signal did not change.
Returns
If the limiter type is defined by an iso function, return the value of limiter_get_modeled_iso_signal. Otherwise returns zero.
Note
Polygon limiters have not be implemented yet.

◆ get_type()

procedure limiter::limiter_class::get_type ( class (limiter_class), intent(in)  this)

Gets a discription of the limiter type.

Returns a description of the limiter type for use when writting output files.

Parameters
[in]thisA limiter_class instance.
Returns
A string describing the limiter type.

◆ limiter_destruct()

FINAL limiter::limiter_class::limiter_destruct ( type (limiter_class), intent(inout)  this)
final

Deconstruct a limiter_class object.

Deallocates memory and uninitializes a limiter_class object.

Parameters
[in,out]thisA limiter_class instance.

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