module particles ! Number of carriers integer, parameter :: DIM = 3 ! dimension ! For each particle real ( kind = 8 ), dimension(:,:), allocatable :: Par_pos, Par_wvk, Par_vel ! carrier position and wave vector k integer, dimension(:), allocatable :: Par_valley real ( kind = 8 ), dimension(:), allocatable :: Par_ene, Par_tau ! for TempUse ! real ( kind = 8 ), dimension(DIM) :: Temp_pos, Temp_wvk ! carrier position and wave vector k ! integer :: Temp_valley_i, Temp_valley_f ! real ( kind = 8 ) :: Temp_ene, Temp_tau real ( kind = 8 ) :: ParCharge ! charge of sampled particles end module scattering ! for valley - integer, parameter :: num_Valley = 3 ! G - 1, L - 2, X - 3 integer, parameter :: num_ScatMech = 10 ! max for each ... G 1~10, L 11~, X polar_ab 1, real ( kind = 8 ), dimension(num_Valley) :: nonParabolPara, nonParabolPara2, nonParabolPara4 real ( kind = 8 ), dimension(num_Valley) :: eff_mass,rel_eff_mass,semh,hhem,tau_max ! Nonparbolic parameter, Effective