V3FIT
Data Types | Functions/Subroutines
sxrem Module Reference

Defines the base class of the type sxrem_class. More...

Data Types

type  sxrem_class
 Base class representing a soft x-ray signal. More...
 
type  sxrem_context
 Structure to hold all memory needed to be sent to the callback function. More...
 
interface  sxrem_emiss_class
 Base class representing a soft x-ray emissivity signal. More...
 
type  sxrem_gp_context_i
 Structure to hold all memory needed to be sent to the guassian process callback function for point. More...
 
type  sxrem_gp_context_s
 Structure to hold all memory needed to be sent to the guassian process callback function for signal. More...
 
type  sxrem_gp_context_x
 Structure to hold all memory needed to be sent to the guassian process callback function for signal. More...
 
interface  sxrem_ti_class
 Base class representing a soft x-ray ti signal. More...
 

Functions/Subroutines

class(sxrem_emiss_class) function, pointer sxrem_emiss_construct (start_path, end_path, geo, profile_number)
 Construct a sxrem_class object for emission. More...
 
class(sxrem_ti_class) function, pointer sxrem_ti_construct (start_path, end_path, profile_number)
 Construct a sxrem_class object for ti. More...
 
subroutine sxrem_destruct (this)
 Deconstruct a sxrem_class object. More...
 
subroutine sxrem_emiss_destruct (this)
 Deconstruct a sxrem_emiss_class object. More...
 
real(rprec) function, dimension(4) sxrem_emiss_get_modeled_signal (this, a_model, sigma, last_value)
 Calculates the modeled emiss signal. More...
 
real(rprec) function, dimension(4) sxrem_ti_get_modeled_signal (this, a_model, sigma, last_value)
 Calculates the modeled ion temperature signal. More...
 
character(len=data_name_length) function sxrem_emiss_get_type (this)
 Gets a discription of the sxrem emiss type. More...
 
character(len=data_name_length) function sxrem_ti_get_type (this)
 Gets a discription of the sxrem emiss type. More...
 
real(rprec) function sxrem_emiss_get_gp_i (this, a_model, i, flags)
 Gets the guassian process kernel for a sxrem emiss signal and a position. More...
 
real(rprec) function sxrem_ti_get_gp_i (this, a_model, i, flags)
 Gets the guassian process kernel for a sxrem ti signal and a position. More...
 
real(rprec) function sxrem_emiss_get_gp_s (this, a_model, signal, flags)
 Gets the guassian process kernel for a sxrem emiss signal and a signal. More...
 
real(rprec) function sxrem_ti_get_gp_s (this, a_model, signal, flags)
 Gets the guassian process kernel for a sxrem ti signal and a signal. More...
 
real(rprec) function sxrem_emiss_get_gp_x (this, a_model, x_cart, flags)
 Gets the guassian process kernel for a sxrem emiss signal and a cartesian position. More...
 
real(rprec) function sxrem_ti_get_gp_x (this, a_model, x_cart, flags)
 Gets the guassian process kernel for a sxrem ti signal and a cartesian position. More...
 
real(rprec) function, private sxr_function (context, xcart, dxcart, length, dx)
 Soft x-ray callback function. More...
 
real(rprec) function, private ti_function (context, xcart, dxcart, length, dx)
 Ion temperature callback function. More...
 
real(rprec) function, private gp_emiss_function_i (context, xcart, dxcart, length, dx)
 Soft x-ray emission gaussian process callback function for signal point kernel evaluation. More...
 
real(rprec) function, private gp_ti_function_i (context, xcart, dxcart, length, dx)
 XICS gaussian process callback function for signal point kernel evaluation. More...
 
real(rprec) function, private gp_emiss_function_s (context, xcart, dxcart, length, dx)
 Soft x-ray gaussian process callback function for emiss signal signal kernel evaluation. More...
 
real(rprec) function, private gp_ti_function_s (context, xcart, dxcart, length, dx)
 Soft x-ray gaussian process callback function for ti signal signal kernel evaluation. More...
 
real(rprec) function, private gp_emiss_function_x (context, xcart, dxcart, length, dx)
 Soft x-ray gaussian process callback function for kernel evaluation for an emiss position and position. More...
 
real(rprec) function, private gp_ti_function_x (context, xcart, dxcart, length, dx)
 Soft x-ray gaussian process callback function for kernel evaluation for an ti position and a position. More...
 

Detailed Description

