!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Generic subroutine that renormalizes the scattering table for a given valley ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! subroutine renormalize_table(valley_i,i_count) ! call renormalize_table(valley_i,i_count) use scattering integer valley_i, i_count, i_max, i, k real ( kind = 8 ) :: gammamax ! local max_scatt_mech(valley_i) = i_count if(max_scatt_mech(valley_i).ge.1)then do k = 1, num_EnergyLevel ! scatt_table(i,i_count,valley_i) ren_scatt_table(k,1,valley_i) = scatt_table(k,1,valley_i) enddo if(max_scatt_mech(valley_i).gt.1)then do i = 2, i_count do k = 1, num_EnergyLevel ! scatt_table(i,i_count,valley_i) ren_scatt_table(k,i,valley_i) = scatt_table(k,i,valley_i) ren_scatt_table(k,i,valley_i) = ren_scatt_table(k,i,valley_i) + ren_scatt_table(k,i-1,valley_i) enddo ! enddo endif i_max = max_scatt_mech(valley_i) gammamax = 0. do i = 1,num_EnergyLevel if(ren_scatt_table(i,i_max,valley_i).gt.gammamax) gammamax = ren_scatt_table(i,i_max,valley_i) ! max_tau enddo do i = 1, i_count do k = 1, num_EnergyLevel ren_scatt_table(k,i,valley_i) = ren_scatt_table(k,i,valley_i)/gammamax ! relative tau enddo enddo tau_max(valley_i) = 1./gammamax ! max print*,'valley index = ',valley_i,' tau_max =',tau_max print*,' ' endif return end