MODgvec_rProfile_poly Module

Module ** polyProfile **

Defines a 1-D profile in rho^2 via a power polynomial.


Uses

  • module~~modgvec_rprofile_poly~~UsesGraph module~modgvec_rprofile_poly MODgvec_rProfile_poly module~modgvec_globals MODgvec_Globals module~modgvec_rprofile_poly->module~modgvec_globals module~modgvec_rprofile_base MODgvec_rProfile_base module~modgvec_rprofile_poly->module~modgvec_rprofile_base iso_fortran_env iso_fortran_env module~modgvec_globals->iso_fortran_env module~modgvec_rprofile_base->module~modgvec_globals

Used by

  • module~~modgvec_rprofile_poly~~UsedByGraph module~modgvec_rprofile_poly MODgvec_rProfile_poly proc~initmhd3d t_functional_mhd3d%InitMHD3D proc~initmhd3d->module~modgvec_rprofile_poly proc~initprofile InitProfile proc~initprofile->module~modgvec_rprofile_poly

Interfaces

public interface t_rProfile_poly

  • public function polyProfile_new(coefs) result(sf)

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in) :: coefs(:)

    B-Spline coefficients

    Return Value type(t_rProfile_poly)


Derived Types

type, public, extends(c_rProfile) ::  t_rProfile_poly

Components

Type Visibility Attributes Name Initial
integer, public :: n_coefs
real(kind=wp), public, ALLOCATABLE :: coefs(:)
integer, public :: deg = 0

Constructor

public function polyProfile_new (coefs)

Finalizations Procedures

final :: polyProfile_free

Type-Bound Procedures

procedure, public :: eval_at_rho => rProfile_eval_at_rho
procedure, public :: rProfile_drho2
procedure, public :: rProfile_drho3
procedure, public :: rProfile_drho4
procedure, public :: eval_at_rho2 => polyProfile_eval_at_rho2
procedure, public :: antiderivative => polyProfile_antiderivative

Functions

public function polyProfile_new(coefs) result(sf)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: coefs(:)

B-Spline coefficients

Return Value type(t_rProfile_poly)

public function polyProfile_eval_at_rho2(sf, rho2, deriv) result(profile_prime_value)

evaluate the n-th derivative of a power polynomial

Arguments

Type IntentOptional Attributes Name
class(t_rProfile_poly), intent(in) :: sf

self

real(kind=wp), intent(in) :: rho2

evaluation point in the toroidal flux coordinate (rho2=phi/phi_edge= spos^2)

integer, intent(in), optional :: deriv

Return Value real(kind=wp)

public function polyProfile_antiderivative(sf) result(antideriv)

get the exact polynomial antiderivative, with respect to rho2

Arguments

Type IntentOptional Attributes Name
class(t_rProfile_poly), intent(in) :: sf

self

Return Value class(c_rProfile), ALLOCATABLE


Subroutines

public subroutine polyProfile_free(sf)

finalize the type rProfile

Arguments

Type IntentOptional Attributes Name
type(t_rProfile_poly), intent(inout) :: sf

self