From da4dd74b74902d40baff6bc35bdd25a69aa00faf Mon Sep 17 00:00:00 2001 From: Jeff Candy Date: Thu, 2 Jan 2025 11:21:16 -0800 Subject: [PATCH] SBETA testing parameters --- cgyro/bin/cgyro_parse.py | 3 +++ cgyro/src/cgyro_globals.F90 | 4 +++- cgyro/src/cgyro_globalshear.F90 | 6 ++++-- cgyro/src/cgyro_init_arrays.F90 | 6 +++--- cgyro/src/cgyro_read_input.f90 | 4 ++++ 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/cgyro/bin/cgyro_parse.py b/cgyro/bin/cgyro_parse.py index d2f613d11..bba8ba611 100644 --- a/cgyro/bin/cgyro_parse.py +++ b/cgyro/bin/cgyro_parse.py @@ -153,6 +153,9 @@ x.add('NU_EE_SCALE','1.0') x.add('ZF_SCALE','1.0') +x.add('SBETA_CONST_FLAG','0') +x.add('SBETA_H','0.0') + # Perform the parsing x.read_input('input.cgyro') diff --git a/cgyro/src/cgyro_globals.F90 b/cgyro/src/cgyro_globals.F90 index c14bbacf8..56da27876 100644 --- a/cgyro/src/cgyro_globals.F90 +++ b/cgyro/src/cgyro_globals.F90 @@ -14,7 +14,9 @@ module cgyro_globals #endif use, intrinsic :: iso_fortran_env - + + integer :: sbeta_const_flag + real :: sbeta_h !--------------------------------------------------------------- ! Input parameters: diff --git a/cgyro/src/cgyro_globalshear.F90 b/cgyro/src/cgyro_globalshear.F90 index 744706852..7df532517 100644 --- a/cgyro/src/cgyro_globalshear.F90 +++ b/cgyro/src/cgyro_globalshear.F90 @@ -50,7 +50,8 @@ subroutine cgyro_globalshear(ij) ! ExB shear h1 = omega_eb_base*itor*h_x(iccj+llnt,ivc,itor) ! beta_star shear - h1 = h1+omega_sbeta(iccj+llnt,ivc,itor)*cap_h_c(iccj+llnt,ivc,itor) + h1 = h1+omega_sbeta(iccj+llnt,ivc,itor)*( & + (1-sbeta_h)*cap_h_c(iccj+llnt,ivc,itor)+sbeta_h*h_x(iccj+llnt,ivc,itor)) ! omega_star shear h1 = h1+sum(omega_ss(:,iccj+llnt,ivc,itor)*field(:,iccj+llnt,itor)) else @@ -61,7 +62,8 @@ subroutine cgyro_globalshear(ij) ! ExB shear h2 = omega_eb_base*itor*h_x(iccj-llnt,ivc,itor) ! beta_star shear - h2 = h2+omega_sbeta(iccj-llnt,ivc,itor)*cap_h_c(iccj-llnt,ivc,itor) + h2 = h2+omega_sbeta(iccj-llnt,ivc,itor)*( & + (1-sbeta_h)*cap_h_c(iccj-llnt,ivc,itor)+sbeta_h*h_x(iccj-llnt,ivc,itor)) ! omega_star shear h2 = h2+sum(omega_ss(:,iccj-llnt,ivc,itor)*field(:,iccj-llnt,itor)) else diff --git a/cgyro/src/cgyro_init_arrays.F90 b/cgyro/src/cgyro_init_arrays.F90 index 4273f44de..51e2bb1d3 100644 --- a/cgyro/src/cgyro_init_arrays.F90 +++ b/cgyro/src/cgyro_init_arrays.F90 @@ -465,10 +465,10 @@ subroutine cgyro_init_arrays sm = sdlnndr(is)+sdlntdr(is)*(energy(ie)-1.5) ! generalized beta/drift shear (acts on H) - if (nup_alpha == 3) then - sb = -sbeta(is)*energy(ie)*xi(ix)**2/bmag(it)**3 - else + if (sbeta_const_flag == 1) then sb = -sbeta(is) + else + sb = -sbeta(is)*energy(ie)*xi(ix)**2/bmag(it)**3 endif arg = k_theta_base*itor*length/(2*pi) diff --git a/cgyro/src/cgyro_read_input.f90 b/cgyro/src/cgyro_read_input.f90 index be77de7dd..d3337775c 100644 --- a/cgyro/src/cgyro_read_input.f90 +++ b/cgyro/src/cgyro_read_input.f90 @@ -143,6 +143,10 @@ subroutine cgyro_read_input call cgyro_readbc_real(nu_ee_scale) call cgyro_readbc_real(zf_scale) + call cgyro_readbc_int(sbeta_const_flag,'SBETA_CONST_FLAG') + call cgyro_readbc_real(sbeta_h) + + if (i_proc == 0) close(1) end subroutine cgyro_read_input