Defines the base class of the type sxrem_class.

Super Class:
diagnostic

Function/Subroutine Documentation

◆ gp_emiss_function_i()

real (rprec) function, private sxrem::gp_emiss_function_i ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Soft x-ray emission gaussian process callback function for signal point kernel evaluation.

Returns the value of the soft x-ray emission guassian process kernel times the change in path length. This function is passed to integration_path::path_integrate to act as a callback. The soft x-ray kernel is provided by model::model_get_gp_sxrem.

See also
integration_path
Parameters
[in]contextA sxrem_gp_context_i for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The k(x, i)*dl at point x.

Definition at line 934 of file sxrem.f.

◆ gp_emiss_function_s()

real (rprec) function, private sxrem::gp_emiss_function_s ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Soft x-ray gaussian process callback function for emiss signal signal kernel evaluation.

Returns the value of the soft x-ray emiss guassian process kernel times the change in path length.

See also
integration_path
Parameters
[in]contextA sxrem_gp_context_i for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The k(x, s)*f(x)*dl at point x. Where f(x) varies between the sxrem and ti profiles depending on the flags set.

Definition at line 1040 of file sxrem.f.

◆ gp_emiss_function_x()

real (rprec) function, private sxrem::gp_emiss_function_x ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Soft x-ray gaussian process callback function for kernel evaluation for an emiss position and position.

Calculates the guassian process kernel between the emiss position and a position.

See also
integration_path
Parameters
[in]contextA sxrem_gp_context_x for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The k(x, y)*dl at point y.

Definition at line 1145 of file sxrem.f.

◆ gp_ti_function_i()

real (rprec) function, private sxrem::gp_ti_function_i ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

XICS gaussian process callback function for signal point kernel evaluation.

Returns the value of the soft x-ray guassian process kernel times the change in path length. This function is passed to integration_path::path_integrate to act as a callback. The soft x-ray kernel is provided by model::model_get_gp_sxrem. The ti kernel is provided by model::model_get_gp_ti.

See also
integration_path
Parameters
[in]contextA sxrem_gp_context_i for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The k(x, i)*f(x)*dl at point x. Where f(x) varies between the sxrem and ti profiles depending on the flags set.

Definition at line 982 of file sxrem.f.

◆ gp_ti_function_s()

real (rprec) function, private sxrem::gp_ti_function_s ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Soft x-ray gaussian process callback function for ti signal signal kernel evaluation.

Returns the value of the soft x-ray emiss guassian process kernel times the change in path length. The kernel will vary depending on the flags.

See also
integration_path
Parameters
[in]contextA sxrem_gp_context_i for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The k(x, i)*dl at point x.

Definition at line 1086 of file sxrem.f.

◆ gp_ti_function_x()

real (rprec) function, private sxrem::gp_ti_function_x ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Soft x-ray gaussian process callback function for kernel evaluation for an ti position and a position.

Calculates the guassian process kernel between the ti position and a position.

See also
integration_path
Parameters
[in]contextA sxrem_gp_context_x for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The k(x, y)*f(x)*dl at point y. f(x) varies depending on the value of the flags.

Definition at line 1191 of file sxrem.f.

◆ sxr_function()

real (rprec) function, private sxrem::sxr_function ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Soft x-ray callback function.

Returns the value of the soft x-ray emissivity times the change in path length. This function is passed to integration_path::path_integrate to act as a callback. The soft x-ray emissivity is provided by model::model_get_sxrem.

See also
integration_path
Parameters
[in]contextA sxrem_context for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The sxrem(x)*dl at point x.

Definition at line 843 of file sxrem.f.

◆ sxrem_destruct()

subroutine sxrem::sxrem_destruct ( type (sxrem_class), intent(inout)  this)

Deconstruct a sxrem_class object.

Deallocates memory and uninitializes a sxrem_class object.

Parameters
[in,out]thisA sxrem_class instance.

Definition at line 250 of file sxrem.f.

◆ sxrem_emiss_construct()

class (sxrem_emiss_class) function, pointer sxrem::sxrem_emiss_construct ( real (rprec), dimension(3), intent(in)  start_path,
real (rprec), dimension(3), intent(in)  end_path,
real (rprec), intent(in)  geo,
integer, intent(in)  profile_number 
)

Construct a sxrem_class object for emission.

Allocates memory and initializes a sxrem_class object.

