fBase_evalDOF_xn Function

private function fBase_evalDOF_xn(sf, np, xn, deriv, DOFs) result(y)

evaluate all modes at a list of interpolation points

Type Bound

t_fBase

Arguments

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

self

integer, intent(in) :: np

number of points to be evaluated

real(kind=wp), intent(in) :: xn(2,1:np)

input coordinate theta,zeta in [0,2pi]^2

integer, intent(in) :: deriv

=0: base, =2: dthet , =3: dzeta

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

array of all modes

Return Value real(kind=wp), (1:np)


Calls

proc~~fbase_evaldof_xn~~CallsGraph proc~fbase_evaldof_xn t_fBase%fBase_evalDOF_xn dgemv dgemv proc~fbase_evaldof_xn->dgemv proc~fbase_eval_xn t_fBase%fBase_eval_xn proc~fbase_evaldof_xn->proc~fbase_eval_xn

Called by

proc~~fbase_evaldof_xn~~CalledByGraph proc~fbase_evaldof_xn t_fBase%fBase_evalDOF_xn proc~bff_convert_to_modes t_boundaryFromFile%bff_convert_to_modes proc~bff_convert_to_modes->proc~fbase_evaldof_xn proc~evaluate_base_list_tz evaluate_base_list_tz proc~evaluate_base_list_tz->proc~fbase_evaldof_xn proc~evaluate_base_list_tz_all evaluate_base_list_tz_all proc~evaluate_base_list_tz_all->proc~fbase_evaldof_xn proc~evaluate_boozer_list_tz_all evaluate_boozer_list_tz_all proc~evaluate_boozer_list_tz_all->proc~fbase_evaldof_xn proc~fbase_evaldof_ip fBase_evalDOF_IP proc~fbase_evaldof_ip->proc~fbase_evaldof_xn proc~fbase_evaldof_ip_tens t_fBase%fBase_evalDOF_IP_tens proc~fbase_evaldof_ip_tens->proc~fbase_evaldof_xn proc~fbase_test fBase_test proc~fbase_test->proc~fbase_evaldof_xn proc~fbase_test->proc~fbase_evaldof_ip_tens proc~find_boozer_angles find_boozer_angles proc~find_boozer_angles->proc~fbase_evaldof_xn proc~find_pest_angles find_pest_angles proc~find_pest_angles->proc~fbase_evaldof_xn proc~transform_angles_3d Transform_Angles_3d proc~transform_angles_3d->proc~fbase_evaldof_xn proc~base_evaldof t_base%base_evalDOF proc~base_evaldof->proc~fbase_evaldof_ip_tens proc~base_evaldof_all t_base%base_evalDOF_all proc~base_evaldof_all->proc~fbase_evaldof_ip_tens proc~buildtransform_sfl t_transform_sfl%BuildTransform_SFL proc~buildtransform_sfl->proc~find_pest_angles proc~buildtransform_sfl->proc~transform_angles_3d proc~get_boozer_sinterp t_sfl_boozer%Get_Boozer_sinterp proc~buildtransform_sfl->proc~get_boozer_sinterp proc~self_find_boozer_angles t_sfl_boozer%self_find_boozer_angles proc~buildtransform_sfl->proc~self_find_boozer_angles proc~transform_angles_sinterp Transform_Angles_sinterp proc~buildtransform_sfl->proc~transform_angles_sinterp proc~fbase_init t_fBase%fBase_init proc~fbase_init->proc~fbase_test proc~find_pest_angles_2d find_pest_angles_2D proc~find_pest_angles_2d->proc~find_pest_angles proc~get_boozer_sinterp->proc~fbase_evaldof_ip_tens proc~get_field Get_Field proc~get_field->proc~fbase_evaldof_ip_tens proc~initaverageaxis InitAverageAxis proc~initaverageaxis->proc~fbase_evaldof_ip_tens proc~initmhd3d t_functional_mhd3d%InitMHD3D proc~initmhd3d->proc~bff_convert_to_modes proc~base_new Base_new proc~initmhd3d->proc~base_new proc~lambda_solve Lambda_solve proc~lambda_solve->proc~fbase_evaldof_ip_tens proc~self_find_boozer_angles->proc~find_boozer_angles proc~self_find_boozer_angles_irho t_sfl_boozer%self_find_boozer_angles_irho proc~self_find_boozer_angles_irho->proc~find_boozer_angles proc~transform_angles_sinterp->proc~fbase_evaldof_ip_tens proc~base_test Base_test proc~base_test->proc~base_evaldof proc~evalaux EvalAux proc~evalaux->proc~base_evaldof proc~evalaux->proc~base_evaldof_all proc~fbase_copy t_fBase%fBase_copy proc~fbase_copy->proc~fbase_init proc~fbase_new fBase_new proc~fbase_new->proc~fbase_init proc~get_boozer get_boozer proc~get_boozer->proc~get_boozer_sinterp proc~gvec_to_jorek_prepare gvec_to_jorek_prepare proc~gvec_to_jorek_prepare->proc~get_field proc~init Init proc~init->proc~initmhd3d proc~init_la_from_solution Init_LA_from_Solution proc~init_la_from_solution->proc~lambda_solve proc~initsolution InitSolution proc~initsolution->proc~initaverageaxis proc~rungvec rungvec proc~rungvec->proc~initmhd3d proc~initsolutionmhd3d t_functional_mhd3d%InitSolutionMHD3D proc~rungvec->proc~initsolutionmhd3d proc~minimizemhd3d t_functional_mhd3d%MinimizeMHD3D proc~rungvec->proc~minimizemhd3d program~gvec_post GVEC_POST program~gvec_post->proc~initmhd3d proc~evalenergy EvalEnergy program~gvec_post->proc~evalenergy proc~evalforce EvalForce program~gvec_post->proc~evalforce interface~t_fbase t_fBase interface~t_fbase->proc~fbase_new proc~base_new->proc~base_test proc~evalenergy->proc~evalaux proc~evalforce->proc~evalaux proc~evaltotals EvalTotals proc~evaltotals->proc~evalaux proc~initsolutionmhd3d->proc~init_la_from_solution proc~initsolutionmhd3d->proc~initsolution proc~initsolutionmhd3d->proc~evalenergy proc~initsolutionmhd3d->proc~evalforce interface~writestate WriteState proc~initsolutionmhd3d->interface~writestate proc~minimizemhd3d_resetdescent t_minimizer_mhd3d%MinimizeMHD3d_ResetDescent proc~minimizemhd3d_resetdescent->proc~evalaux proc~minimizemhd3d_resetdescent->proc~evalenergy proc~minimizemhd3d_resetdescent->proc~evalforce proc~start_rungvec start_rungvec proc~start_rungvec->proc~rungvec program~gvec GVEC program~gvec->proc~rungvec proc~init_base Init_Base proc~init_base->proc~base_new proc~initsolution~2 InitSolution proc~initsolution~2->proc~initsolutionmhd3d proc~minimizemhd3d_descent t_minimizer_mhd3d%MinimizeMHD3D_descent proc~minimizemhd3d_descent->proc~evalenergy proc~minimizemhd3d_descent->proc~evalforce proc~minimizemhd3d_descent->proc~minimizemhd3d_resetdescent proc~minimizemhd3d_descent->interface~writestate proc~readstatefilefromascii ReadStateFileFromASCII proc~readstatefilefromascii->proc~base_new proc~transform_sfl_init t_transform_sfl%transform_SFL_init proc~transform_sfl_init->proc~base_new proc~writestatetoascii WriteStateToASCII proc~writestatetoascii->proc~evaltotals interface~readstate ReadState interface~readstate->proc~readstatefilefromascii interface~writestate->proc~writestatetoascii proc~init_gvec_to_jorek init_gvec_to_jorek proc~init_gvec_to_jorek->proc~init_base proc~init_gvec_to_jorek->interface~readstate proc~minimizemhd3d->proc~minimizemhd3d_descent proc~transform_sfl_new transform_sfl_new proc~transform_sfl_new->proc~transform_sfl_init proc~minimize minimize proc~minimize->proc~minimizemhd3d proc~restartfromstate RestartFromState proc~restartfromstate->interface~readstate

