subroutine trwimp(wtp,dwtp) c--apply impulse due to field from many waves c-- impulse lasts for a phase length of dwtp (degrees) c----------------------------------------------------------------------- save c include 'param_sz.h' include 'constcom.h' include 'coordcom.h' include 'misccom.h' include 'pcordcom.h' include 'syscom.h' include 'tstepcom.h' include 'wavescom.h' include 'ucom.h' c c-------------------------------------------------------------------------- c* ne=rne dwtmax=el(7,ne) if(dwtp.gt.dwtmax) dwtp=dwtmax zz=z rr=sqrt(x*x+y*y) call trwave(zz,rr,wez,wer,wbphi,iz,wtp) dummy=0. if(wez.eq.0..and.wer.eq.0.)return if((ip.eq.999).and.(nupar.eq.1))write(nimp,*) zz,dummy,dummy,wez if(rr.le.0.)rr=1.e-10 eomdt=1.e-2/erest*dcon*dwtp dbgz=wez*eomdt cliu ezdbgz2=dbgz/dwtp dgbr=eomdt*(wer-bgz/gamma*wbphi) bgz=bgz+dbgz bgx=bgx+dgbr*x/rr bgy=bgy+dgbr*y/rr gamma=sqrt(1.+bgx*bgx+bgy*bgy+bgz*bgz) return end c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*