Skip to content

Commit

Permalink
Updated QLGYRO for higher-order shaping coefficients in TGLF and CGYR…
Browse files Browse the repository at this point in the history
…O: sin3-sin6, cos0-cos6
  • Loading branch information
bellie committed Oct 30, 2024
1 parent 0cbb1f1 commit d56397c
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 17 deletions.
44 changes: 34 additions & 10 deletions qlgyro/src/qlgyro_cgyro_map.f90
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,28 @@ subroutine qlgyro_cgyro_map
dzmag = cgyro_dzmag_in
zeta = cgyro_zeta_in
s_zeta = cgyro_s_zeta_in
shape_sin3 = cgyro_shape_sin3_in
shape_sin3 = cgyro_shape_sin3_in
shape_ssin3 = cgyro_shape_s_sin3_in
shape_cos0 = cgyro_shape_cos0_in
shape_sin4 = cgyro_shape_sin4_in
shape_ssin4 = cgyro_shape_s_sin4_in
shape_sin5 = cgyro_shape_sin5_in
shape_ssin5 = cgyro_shape_s_sin5_in
shape_sin6 = cgyro_shape_sin6_in
shape_ssin6 = cgyro_shape_s_sin6_in
shape_cos0 = cgyro_shape_cos0_in
shape_scos0 = cgyro_shape_s_cos0_in
shape_cos1 = cgyro_shape_cos1_in
shape_cos1 = cgyro_shape_cos1_in
shape_scos1 = cgyro_shape_s_cos1_in
shape_cos2 = cgyro_shape_cos2_in
shape_cos2 = cgyro_shape_cos2_in
shape_scos2 = cgyro_shape_s_cos2_in
shape_cos3 = cgyro_shape_cos3_in
shape_cos3 = cgyro_shape_cos3_in
shape_scos3 = cgyro_shape_s_cos3_in
shape_cos4 = cgyro_shape_cos4_in
shape_scos4 = cgyro_shape_s_cos4_in
shape_cos5 = cgyro_shape_cos5_in
shape_scos5 = cgyro_shape_s_cos5_in
shape_cos6 = cgyro_shape_cos6_in
shape_scos6 = cgyro_shape_s_cos6_in

! General geometry Fourier coefficients

Expand Down Expand Up @@ -192,16 +204,28 @@ subroutine cgyro_qlgyro_map
cgyro_s_zeta_in = s_zeta
cgyro_q_in = q
cgyro_s_in = s
cgyro_shape_sin3_in = shape_sin3
cgyro_shape_sin3_in = shape_sin3
cgyro_shape_s_sin3_in = shape_ssin3
cgyro_shape_cos0_in = shape_cos0
cgyro_shape_sin4_in = shape_sin4
cgyro_shape_s_sin4_in = shape_ssin4
cgyro_shape_sin5_in = shape_sin5
cgyro_shape_s_sin5_in = shape_ssin5
cgyro_shape_sin6_in = shape_sin6
cgyro_shape_s_sin6_in = shape_ssin6
cgyro_shape_cos0_in = shape_cos0
cgyro_shape_s_cos0_in = shape_scos0
cgyro_shape_cos1_in = shape_cos1
cgyro_shape_cos1_in = shape_cos1
cgyro_shape_s_cos1_in = shape_scos1
cgyro_shape_cos2_in = shape_cos2
cgyro_shape_cos2_in = shape_cos2
cgyro_shape_s_cos2_in = shape_scos2
cgyro_shape_cos3_in = shape_cos3
cgyro_shape_cos3_in = shape_cos3
cgyro_shape_s_cos3_in = shape_scos3
cgyro_shape_cos4_in = shape_cos4
cgyro_shape_s_cos4_in = shape_scos4
cgyro_shape_cos5_in = shape_cos5
cgyro_shape_s_cos5_in = shape_scos5
cgyro_shape_cos6_in = shape_cos6
cgyro_shape_s_cos6_in = shape_scos6

! What should this be?
cgyro_beta_star_scale_in = 1.0
Expand Down
12 changes: 12 additions & 0 deletions qlgyro/src/qlgyro_globals.f90
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,12 @@ module qlgyro_globals
real :: s_zeta
real :: shape_sin3
real :: shape_ssin3
real :: shape_sin4
real :: shape_ssin4
real :: shape_sin5
real :: shape_ssin5
real :: shape_sin6
real :: shape_ssin6
real :: shape_cos0
real :: shape_scos0
real :: shape_cos1
Expand All @@ -199,6 +205,12 @@ module qlgyro_globals
real :: shape_scos2
real :: shape_cos3
real :: shape_scos3
real :: shape_cos4
real :: shape_scos4
real :: shape_cos5
real :: shape_scos5
real :: shape_cos6
real :: shape_scos6

