initialize base classes declared in _vars module, needed for computation of output fields
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | mn_max(2) | |||
| integer, | intent(in) | :: | fac_nyq |
SUBROUTINE Init_Base(mn_max,fac_nyq) ! MODULES USE MODgvec_Globals,ONLY: UNIT_stdOut USE MODgvec_base ,ONLY: base_new USE MODgvec_fbase ,ONLY: t_fBase, sin_cos_map USE MODgvec_ReadState_vars ,ONLY: X1_base_r,X2_base_r,LA_base_r USE MODgvec_gvec_to_jorek_vars, ONLY: X1_fbase_nyq,X2_fbase_nyq,LA_fbase_nyq,out_base,fbase_zeta,Nzeta_out IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES INTEGER ,INTENT(IN) :: mn_max(2) !< maximum number for new variables in SFL coordinates INTEGER ,INTENT(IN) :: fac_nyq !< for number of integr. points (=3...4 at least) !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES INTEGER :: mn_nyq(2) !=================================================================================================================================== mn_nyq(1:2)=fac_nyq*MAXVAL(mn_max) SWRITE(UNIT_StdOut,'(2(A,2I6))')'INITIALIZE OUTPUT BASE, mn_max_out=',mn_max,', mn_int=',mn_nyq ! Initialize basis for field_representation based on existing grid representation CALL base_new(out_base, X1_base_r%s%deg, & X1_base_r%s%continuity, & X1_base_r%s%grid, & X1_base_r%s%degGP, & mn_max,mn_nyq, & X1_base_r%f%nfp, & '_sincos_ ', & !full basis .False.) !do not exclude m=n=0 fbase_zeta = t_fBase((/0, mn_max(2)/), (/1, Nzeta_out/), X1_base_r%f%nfp, "_sincos_", .false.) ! Initialize bases for existing grid at higher number of integration points, based on nyquist condition X1_fbase_nyq = t_fBase(X1_base_r%f%mn_max, mn_nyq, & X1_base_r%f%nfp, & sin_cos_map(X1_base_r%f%sin_cos), & X1_base_r%f%exclude_mn_zero) X2_fbase_nyq = t_fBase(X2_base_r%f%mn_max, mn_nyq, & X2_base_r%f%nfp, & sin_cos_map(X2_base_r%f%sin_cos), & X2_base_r%f%exclude_mn_zero) LA_fbase_nyq = t_fBase(LA_base_r%f%mn_max, mn_nyq, & LA_base_r%f%nfp, & sin_cos_map(LA_base_r%f%sin_cos), & LA_base_r%f%exclude_mn_zero) END SUBROUTINE Init_Base