Parameters
[in]start_pathStarting point of a sxrem chord.
[in]end_pathEnding point of a sxrem chord.
[in]geoGeometric factor of the chord.
[in]profile_numberIndex of the soft x-ray emissivity profile.
Returns
A pointer to a constructed sxrem_class object.

Definition at line 171 of file sxrem.f.

◆ sxrem_emiss_destruct()

subroutine sxrem::sxrem_emiss_destruct ( type (sxrem_emiss_class), intent(inout)  this)

Deconstruct a sxrem_emiss_class object.

Deallocates memory and uninitializes a sxrem_emiss_class object.

Parameters
[in,out]thisA sxrem_emiss_class instance.

Definition at line 274 of file sxrem.f.

◆ sxrem_emiss_get_gp_i()

real (rprec) function sxrem::sxrem_emiss_get_gp_i ( class (sxrem_emiss_class), intent(in)  this,
type (model_class), pointer  a_model,
integer, intent(in)  i,
integer, intent(in)  flags 
)

Gets the guassian process kernel for a sxrem emiss signal and a position.

Calculates the guassian process kernel between the signal and the position. Integrates the gp_emiss_function_i function.

Parameters
[in]thisA sxrem_class instance.
[in]a_modelA model instance.
[in]iIndex of the position for the kernel.
[in]flagsState flags to send to the kernel.
Returns
Kernel value for the position and the signal.

Definition at line 503 of file sxrem.f.

◆ sxrem_emiss_get_gp_s()

real (rprec) function sxrem::sxrem_emiss_get_gp_s ( class (sxrem_emiss_class), intent(in)  this,
type (model_class), pointer  a_model,
class (signal_class), pointer  signal,
integer, intent(in)  flags 
)

Gets the guassian process kernel for a sxrem emiss signal and a signal.

Calculates the guassian process kernel between the signal and a signal. This is the first signal.

Parameters
[in]thisA sxrem_emiss_class instance.
[in]a_modelA model instance.
[in]signalA signal_class instance for the second signal.
[in]flagsState flags to send to the kernel.
Returns
Kernel value for the signal and the signal.

Definition at line 616 of file sxrem.f.

◆ sxrem_emiss_get_gp_x()

real (rprec) function sxrem::sxrem_emiss_get_gp_x ( class (sxrem_emiss_class), intent(in)  this,
type (model_class), pointer  a_model,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  flags 
)

Gets the guassian process kernel for a sxrem emiss signal and a cartesian position.

Calculates the guassian process kernel between the signal and the position. This is the second signal.

Parameters
[in]thisA sxrem_emiss_class instance.
[in]a_modelA model instance.
[in]x_cartThe cartesian position of to get the kernel at.
[in]flagsState flags to send to the kernel.
Returns
Kernel value for the signal and the signal.

Definition at line 728 of file sxrem.f.

◆ sxrem_emiss_get_modeled_signal()

real (rprec) function, dimension(4) sxrem::sxrem_emiss_get_modeled_signal ( class (sxrem_emiss_class), intent(inout)  this,
type (model_class), pointer  a_model,
real (rprec), dimension(4), intent(out)  sigma,
real (rprec), dimension(4), intent(in)  last_value 
)

Calculates the modeled emiss signal.

Calculates the soft x-ray emissivity signal by integrating along the chord path. The emissivity is provided by the sxr_function.

Parameters
[in,out]thisA sxrem_emiss_class instance.
[in]a_modelA model instance.
[out]sigmaThe modeled sigma.
[in]last_valueLast good value in case the signal did not change.
Returns
The model value.

Definition at line 302 of file sxrem.f.

◆ sxrem_emiss_get_type()

character (len=data_name_length) function sxrem::sxrem_emiss_get_type ( class (sxrem_emiss_class), intent(in)  this)

Gets a discription of the sxrem emiss type.

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

Parameters
[in]thisA sxrem_emiss_class instance.
Returns
A string describing the sxrem type.

Definition at line 436 of file sxrem.f.

◆ sxrem_ti_construct()

class (sxrem_ti_class) function, pointer sxrem::sxrem_ti_construct ( real (rprec), dimension(3), intent(in)  start_path,
real (rprec), dimension(3), intent(in)  end_path,
integer, intent(in)  profile_number 
)

Construct a sxrem_class object for ti.

Allocates memory and initializes a sxrem_class object.

