load_params_ss Subroutine

private subroutine load_params_ss(params)

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(in) :: params

Calls

proc~~load_params_ss~~CallsGraph proc~load_params_ss load_params_ss proc~clogee_wu CLogee_wu proc~load_params_ss->proc~clogee_wu proc~clogei_wu CLogei_wu proc~load_params_ss->proc~clogei_wu proc~vte_wu VTe_wu proc~load_params_ss->proc~vte_wu proc~gammac_wu Gammac_wu proc~load_params_ss->proc~gammac_wu proc~clogee_wu->proc~vte_wu proc~clog0_wu CLog0_wu proc~clogee_wu->proc~clog0_wu proc~clogei_wu->proc~vte_wu proc~clogei_wu->proc~clog0_wu proc~gammac_wu->proc~clogee_wu

Called by

proc~~load_params_ss~~CalledByGraph proc~load_params_ss load_params_ss proc~initialize_collision_params initialize_collision_params proc~initialize_collision_params->proc~load_params_ss program~main main program~main->proc~initialize_collision_params

Contents

Source Code


Source Code

  subroutine load_params_ss(params)
    TYPE(KORC_PARAMS), INTENT(IN) 	:: params
    !REAL(rp) 				:: Te
    ! Electron temperature
    !REAL(rp) 				:: Ti
    ! Ion temperature
    !REAL(rp) 				:: ne
    ! Background electron density
    !REAL(rp) 				:: Zeff
    ! Effective atomic number of ions
    !REAL(rp) 				:: dTau
    ! Subcycling time step in collisional time units (Tau)
    !CHARACTER(MAX_STRING_LENGTH) 	:: ne_profile
    !CHARACTER(MAX_STRING_LENGTH) 	:: Te_profile
    !CHARACTER(MAX_STRING_LENGTH) 	:: Zeff_profile
    !CHARACTER(MAX_STRING_LENGTH) 	:: filename
    !REAL(rp) 				:: radius_profile
    !REAL(rp) 				:: neo
    !REAL(rp) 				:: Teo
    !REAL(rp) 				:: Zeffo
    !REAL(rp) 				:: n_ne
    !REAL(rp) 				:: n_Te
    !REAL(rp) 				:: n_Zeff
    !REAL(rp), DIMENSION(4) 		:: a_ne
    !REAL(rp), DIMENSION(4) 		:: a_Te
    !REAL(rp), DIMENSION(4) 		:: a_Zeff
    !LOGICAL 				:: axisymmetric
    !REAL(rp)  ::  n_REr0
    !REAL(rp)  ::  n_tauion
    !REAL(rp)  ::  n_lamfront,psiN_0
    !REAL(rp)  ::  n_lamback,n_lamshelf,n_shelfdelay,n_tauin,n_tauout,n_shelf

    !NAMELIST /CollisionParamsSingleSpecies/ Te, Ti, ne, Zeff, dTau

    !NAMELIST /plasmaProfiles/ radius_profile,ne_profile,neo,n_ne,a_ne,&
    !     Te_profile,Teo,n_Te,a_Te,n_REr0,n_tauion,n_lamfront,n_lamback, &
    !     Zeff_profile,Zeffo,n_Zeff,a_Zeff,filename,axisymmetric, &
    !     n_lamshelf,n_shelfdelay,n_tauin,n_tauout,n_shelf,psiN_0


    !open(unit=output_unit_write,file=TRIM(params%path_to_inputs), &
    !     status='OLD',form='formatted')
    !read(output_unit_write,nml=CollisionParamsSingleSpecies)
    !close(output_unit_write)

    cparams_ss%Te = Te_sing*C_E
    cparams_ss%Ti = Ti_sing*C_E
    cparams_ss%ne = ne_sing
    cparams_ss%Zeff = Zeff_sing
    cparams_ss%dTau = dTau_sing
    cparams_ss%p_therm = p_therm
    cparams_ss%ConserveLA = ConserveLA
    cparams_ss%sample_test = sample_test
    cparams_ss%Clog_model = Clog_model
    cparams_ss%min_secRE = min_secRE
    cparams_ss%pmin_scale = pmin_scale
    cparams_ss%energy_diffusion = energy_diffusion
    cparams_ss%pitch_diffusion = pitch_diffusion
    cparams_ss%LAC_gam_resolution = LAC_gam_resolution
    cparams_ss%FP_bremsstrahlung = FP_bremsstrahlung
    cparams_ss%ngrid1 = ngrid1
    cparams_ss%Clog_const = Clog_const

    cparams_ss%gam_therm = sqrt(1+p_therm*p_therm)
    cparams_ss%gam_min = cparams_ss%gam_therm
    cparams_ss%p_min = cparams_ss%p_therm
    
    cparams_ss%rD = SQRT(C_E0*cparams_ss%Te/(cparams_ss%ne*C_E**2*(1.0_rp + &
         cparams_ss%Te/cparams_ss%Ti)))

    cparams_ss%re = C_E**2/(4.0_rp*C_PI*C_E0*C_ME*C_C**2)
    cparams_ss%CoulombLogee = CLogee_wu(params,cparams_ss%ne,cparams_ss%Te)
    cparams_ss%CoulombLogei = CLogei_wu(params,cparams_ss%ne,cparams_ss%Te)
    
    cparams_ss%VTe = VTe_wu(cparams_ss%Te)
    cparams_ss%delta = cparams_ss%VTe/C_C
    cparams_ss%Gammaco = C_E**4/(4.0_rp*C_PI*C_E0**2)
    cparams_ss%Gammac = Gammac_wu(params,cparams_ss%ne,cparams_ss%Te)
    
    cparams_ss%Tauc = C_ME**2*cparams_ss%VTe**3/cparams_ss%Gammac
    cparams_ss%Tau = C_ME**2*C_C**3/cparams_ss%Gammac

    cparams_ss%Ec = C_ME*C_C/(C_E*cparams_ss%Tau)
    cparams_ss%ED = cparams_ss%ne*C_E**3*cparams_ss%CoulombLogee/ &
         (4.0_rp*C_PI*C_E0**2*cparams_ss%Te)

    cparams_ss%taur=6*C_PI*C_E0*(C_ME*C_C)**3/(C_E**4*params%cpp%Bo**2)
    
    !	ALLOCATE(cparams_ss%rnd_num(3,cparams_ss%rnd_dim))
    !	call RANDOM_NUMBER(cparams_ss%rnd_num)
    cparams_ss%rnd_num_count = 1_idef

    !open(unit=output_unit_write,file=TRIM(params%path_to_inputs), &
    !     status='OLD',form='formatted')
    !read(output_unit_write,nml=plasmaProfiles)
    !close(output_unit_write)

    cparams_ss%P%a = radius_profile
    cparams_ss%P%ne_profile = TRIM(ne_profile)
    cparams_ss%P%neo = neo
    cparams_ss%P%n_ne = n_ne
    cparams_ss%P%a_ne = a_ne

    cparams_ss%P%Te_profile = TRIM(Te_profile)
    cparams_ss%P%Teo = Teo*C_E
    cparams_ss%P%n_Te = n_Te
    cparams_ss%P%a_Te = a_Te

    cparams_ss%P%Zeff_profile = TRIM(Zeff_profile)
    cparams_ss%P%Zeffo = Zeffo
    cparams_ss%P%n_Zeff = n_Zeff
    cparams_ss%P%a_Zeff = a_Zeff
  end subroutine load_params_ss