interp_FOcollision_p Subroutine

public subroutine interp_FOcollision_p(pchunk, Y_R, Y_PHI, Y_Z, ne, Te, Zeff, flag_cache)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: pchunk
real(kind=rp), intent(in), DIMENSION(pchunk):: Y_R
real(kind=rp), intent(in), DIMENSION(pchunk):: Y_PHI
real(kind=rp), intent(in), DIMENSION(pchunk):: Y_Z
real(kind=rp), intent(out), DIMENSION(pchunk):: ne
real(kind=rp), intent(out), DIMENSION(pchunk):: Te
real(kind=rp), intent(out), DIMENSION(pchunk):: Zeff
integer(kind=is), intent(inout), DIMENSION(pchunk):: flag_cache

Calls

proc~~interp_focollision_p~~CallsGraph proc~interp_focollision_p interp_FOcollision_p ezspline_interp ezspline_interp proc~interp_focollision_p->ezspline_interp proc~check_if_in_profiles_domain_p check_if_in_profiles_domain_p proc~interp_focollision_p->proc~check_if_in_profiles_domain_p ezspline_error ezspline_error proc~interp_focollision_p->ezspline_error

Called by

proc~~interp_focollision_p~~CalledByGraph proc~interp_focollision_p interp_FOcollision_p proc~include_coulombcollisionsla_gc_p include_CoulombCollisionsLA_GC_p proc~include_coulombcollisionsla_gc_p->proc~interp_focollision_p proc~gceom1_p GCEoM1_p proc~gceom1_p->proc~interp_focollision_p proc~include_coulombcollisions_gc_p include_CoulombCollisions_GC_p proc~include_coulombcollisions_gc_p->proc~interp_focollision_p proc~include_coulombcollisions_fo_p include_CoulombCollisions_FO_p proc~include_coulombcollisions_fo_p->proc~interp_focollision_p proc~advance_fpeqn_vars advance_FPeqn_vars proc~advance_fpeqn_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_psiwe_vars advance_GCinterp_psiwE_vars proc~advance_gcinterp_psiwe_vars->proc~gceom1_p proc~adv_gcinterp_psi_top adv_GCinterp_psi_top proc~adv_gcinterp_psi_top->proc~include_coulombcollisions_gc_p proc~advance_fpinterp_vars advance_FPinterp_vars proc~adv_gcinterp_psi_top->proc~advance_fpinterp_vars proc~advance_foeqn_vars advance_FOeqn_vars proc~advance_foeqn_vars->proc~include_coulombcollisions_fo_p proc~advance_fpinterp_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_3dbdb1_vars advance_GCinterp_3DBdB1_vars proc~advance_gcinterp_3dbdb1_vars->proc~gceom1_p proc~advance_gcinterp_3dbdb1_vars->proc~include_coulombcollisions_gc_p proc~adv_gcinterp_psiwe_top adv_GCinterp_psiwE_top proc~adv_gcinterp_psiwe_top->proc~include_coulombcollisions_gc_p proc~advance_fp3dinterp_vars advance_FP3Dinterp_vars proc~advance_fp3dinterp_vars->proc~include_coulombcollisions_fo_p proc~advance_fointerp_vars advance_FOinterp_vars proc~advance_fointerp_vars->proc~include_coulombcollisions_fo_p proc~advance_gcinterp_psi_vars_fs advance_GCinterp_psi_vars_FS proc~advance_gcinterp_psi_vars_fs->proc~gceom1_p proc~advance_gcinterp_psi_vars_fs->proc~include_coulombcollisions_gc_p proc~advance_fp3deqn_vars advance_FP3Deqn_vars proc~advance_fp3deqn_vars->proc~include_coulombcollisions_fo_p proc~advance_gcinterp_psi_vars advance_GCinterp_psi_vars proc~advance_gcinterp_psi_vars->proc~gceom1_p proc~advance_gcinterp_b2d_vars advance_GCinterp_B2D_vars proc~advance_gcinterp_b2d_vars->proc~gceom1_p proc~advance_gcinterp_b2d_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_psi2x1t_vars advance_GCinterp_psi2x1t_vars proc~advance_gcinterp_psi2x1t_vars->proc~gceom1_p proc~advance_gcinterp_psi2x1t_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_2dbdb_vars advance_GCinterp_2DBdB_vars proc~advance_gcinterp_2dbdb_vars->proc~gceom1_p proc~advance_gcinterp_2dbdb_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_b_vars advance_GCinterp_B_vars proc~advance_gcinterp_b_vars->proc~gceom1_p proc~advance_gcinterp_b_vars->proc~include_coulombcollisions_gc_p proc~advance_gcinterp_3dbdb_vars advance_GCinterp_3DBdB_vars proc~advance_gcinterp_3dbdb_vars->proc~gceom1_p proc~advance_gcinterp_3dbdb_vars->proc~include_coulombcollisions_gc_p proc~adv_gceqn_top adv_GCeqn_top proc~adv_gceqn_top->proc~include_coulombcollisions_gc_p proc~adv_gcinterp_psi_top_fs adv_GCinterp_psi_top_FS proc~adv_gcinterp_psi_top_fs->proc~advance_fpinterp_vars proc~adv_fointerp_top adv_FOinterp_top proc~adv_fointerp_top->proc~advance_fp3dinterp_vars proc~adv_fointerp_top->proc~advance_fointerp_vars proc~adv_fofio_top adv_FOfio_top proc~adv_fofio_top->proc~advance_fp3dinterp_vars proc~adv_fointerp_mars_top adv_FOinterp_mars_top proc~adv_fointerp_mars_top->proc~advance_fointerp_vars program~main main program~main->proc~adv_gcinterp_psi_top program~main->proc~adv_gcinterp_psiwe_top program~main->proc~adv_gceqn_top program~main->proc~adv_gcinterp_psi_top_fs program~main->proc~adv_fointerp_top program~main->proc~adv_fofio_top program~main->proc~adv_fointerp_mars_top proc~adv_gcinterp_psi2x1t_top adv_GCinterp_psi2x1t_top program~main->proc~adv_gcinterp_psi2x1t_top proc~adv_gcinterp_b_top adv_GCinterp_B_top program~main->proc~adv_gcinterp_b_top proc~adv_foeqn_top adv_FOeqn_top program~main->proc~adv_foeqn_top proc~adv_gcinterp_3dbdb_top adv_GCinterp_3DBdB_top program~main->proc~adv_gcinterp_3dbdb_top proc~adv_fointerp_aorsa_top adv_FOinterp_aorsa_top program~main->proc~adv_fointerp_aorsa_top proc~adv_gcinterp_3dbdb1_top adv_GCinterp_3DBdB1_top program~main->proc~adv_gcinterp_3dbdb1_top proc~adv_gcinterp_2dbdb_top adv_GCinterp_2DBdB_top program~main->proc~adv_gcinterp_2dbdb_top proc~adv_gcinterp_b2d_top adv_GCinterp_B2D_top program~main->proc~adv_gcinterp_b2d_top proc~adv_gcinterp_psi2x1t_top->proc~advance_fpinterp_vars proc~adv_gcinterp_b_top->proc~advance_fpinterp_vars proc~adv_foeqn_top->proc~advance_foeqn_vars proc~adv_foeqn_top->proc~advance_fp3deqn_vars proc~adv_gcinterp_3dbdb_top->proc~advance_fpinterp_vars proc~adv_fointerp_aorsa_top->proc~advance_fointerp_vars proc~adv_gcinterp_3dbdb1_top->proc~advance_fpinterp_vars proc~adv_gcinterp_2dbdb_top->proc~advance_fpinterp_vars proc~adv_gcinterp_b2d_top->proc~advance_fpinterp_vars