real :: bunit
real :: bgs2
Expand Down
60 changes: 53 additions & 7 deletions qlgyro/src/qlgyro_tglf_map.f90
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,29 @@ subroutine qlgyro_tglf_map
tglf_p_prime_loc_in = p_prime
tglf_beta_loc_in = betae_unit

tglf_shape_sin3_loc_in = shape_sin3
tglf_shape_s_sin3_loc_in = shape_ssin3
tglf_shape_sin4_loc_in = shape_sin4
tglf_shape_s_sin4_loc_in = shape_ssin4
tglf_shape_sin5_loc_in = shape_sin5
tglf_shape_s_sin5_loc_in = shape_ssin5
tglf_shape_sin6_loc_in = shape_sin6
tglf_shape_s_sin6_loc_in = shape_ssin6
tglf_shape_cos0_loc_in = shape_cos0
tglf_shape_s_cos0_loc_in = shape_scos0
tglf_shape_cos1_loc_in = shape_cos1
tglf_shape_s_cos1_loc_in = shape_scos1
tglf_shape_cos2_loc_in = shape_cos2
tglf_shape_s_cos2_loc_in = shape_scos2
tglf_shape_cos3_loc_in = shape_cos3
tglf_shape_s_cos3_loc_in = shape_scos3
tglf_shape_cos4_loc_in = shape_cos4
tglf_shape_s_cos4_loc_in = shape_scos4
tglf_shape_cos5_loc_in = shape_cos5
tglf_shape_s_cos5_loc_in = shape_scos5
tglf_shape_cos6_loc_in = shape_cos6
tglf_shape_s_cos6_loc_in = shape_scos6

endif
!----------------------------------------------------------------

Expand Down Expand Up @@ -195,7 +218,7 @@ subroutine qlgyro_tglf_map
! nky=0 (low-k only)
! tglf_nky_in = 12
!-----------------------------------

!----------------------------------------------------------------
! Linear mode selection
!
Expand Down Expand Up @@ -325,7 +348,7 @@ subroutine qlgyro_tglf_map
tglf_mass_in)

call put_kys(tglf_ky_in)

call put_gaussian_width(tglf_width_in, &
tglf_width_min_in, &
tglf_nwidth_in, &
Expand All @@ -346,7 +369,7 @@ subroutine qlgyro_tglf_map
tglf_xnue_in, &
tglf_zeff_in, &
tglf_debye_in)

call put_switches(tglf_iflux_in, &
tglf_use_bper_in, &
tglf_use_bpar_in, &
Expand All @@ -372,7 +395,8 @@ subroutine qlgyro_tglf_map
tglf_filter_in, &
tglf_damp_psi_in, &
tglf_damp_sig_in)



call put_model_parameters(tglf_adiabatic_elec_in, &
tglf_alpha_e_in, &
tglf_alpha_p_in, &
Expand All @@ -390,9 +414,9 @@ subroutine qlgyro_tglf_map
tglf_vpar_shear_model_in)

tglf_kygrid_model_in = kygrid_model

if (tglf_geometry_flag_in == 1 ) then

call put_miller_geometry(tglf_rmin_loc_in, &
tglf_rmaj_loc_in, &
tglf_zmaj_loc_in, &
Expand All @@ -405,12 +429,34 @@ subroutine qlgyro_tglf_map
tglf_s_delta_loc_in, &
tglf_zeta_loc_in, &
tglf_s_zeta_loc_in, &
tglf_shape_sin3_loc_in, &
tglf_shape_s_sin3_loc_in, &
tglf_shape_sin4_loc_in, &
tglf_shape_s_sin4_loc_in, &
tglf_shape_sin5_loc_in, &
tglf_shape_s_sin5_loc_in, &
tglf_shape_sin6_loc_in, &
tglf_shape_s_sin6_loc_in, &
tglf_shape_cos0_loc_in, &
tglf_shape_s_cos0_loc_in, &
tglf_shape_cos1_loc_in, &
tglf_shape_s_cos1_loc_in, &
tglf_shape_cos2_loc_in, &
tglf_shape_s_cos2_loc_in, &
tglf_shape_cos3_loc_in, &
tglf_shape_s_cos3_loc_in, &
tglf_shape_cos4_loc_in, &
tglf_shape_s_cos4_loc_in, &
tglf_shape_cos5_loc_in, &
tglf_shape_s_cos5_loc_in, &
tglf_shape_cos6_loc_in, &
tglf_shape_s_cos6_loc_in, &
tglf_q_loc_in, &
tglf_q_prime_loc_in, &
tglf_p_prime_loc_in, &
tglf_beta_loc_in, &
tglf_kx0_loc_in)

elseif (tglf_geometry_flag_in == 2)then

call put_fourier_geometry(tglf_q_fourier_in, &
Expand Down

0 comments on commit d56397c

Please sign in to comment.