subroutine define_collisions_time_step(params)
TYPE(KORC_PARAMS), INTENT(IN) :: params
INTEGER(ip) :: iterations
REAL(rp) :: E
REAL(rp) :: v
REAL(rp) :: Tau
REAL(rp), DIMENSION(3) :: nu
REAL(rp) :: num_collisions_in_simulation
if (params%collisions) then
E = C_ME*C_C**2 + params%minimum_particle_energy*params%cpp%energy
v = SQRT(1.0_rp - (C_ME*C_C**2/E)**2)
nu = (/nu_S(params,v),nu_D(params,v),nu_par(v)/)
Tau = MINVAL( 1.0_rp/nu )
! write(6,'("collision freqencies ",F25.12)') nu
cparams_ss%subcycling_iterations = FLOOR(cparams_ss%dTau*Tau/ &
params%dt,ip) + 1_ip
num_collisions_in_simulation = params%simulation_time/Tau
if (params%mpi_params%rank .EQ. 0) then
write(6,'("* * * * * * * * * * * SUBCYCLING FOR &
COLLISIONS * * * * * * * * * * *")')
write(6,'("Slowing down freqency (CF): ",E17.10)') &
nu(1)/params%cpp%time
write(6,'("Pitch angle scattering freqency (CB): ",E17.10)') &
nu(2)/params%cpp%time
write(6,'("Speed diffusion freqency (CA): ",E17.10)') &
nu(3)/params%cpp%time
write(6,'("The shorter collisional time in the simulations &
is: ",E17.10," s")') Tau*params%cpp%time
write(6,'("Number of KORC iterations per collision: ",I16)') &
cparams_ss%subcycling_iterations
write(6,'("Number of collisions in simulated time: ",E17.10)') &
num_collisions_in_simulation
write(6,'("* * * * * * * * * * * * * * * * * * * * &
* * * * * * * * * * * * * * *",/)')
end if
end if
end subroutine define_collisions_time_step