Contents

Source Code


Source Code

subroutine interp_FOcollision_p(pchunk,Y_R,Y_PHI,Y_Z,ne,Te,Zeff,flag_cache)
  INTEGER, INTENT(IN)  :: pchunk
  REAL(rp),DIMENSION(pchunk),INTENT(IN)   :: Y_R,Y_PHI,Y_Z
  REAL(rp),DIMENSION(pchunk),INTENT(OUT)   :: ne,Te,Zeff
  INTEGER(is),DIMENSION(pchunk),INTENT(INOUT)   :: flag_cache

  call check_if_in_profiles_domain_p(pchunk,Y_R,Y_PHI,Y_Z,flag_cache)
!  write(output_unit_write,'("YR: ",E17.10)') Y_R(1)
!  write(output_unit_write,'("YPHI: ",E17.10)') Y_PHI(1)
!  write(output_unit_write,'("YZ: ",E17.10)') Y_Z(1)
  
!  write(output_unit_write,'("Te_interp_R",E17.10)') profiles_2d%Te%x1
!  write(output_unit_write,'("Te_interp_Z",E17.10)') profiles_2d%Te%x2
  
  call EZspline_interp(profiles_2d%ne,profiles_2d%Te, &
       profiles_2d%Zeff,pchunk,Y_R,Y_Z,ne,Te,Zeff,ezerr)
  ! this will call PSPLINE routine EZspline_interp2_bmag_cloud as there
  ! is the same number of entries
  call EZspline_error(ezerr)
 
  
end subroutine interp_FOcollision_p