Chris Spencer edited Appendix.tex  about 10 years ago

Commit id: c21e0b5ba2a1d2c8e6a0e7cdb6d2e30a76b2b98f

deletions | additions      

       

The plasma frequency is given by \[\omega_{pe}=\sqrt{\frac{ne^2}{m\epsilon_0}}\] where $n$ is the plasma density,and $\epsilon_0$ is the permittivity of free space.   The voltage measured by the bdot probe is given by \[V_{measured}=N_{loop}A\frac{\partial\vec{B_{norm}}}{\partial t}\] where $N$ is the number of loops of a side of the bdot probe, $A$ is the area of a face of the probe,and $\frac{\partial\vec{B_{norm}}}{\partial t}$ is the change in magnetic field normal to a face of the probe.  The phase velocity is \[v_{Phase}=\frac{\omega}{k}\] where $\omega$ is the wave frequency and $k$ is the wave number.  It follows that the group velocity is \[v_{group}=\frac{d\omega}{dt}\]  The code that was used to make the wave simulations is as follows  $ MAKEWAVE.PRO  function makewave, k, theta, B0, freq  w=complex(freq*1.e6*2*!pi,0) ;wave frequency (hertz)  ;theta=theta*180/(!pi) ;if theta is given in radians  nz=1500 ;make this bigger than experiment so rotation does not lose information  nr=310 ;^same thing^  ;Enz=75 ;experiment z length  ;Enr=31 ;experiment r length  rpos=(-nr/2+findgen(nr))*0.1*0.26 ;0.1 factor is for increased resolution. 0.26 degrees per step  zpos=(findgen(nz)-nz/2)*0.1*0.26 ; 0.26 cm per step size  ;nt=100  ;tpos=findgen(nt)*1.0e-6  ;Bgrid=fltarr(nz,nr,nt)  ;For t=0,nt-1 DO BEGIN  ; waver=sin((real_part(k)*zpos)-w*tpos[t])  ; waveim=exp(-1.0*(imaginary(k)*zpos))  ;for i=0, nr-1 do begin  ; Bgrid[*,i,t]=B0*waver*waveim  ;endfor  ;Endfor  ;For t=0,nt-1 DO Bgrid[*,*,t]=Rot(Bgrid[*,*,t],theta)  ;Bgrid=Bgrid[375:nz-30,0:nr-1,0:nt-1] ;crop to fit data  ;this is for a movie (doesn't work yet)  Bgrid=fltarr(nz,nr)  waver=sin((real_part(k)*zpos))  waveim=exp(-1.0*(imaginary(k)*zpos))  for i=0, nr-1 do begin  Bgrid[*,i]=B0*waver*waveim  endfor  Bgrid=rot(bgrid, theta)  Bgrid=Bgrid[750:nz-30,0:nr-1] ;crop to fit data  ;this is for an image  return, Bgrid  end  FIND_K.PRO  function find_k, theta, B, freq  theta=theta*!pi/180 ;if theta is given in degrees  c=3.0e10 ;light in cm per second  den=1.e11  wpe=2.*!pi*9.8e3*sqrt(den) ;plasma frequency rad/s * density^(1/2)  w=complex(freq*1.e6*2*!pi,0) ;wave frequency (hertz)  wce=(1.76e7)*B ;cyclotron frequency (gauss rad/s)  v=complex(0,2.e5*2*!pi) ;collision frequency  N=wpe^2/w^2 ;numerator  D1=((wce^2/w^2)*(sin(theta))^2)/(2*(1-wpe^2/w^2)) ;first term in the denominator of appletons  D21=((wce^2/w^2)*(sin(theta))^2)^2/(4*(1-wpe^2/w^2)) ;first term under the square root in the denominator  D22=((wce^2/w^2)*(cos(theta))^2) ;second term under the square root in the denominator  D2=sqrt(D21+D22) ;plus or minus???  ;DR=1-D1+D2 ;real part of the denominator  ;NR=(1+(N*DR/(DR^2-V^2/w^2))) ;real part of square of index of refraction  ;NI=-(N*v/w)/(DR^2-V^2/w^2) ;imaginary part of square of index of refraction  if (1-D1 gt D2) then index=1.-(N/(1.+v/w-D1+D2)) ;this will handle the + or - in appleton's equation  if (1-D1 lt D2) then index=1.-(N/(1.+v/w-D1-D2))    index=sqrt(index)  k=w*index/c  wavelength=2*!pi/(real_part(k))  ;print, wavelength  ;print, real_part(index)  ;return, index ;this is for the find_index function  return, k ; this is for the whistler_sum  stop  end  WHISTLER_SUM.PRO  pro whistler_sum  B=60  freq=40  nz=1500 ;number of z points  nr=310 ;number of radial points  nt=100  rpos=(-nr/2+findgen(nr))*0.1 ;0.1=step size  zpos=(findgen(nz)-nz/2)*0.1  Zpos=Zpos[750:nz-30]  Rpos=Rpos[0:nr-1]  tpos=findgen(nt)  theta=fltarr(91)  for i=0, 90 do begin  theta[i]=-45+i ;theta values from -15 to 15  endfor  Bfinal=fltarr(nz,nr,nt)  k=fltarr(90)  for i=0, 90 do begin  ;Print,i  k=find_k(theta[i], B, freq)  ;Print, "I've Found k",k  Bgrid=makewave(k,theta[i], B, freq)  ;Print, "I've Done BGrdid"  Bfinal=Bfinal+Bgrid  endfor  device, decomposed=0  loadct, 8  BFinalMin=Min(BFinal)  BFinalMax=Max(BFinal)  shade_surf, smooth(Bfinal, 10),ZPos,RPos, ax=90, az=0, $  shades=bytscl(smooth(Bfinal, 10),Min=BFinalMin,Max=BFinalMax),$  xtitle="Axial Positions (cm)", ytitle="Radial Positions (cm)", $  charsize=2.0,/XStyle,/YStyle,XRange=[0,75],YRange=[-20,20]   ;this is for an image  ;for i=0,nt-1 do begin  ;shade_surf, smooth(Bfinal[*,*,i], 10), ax=90, az=0, shades=bytscl(smooth(Bfinal[*,*,i], 10),Min=BFinalMin,Max=BFinalMax),   ;wait, 0.2  ;endfor  ;this is for a movie  end  FIND_INDEX.PRO  pro find_index  ;x=findgen(9)*5 ;this is for calculating angles  z=findgen(100)*1+40 ;this is for calculating frequencies  y=findgen(3)*20+40 ;this is calculating B fields  k=fltarr(100,3)  for j=0, 2 do begin ;this is for B-fields  ;for i=0, 8 do begin ;this is for calculating angles  for L=0, 99 do begin ;this is for calculating frequencies  ;print, 'the wavelength and angles for '  ;print, x[i]  ;print, 'degrees are: '  ; k[i,j,k]=find_k(x[i],y[j], z[k])  k[l,j]=find_k(60, y[j], z[l])  endfor  ;endfor  endfor  device, decomposed=0  loadct, 39  ;plot, z, 2*!pi/k[2,*], color=1, background=-1  ;oplot, z,2*!pi/k[1,*], color=100  ;oplot, z, 2*!pi/k[0,*], color=150  ;these are for wavelength  graph1=plot( z, k[*,0], colorline=1, name='40 G')  graph2=plot( z,k[*,1], colorline=100, /OVERPLOT, name='60 G')  graph3=plot( z,k[*,2], colorline=150, /OVERPLOT,name='80 G')  l = legend(TARGET=[GRAPH1,GRAPH2, GRAPH3])$