V3FIT
|
Defines the base class of the type limiter_iso. More...
Data Types | |
interface | limiter_iso_class |
Base class representing a limiter_iso function. More... | |
Functions/Subroutines | |
class(limiter_iso_class) function, pointer | limiter_iso_construct (arz, rc, zc, numin, vgrid, on_edge) |
Construct a limiter iso function. More... | |
subroutine | limiter_iso_destruct (this) |
Deconstruct a limiter_iso object. More... | |
real(rprec) function | limiter_iso_get_max_fval (this, num_theta, phi_index, r, z, rphiz_at_max) |
Calculates the maximum value of the iso function. More... | |
real(rprec) function | limiter_iso_get_value (this, r, z) |
Computes the iso value at an r, phi, z position. More... | |
character(len=data_name_length) function | limiter_iso_get_type (this) |
Gets a discription of the limiter iso type. More... | |
Defines the base class of the type limiter_iso.
class (limiter_iso_class) function, pointer limiter_iso_t::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. |
Definition at line 93 of file limiter_iso_T.f.
subroutine limiter_iso_t::limiter_iso_destruct | ( | type (limiter_iso_class), intent(inout) | this | ) |
Deconstruct a limiter_iso object.
Deallocates memory and uninitializes a limiter_iso object.
[in,out] | this | A limiter_iso instance. |
Definition at line 138 of file limiter_iso_T.f.
real (rprec) function limiter_iso_t::limiter_iso_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. |
Definition at line 172 of file limiter_iso_T.f.
character (len=data_name_length) function limiter_iso_t::limiter_iso_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. |
Definition at line 293 of file limiter_iso_T.f.
real (rprec) function limiter_iso_t::limiter_iso_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. |
Definition at line 225 of file limiter_iso_T.f.