Parameters
[in]start_pathStarting point of a sxrem chord.
[in]end_pathEnding point of a sxrem chord.
[in]profile_numberIndex of the soft x-ray emissivity profile.
Returns
A pointer to a constructed sxrem_class object.

Definition at line 212 of file sxrem.f.

◆ sxrem_ti_get_gp_i()

real (rprec) function sxrem::sxrem_ti_get_gp_i ( class (sxrem_ti_class), intent(in)  this,
type (model_class), pointer  a_model,
integer, intent(in)  i,
integer, intent(in)  flags 
)

Gets the guassian process kernel for a sxrem ti signal and a position.

Calculates the guassian process kernel between the signal and the position. Integrates the gp_ti_function_i function.

Parameters
[in]thisA sxrem_class instance.
[in]a_modelA model instance.
[in]iIndex of the position for the kernel.
[in]flagsState flags to send to the kernel.
Returns
Kernel value for the position and the signal.

Definition at line 560 of file sxrem.f.

◆ sxrem_ti_get_gp_s()

real (rprec) function sxrem::sxrem_ti_get_gp_s ( class (sxrem_ti_class), intent(in)  this,
type (model_class), pointer  a_model,
class (signal_class), pointer  signal,
integer, intent(in)  flags 
)

Gets the guassian process kernel for a sxrem ti signal and a signal.

Calculates the guassian process kernel between the signal and a signal. This is the first signal.

Parameters
[in]thisA sxrem_emiss_class instance.
[in]a_modelA model instance.
[in]signalA signal_class instance for the second signal.
[in]flagsState flags to send to the kernel.
Returns
Kernel value for the signal and the signal.

Definition at line 672 of file sxrem.f.

◆ sxrem_ti_get_gp_x()

real (rprec) function sxrem::sxrem_ti_get_gp_x ( class (sxrem_ti_class), intent(in)  this,
type (model_class), pointer  a_model,
real (rprec), dimension(3), intent(in)  x_cart,
integer, intent(in)  flags 
)

Gets the guassian process kernel for a sxrem ti signal and a cartesian position.

Calculates the guassian process kernel between the signal and the position. This is the second signal.

Parameters
[in]thisA sxrem_emiss_class instance.
[in]a_modelA model instance.
[in]x_cartThe cartesian position of to get the kernel at.
[in]flagsState flags to send to the kernel.
Returns
Kernel value for the signal and the signal.

Definition at line 782 of file sxrem.f.

◆ sxrem_ti_get_modeled_signal()

real (rprec) function, dimension(4) sxrem::sxrem_ti_get_modeled_signal ( class (sxrem_ti_class), intent(inout)  this,
type (model_class), pointer  a_model,
real (rprec), dimension(4), intent(out)  sigma,
real (rprec), dimension(4), intent(in)  last_value 
)

Calculates the modeled ion temperature signal.

Calculates the soft x-ray emissivity/ion temperature signal by integrating along the chord path. The emissivity is provided by the ti_function.

Parameters
[in,out]thisA sxrem_ti_class instance.
[in]a_modelA model instance.
[out]sigmaThe modeled sigma.
[in]last_valueLast good value in case the signal did not change.
Returns
The model value.

Definition at line 371 of file sxrem.f.

◆ sxrem_ti_get_type()

character (len=data_name_length) function sxrem::sxrem_ti_get_type ( class (sxrem_ti_class), intent(in)  this)

Gets a discription of the sxrem emiss type.

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

Parameters
[in]thisA sxrem_ti_class instance.
Returns
A string describing the sxrem type.

Definition at line 467 of file sxrem.f.

◆ ti_function()

real (rprec) function, private sxrem::ti_function ( character (len=1), dimension(:), intent(in)  context,
real (rprec), dimension(3), intent(in)  xcart,
real (rprec), dimension(3), intent(in)  dxcart,
real (rprec), intent(in)  length,
real (rprec), intent(in)  dx 
)
private

Ion temperature callback function.

Returns the value of the ion temperature times the soft x-ray emissivity times the change in path length. This function is passed to integration_path::path_integrate to act as a callback. The soft x-ray emissivity is provided by model::model_get_sxrem and the ion temperature is provided by model::model_get_ti.

See also
integration_path
Parameters
[in]contextA sxrem_context for the model.
[in]xcartThe integration point.
[in]dxcartA vector change in path. Not used in this function.
[in]lengthLength along the integration.
[in]dxA scalar change in path.
Returns
The te(x)*dl at point x.

Definition at line 888 of file sxrem.f.