Source Code

FUNCTION fBase_evalDOF_xn(sf,np,xn,deriv,DOFs) RESULT(y)
  ! MODULES
  IMPLICIT NONE
  ! INPUT VARIABLES -------------------------!
  CLASS(t_fBase), INTENT(IN   ) :: sf     !! self
  INTEGER       , INTENT(IN   ) :: np     !! number of points to be evaluated
  REAL(wp)      , INTENT(IN   ) :: xn(2,1:np)   !! input coordinate theta,zeta in [0,2pi]^2
  INTEGER       , INTENT(IN   ) :: deriv  !! =0: base, =2: dthet , =3: dzeta
  REAL(wp)      , INTENT(IN   ) :: DOFs(:)  !! array of all modes
  ! OUTPUT VARIABLES -------------------------!
  REAL(wp)                      :: y(1:np)
  ! LOCAL VARIABLES -------------------------!
  REAL(wp)                      :: base_xn(1:np,1:sf%modes)
  ! CODE --------------------------------------------------------------------------------------------------------------------------!
IF(SIZE(DOFs,1).NE.sf%modes) CALL abort(__STAMP__, &
       'nDOF not correct when calling fBase_evalDOF_x' )
  base_xn=sf%eval_xn(deriv,np,xn)
  __MATVEC_N(y,base_xn,DOFs)

END FUNCTION fBase_evalDOF_xn