##// END OF EJS Templates
fitacf.f update
rflores -
r1636:43055b8aca7f
parent child
Show More
@@ -485,9 +485,6 c between k and the magnetic field (radians)
485 sum2=sum2+fi(i)*yi(i)
485 sum2=sum2+fi(i)*yi(i)
486 end do
486 end do
487 dl=ak**2*dlf*te/densmks
487 dl=ak**2*dlf*te/densmks
488 c write(*,fmt='("Before YE")')
489 c write(*,*) imode
490 c call exit
491
488
492 if(imode.eq.1.or.imode.eq.3) then
489 if(imode.eq.1.or.imode.eq.3) then
493
490
@@ -496,8 +493,6 c call exit
496 phi=(omegae/ak)/(sqrt(2.0)*vte)
493 phi=(omegae/ak)/(sqrt(2.0)*vte)
497 psie=(ven/ak)/(sqrt(2.0)*vte)
494 psie=(ven/ak)/(sqrt(2.0)*vte)
498 ye=y_electron(thetae,phi,psie,alpha)
495 ye=y_electron(thetae,phi,psie,alpha)
499 write(*,fmt='("AFTER YE")')
500 c call exit
501
496
502 else if(imode.eq.2) then
497 else if(imode.eq.2) then
503 c
498 c
@@ -508,8 +503,7 c
508 alpha2=abs(pi/2.0-alpha)*180.0/pi
503 alpha2=abs(pi/2.0-alpha)*180.0/pi
509 c write(*,*) "ye: ", ye
504 c write(*,*) "ye: ", ye
510 call collision(densmks, te, freq, alpha2, ye)
505 call collision(densmks, te, freq, alpha2, ye)
511 c write(*,fmt='("AFTER COLLISION")')
506 c write(*,fmt='(" geobfield: time is before earliest model.")')
512 c call exit
513 ye=ye*omega+cmplx(0.0,1.0)
507 ye=ye*omega+cmplx(0.0,1.0)
514
508
515 end if
509 end if
@@ -518,12 +512,12 c call exit
518 p=(cabs(ye))**2*real(sum2)+cabs(sum1+cmplx(0.0,dl))**2*real(ye)
512 p=(cabs(ye))**2*real(sum2)+cabs(sum1+cmplx(0.0,dl))**2*real(ye)
519 p=p/(cabs(yed+sum1))**2
513 p=p/(cabs(yed+sum1))**2
520 spect1=p*2.0e0/(omega*pi)
514 spect1=p*2.0e0/(omega*pi)
521 write(*,*) "spect1:",spect1
515
522 return
516 return
523 end
517 end
524
518
525 subroutine acf2(wl, tau, te1, ti1, fi1, ven1, vin1, wi1,
519 subroutine acf2(wl, tau, te1, ti1, fi1, ven1, vin1, wi1, nion1,
526 & alpha1, dens1, bfld1, acf, nion1)
520 & alpha1, dens1, bfld1, acf)
527 c
521 c
528 c computes autocorrelation function for given plasma parameters
522 c computes autocorrelation function for given plasma parameters
529 c by integrating real spectrum
523 c by integrating real spectrum
@@ -537,44 +531,33 c
537 real pi
531 real pi
538 integer nion1
532 integer nion1
539 integer wi1(nion1)
533 integer wi1(nion1)
540 integer i,j,k,imode
534 integer i,j,k
541 common /mode/imode
542 c
535 c
543 c write(*,*) "INITIAL acf:",wl,tau,te1,ti1,fi1,ven1,vin1,wi1,alpha1
544 write(*,*) "INITIAL acf:",dens1, bfld1, acf, nion1
545 c write(*,fmt='("INIT")')
546 pi=4.0*atan(1.0)
536 pi=4.0*atan(1.0)
547 c
537 c
548 c copy arguments to common block
538 c copy arguments to common block
549 c
539 c
550 ak=2.0*pi/wl
540 ak=2.0*pi/wl
551 imode=2
541 imode=2
552 write(*,*) "imode:",imode
553
542
554 nion=nion1
543 nion=nion1
555 alpha=alpha1
544 alpha=alpha1
556 te=te1
545 te=te1
557 ven=ven1
546 ven=ven1
558 c write(*,fmt='("INIT2")')
559 do i=1,nion
547 do i=1,nion
560 c write(*,fmt='("INIT2.5")')
561 ti(i)=ti1(i)
548 ti(i)=ti1(i)
562 fi(i)=fi1(i)
549 fi(i)=fi1(i)
563 vin(i)=vin1(i)
550 vin(i)=vin1(i)
564 wi(i)=wi1(i)
551 wi(i)=wi1(i)
565 end do
552 end do
566 c write(*,fmt='("INIT3")')
567 dens=dens1
553 dens=dens1
568 bfld=bfld1
554 bfld=bfld1
569
555
570 c write(*,*) wl,alpha1,bfld1,dens
556 c write(*,*) wl,alpha1,bfld1,dens
571 c call exit
557 c call exit
572 c write(*,fmt='("Before Gauss")')
573 call gaussq(tau,acf)
574
558
575 write(*,*) "FINAL acf:",acf
559 call gaussq(tau,acf)
576
560
577 c write(*,fmt='("After Gauss")')
578 return
561 return
579 end
562 end
580
563
@@ -607,7 +590,7 c write(*,*) leniw,lenw
607 nrmom=0
590 nrmom=0
608 ksave=0
591 ksave=0
609 momcom=0
592 momcom=0
610 write(*,*) "Before qc25f:",acf,imode
593
611 c much faster, more robust
594 c much faster, more robust
612 c write(*,*) "acf_in: ",acf
595 c write(*,*) "acf_in: ",acf
613 call qc25f(spect1,a,b,tau,integr,nrmom,maxp1,ksave,acf,
596 call qc25f(spect1,a,b,tau,integr,nrmom,maxp1,ksave,acf,
@@ -615,7 +598,7 c write(*,*) "acf_in: ",acf
615 c write(*,*) "acf_out: ",acf
598 c write(*,*) "acf_out: ",acf
616 c call qawf(spect1,a,tau,integr,epsabs,acf,abserr,neval,
599 c call qawf(spect1,a,tau,integr,epsabs,acf,abserr,neval,
617 c & ier,limlst,lst,leniw,maxp1,lenw,iwork,work)
600 c & ier,limlst,lst,leniw,maxp1,lenw,iwork,work)
618 write(*,*) "After qc25f:",acf
601
619 c call exit
602
620 return
603 return
621 end
604 end
General Comments 0
You need to be logged in to leave comments. Login now