subroutine write_turn_data(beam_init,beam,turn) use bmad use beam_mod use ramp_parameters implicit none type (beam_init_struct) beam_init type (beam_struct) beam type (bunch_params_struct) bunch_params integer i,j,iunit, turn character*4 name character*3 num character*16 filename real(rp) sigma_s(6,6), s(6,6), charge(1:beam_init%n_particle) logical first/.true./ name = '0000' write(name,'(i4)')turn filename = 'turn'//name ! REMOVE THIS BEFORE SUBMITTING ANYTHING print *, "turn:",turn ! REMOVE THIS BEFORE SUBMITTING ANYTHING do j=1, beam_init%n_bunch num = '000' write(num,'(i3)')j if(first)then ! open one file for each bunch do i=1,3 if(num(i:i) == '')num(i:i) = '0' end do ! write bunch sigma dataon each turn for bunch to file open(unit=14+j, file = trim(directory)//'/bunch'//num//'.dat') write(14+j,'(a12,12a12)') 'turn','x_avg','xp_avg','y_avg','yp_avg','z_avg','zp_avg','sigma(1,1)', & 'sigma(2,2)','sigma(3,3)','sigma(4,4)','sigma(5,5)','sigma(6,6)' endif ! filename = 'turn'//name//'-'//num//'.dat' ! do i=1,16 ! if(filename(i:i) == ' ')filename(i:i)='0' ! end do ! print '(a,a)','write to file:', filename ! open(unit=13, file=filename) ! write(13,'(a,i10)')' Bunch ',j do i=1, beam_init%n_particle charge(i) = 1. ! beam%bunch(j)%particle(i)%charge ! write(13,'(i10,6es12.4)') i, beam%bunch(j)%particle(i)%vec(1:6) end do ! close(unit=13) ! file with sigma matrix call find_bunch_sigma_matrix (beam%bunch(j)%particle, charge, bunch_params,sigma_s) ! REMOVE THIS BEFORE SUBMITTING ANYTHING print '(i12,12es12.4)', j,bunch_params%centroid%vec(1:6) ! REMOVE THIS BEFORE SUBMITTING ANYTHING write(14+j,'(i12,12es12.4)')turn,bunch_params%centroid%vec(1:6), bunch_params%sigma(1,1),bunch_params%sigma(2,2), & bunch_params%sigma(3,3),bunch_params%sigma(4,4),bunch_params%sigma(5,5),bunch_params%sigma(6,6) end do first = .false. return end