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