initialize_Hollmann_interpolant Subroutine

public subroutine initialize_Hollmann_interpolant(params, Nrho, NE, rho_axis, g_axis, fRE_E, fRE_pitch)

This subroutine initializes either 2-D or 3-D PSPLINE interpolants using the data of fields in the KORC-dervied-type variable F.

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(in) :: params

Core KORC simulation parameters.

integer, intent(in) :: Nrho
integer, intent(in) :: NE
real(kind=rp), intent(in), DIMENSION(Nrho):: rho_axis
real(kind=rp), intent(in), DIMENSION(NE):: g_axis
real(kind=rp), intent(in), DIMENSION(Nrho,NE):: fRE_E
real(kind=rp), intent(in), DIMENSION(Nrho,NE):: fRE_pitch

Calls

proc~~initialize_hollmann_interpolant~~CallsGraph proc~initialize_hollmann_interpolant initialize_Hollmann_interpolant ezspline_init ezspline_init proc~initialize_hollmann_interpolant->ezspline_init ezspline_error ezspline_error proc~initialize_hollmann_interpolant->ezspline_error ezspline_setup ezspline_setup proc~initialize_hollmann_interpolant->ezspline_setup

Called by

proc~~initialize_hollmann_interpolant~~CalledByGraph proc~initialize_hollmann_interpolant initialize_Hollmann_interpolant proc~initialize_hollmann_params initialize_Hollmann_params proc~initialize_hollmann_params->proc~initialize_hollmann_interpolant proc~get_hollmann_distribution_3d get_Hollmann_distribution_3D proc~get_hollmann_distribution_3d->proc~initialize_hollmann_params proc~get_hollmann_distribution_3d_psi get_Hollmann_distribution_3D_psi proc~get_hollmann_distribution_3d_psi->proc~initialize_hollmann_params proc~get_hollmann_distribution get_Hollmann_distribution proc~get_hollmann_distribution->proc~initialize_hollmann_params proc~get_hollmann_distribution_1dtransport get_Hollmann_distribution_1Dtransport proc~get_hollmann_distribution_1dtransport->proc~initialize_hollmann_params

Contents


Source Code

  subroutine initialize_Hollmann_interpolant(params,Nrho,NE,rho_axis,g_axis,fRE_E,fRE_pitch)
    !! @note Subroutine that initializes fields interpolants. @endnote
    !! This subroutine initializes either 2-D or 3-D PSPLINE interpolants
    !! using the data of fields in the KORC-dervied-type variable F.
    TYPE(KORC_PARAMS), INTENT(IN)  :: params
    !! Core KORC simulation parameters.
    INTEGER, INTENT(IN)       :: Nrho,NE
    REAL(rp),DIMENSION(Nrho), INTENT(IN)  :: rho_axis
    REAL(rp),DIMENSION(NE), INTENT(IN)  :: g_axis
    REAL(rp),DIMENSION(Nrho,NE), INTENT(IN)  :: fRE_E,fRE_pitch

   
    hollmann_2d%NRHO = Nrho    
    hollmann_2d%NE = NE

    ! initialize fRE_E
    call EZspline_init(hollmann_2d%fRE_E,hollmann_2d%NRHO, &
         hollmann_2d%NE,hollmann_2d%BCRHO,hollmann_2d%BCE,ezerr)
    call EZspline_error(ezerr)

    hollmann_2d%fRE_E%x1 = rho_axis
    hollmann_2d%fRE_E%x2 = g_axis

    call EZspline_setup(hollmann_2d%fRE_E, fRE_E, ezerr, .TRUE.)
    call EZspline_error(ezerr)

    
    ! initialize fRE_pitch    
    call EZspline_init(hollmann_2d%fRE_pitch,hollmann_2d%NRHO, &
         hollmann_2d%NE,hollmann_2d%BCRHO,hollmann_2d%BCE,ezerr)
    call EZspline_error(ezerr)

    hollmann_2d%fRE_pitch%x1 = rho_axis
    hollmann_2d%fRE_pitch%x2 = g_axis


    call EZspline_setup(hollmann_2d%fRE_pitch, fRE_pitch, &
         ezerr, .TRUE.)
    call EZspline_error(ezerr)


  end subroutine initialize_Hollmann_interpolant