15 integer,
save :: np, iter
16 double precision,
save :: wsacc
17 double precision,
save ::
18 1 wgbj, wgb, wgb0, wgbst, wgbd,
19 2 wgmj, wgmjex, wsqc, wbbs0, wbj0,
20 3 wbr00, wbr0, wsac1, wsac2, wsac3
21 double precision,
allocatable,
save ::
23 4 wsd1(:), wgl(:), wdgl(:),
24 5 wdsd1(:), wd2sd1(:),wbs1(:),
26 7 wsd3(:), wdsd3(:), wd2sd3(:),wbs3(:),
27 8 wbk02(:), wbk0(:), wdbk00(:),wbd02(:),
28 9 wbd0(:), wbg02(:), wbg0(:), wbd12(:),
29 & wbg332(:),wbg33(:), wbg222(:),wbg22(:)
30 double precision,
allocatable,
save ::
31 1 wsl0(:), wsv0(:), wsu0(:), wsw0(:),
32 2 wgmc(:), wdgmc(:), wba(:), wdba(:),
34 4 wscj1(:), wsci1(:), wscj3(:), wsci3(:),
35 5 wscj5(:), wsci5(:), wscj7(:), wsci7(:),
36 6 wbk10(:), wbk11(:), wbk20(:), wbk22(:),
37 7 wbk13(:), wbk30(:), wbk31(:), wbk33(:),
38 8 wsl1(:), wsv1(:), wsu1(:),
39 9 wsl22(:), wsl2(:), wsv2(:), wsu2(:),
40 & wsl3(:), wsv3(:), wsu3(:)
41 double precision,
allocatable,
save ::
42 1 wsp(:), wdsp(:), wsjp(:), wdsjp(:),
43 2 wsj(:), wdsj(:), wsq(:), wdsq(:),
44 3 wdsqrq(:),wbf(:), wbff(:), wsjsl(:),
46 double precision,
allocatable,
save ::
47 1 skdr(:),skga(:),sqg22r(:)
59 4 wsd1(np), wgl(np), wdgl(np),
60 5 wdsd1(np), wd2sd1(np),wbs1(np),
61 6 wd2gl(np), wbs2(np),
62 7 wsd3(np), wdsd3(np), wd2sd3(np),wbs3(np),
63 8 wbk02(np), wbk0(np), wdbk00(np),wbd02(np),
64 9 wbd0(np), wbg02(np), wbg0(np), wbd12(np),
65 & wbg332(np),wbg33(np), wbg222(np),wbg22(np))
67 1 wsl0(np), wsv0(np), wsu0(np), wsw0(np),
68 2 wgmc(np), wdgmc(np), wba(np), wdba(np),
70 4 wscj1(np), wsci1(np), wscj3(np), wsci3(np),
71 5 wscj5(np), wsci5(np), wscj7(np), wsci7(np),
72 6 wbk10(np), wbk11(np), wbk20(np), wbk22(np),
73 7 wbk13(np), wbk30(np), wbk31(np), wbk33(np),
74 8 wsl1(np), wsv1(np), wsu1(np),
75 9 wsl22(np), wsl2(np), wsv2(np), wsu2(np),
76 & wsl3(np), wsv3(np), wsu3(np))
78 1 wsp(np), wdsp(np), wsjp(np), wdsjp(np),
79 2 wsj(np), wdsj(np), wsq(np), wdsq(np),
80 3 wdsqrq(np),wbf(np), wbff(np), wsjsl(np),
83 1 skdr(np),skga(np),sqg22r(np))
100 7 wsd3, wdsd3, wd2sd3,wbs3,
101 8 wbk02, wbk0, wdbk00,wbd02,
102 9 wbd0, wbg02, wbg0, wbd12,
103 & wbg332,wbg33, wbg222,wbg22)
105 1 wsl0, wsv0, wsu0, wsw0,
106 2 wgmc, wdgmc, wba, wdba,
108 4 wscj1, wsci1, wscj3, wsci3,
109 5 wscj5, wsci5, wscj7, wsci7,
110 6 wbk10, wbk11, wbk20, wbk22,
111 7 wbk13, wbk30, wbk31, wbk33,
113 9 wsl22, wsl2, wsv2, wsu2,
116 1 wsp, wdsp, wsjp, wdsjp,
117 2 wsj, wdsj, wsq, wdsq,
118 3 wdsqrq,wbf, wbff, wsjsl,
222 integer na1,naold,na,nt,nt1,i,i1,j,k,niter,itermx
223 double precision br00,sa0,gl0,gd30,acc,b0t,plcur,time
224 double precision ba(na1),bb(na1),gr(na1),gbd(na1),gl(na1),
225 & gsd(na1),gra(na1),sqgra(na1),grar(na1),avr2(na1),ai0(na1),
226 & dgrda(na1),avsqg(na1),vol(na1),gr2aux(na1)
227 double precision b2b0eq(na1),b0b2eq(na1),bmaxeq(na1),bmineq(na1),
228 1 bmodeq(na1),fofbeq(na1),grdaeq(na1),
229 2 a,aa,c,cc,s,ss,sr,sx,sx1,t,y,y1,sdt,sdt0,
230 3 drda,dzda,drdt,dzdt,dmetr,da2,dgr2,fi,fj,d0,cgp,
231 4 gp,gp2,gr2,glold,g3dold,aold,g22a2,skggg,
232 5 sqg,ylin,yvol,ymin,ymax
233 save aold,glold,g3dold,naold,cgp,niter
234 data aold/0.d0/glold/0.d0/g3dold/0.d0/naold/1/
235 data cgp/3.14159265359d0/ niter/60/
261 call eqgb3(br00,sa0,gl0,gd30,na)
273 call eqab3(na,nt,niter,acc)
279 d0=wsd1(na1)*wsaa(na1)
286 vol(i)=s*wsaa(i)*(wbr0*wsl0(i)+wsaa(i)*wsl1(i))
290 sqg=wbg0(i)*wgl(i)*wbr0
293 sqgra(i)=sqg22r(i)/sqg
294 grar(i)=wbg22(i)/(wgl(i)*wbr0*sqg)
295 avr2(i)=wbg33(i)*wgl(i)/(wbr0*sqg)
297 gbd(i)=d0-wsd1(i)*wsaa(i)
298 gsd(i)=wsd3(i)*wsaa(i)
299 fi=wbg33(i)*wgl(i)*ai0(i)/(wbr0*wbbs0)
301 dgr2=fj*wscj1(j)+fi*wsci1(j)
304 write(*,*)
"NA1 = 0",gr2,dgr2
309 dgrda(i)=fi*wsa(i)/gr(i)
336 gr2aux(i)=gr2aux(k)+(skdr(k)*ai0(k)*wscj1(k)+
337 + skdr(i)*ai0(i)*wsci1(k))*2./wbbs0
344 IF(k.EQ.1.OR.k.EQ.nt1) sdt=sdt0*0.5
349 sx1=-wsd1(i)-wsd3(i)*ss
353 drda=-wdsd1(i)*a+c-wdsd3(i)*a*ss
354 dzda=s*wgl(i)*(aa*wdgl(i)+1)
355 drdt=-a*s-2.*aa*wsd3(i)*c*s
358 dmetr=drda*dzdt-drdt*dzda
359 skggg=skggg+dmetr*sr*sdt
362 y=(ai0(i)/sr/wbbs0)**2 + (drdt**2+dzdt**2)*
363 * ((gr2aux(i)-gr2aux(i1))/(wsa(i)-wsa(i1))/
364 / (wsq(i)+wsq(i1))/sr/dmetr)**2
366 y=(ai0(i)/sr/wbbs0)**2
374 IF(k.EQ.1.OR.k.EQ.nt1) sdt=sdt0*0.5
379 sx1=-wsd1(i)-wsd3(i)*ss
383 drda=-wdsd1(i)*a+c-wdsd3(i)*a*ss
384 dzda=s*wgl(i)*(aa*wdgl(i)+1)
385 drdt=-a*s-2.*aa*wsd3(i)*c*s
388 g22a2=ss+4.*a*wsd3(i)*ss*c+(2.*a*wsd3(i)*s*c)**2+
391 da2=(c-a*(wdsd1(i)+wdsd3(i)*ss))*wgl(i)*c+
392 + wgl(i)*ss*(wdgl(i)*aa+1.)*(1.+2.*a*c*wsd3(i))
395 dmetr =drda*dzdt-drdt*dzda
398 y=(ai0(i)/sr/wbbs0)**2 + (drdt**2+dzdt**2)*
399 * ((gr2aux(i)-gr2aux(i1))/(wsa(i)-wsa(i1))/
400 / (wsq(i)+wsq(i1))/sr/dmetr)**2
401 b2b0eq(i)=b2b0eq(i)+ y*dmetr*sr*sdt
402 b0b2eq(i)=b0b2eq(i)+ dmetr*sr*sdt/y
403 bmodeq(i)=bmodeq(i)+ sqrt(y)*dmetr*sr*sdt
404 IF (y.GT.ymax) ymax=y
406 fofbeq(i)=fofbeq(i)+1./y*(1.-sqrt(abs(1.-y1))
407 + *(1.+.5*y1))*dmetr*sr*sdt
408 grdaeq(i)=grdaeq(i)+ sqrt(g22a2/da2)*dmetr*sr*sdt
409 ylin =ylin+(drdt**2+dzdt**2)*
410 * ((gr2aux(i)-gr2aux(i1))/(wsa(i)-wsa(i1))/
411 / (wsq(i)+wsq(i1))/sr/dmetr)**2*dmetr*sr*sdt
412 yvol = yvol + dmetr*sr*sdt
414 y=(ai0(i)/sr/wbbs0)**2
415 b2b0eq(i)=b2b0eq(i)+y*sdt
416 b0b2eq(i)=b0b2eq(i)+ sdt/y
417 bmodeq(i)=bmodeq(i)+ sqrt(y)*sdt
418 IF (y.GT.ymax) ymax=y
420 y1 = 1.d0/y*(1.d0-sqrt(abs(1.d0-y1))*(1.d0+.5d0*y1))*sdt
421 fofbeq(i)=fofbeq(i)+y1
422 grdaeq(i)=grdaeq(i)+sqrt(g22a2/da2)*sdt
425 bmaxeq(i)=sqrt(ymax)*wbbs0
426 bmineq(i)=sqrt(ymin)*wbbs0
428 b0b2eq(i)=b0b2eq(i)/skggg
429 b2b0eq(i)=b2b0eq(i)/skggg
430 bmodeq(i)=bmodeq(i)/skggg
431 fofbeq(i)=fofbeq(i)/skggg
432 grdaeq(i)=grdaeq(i)/skggg
436 ylin=ylin*wbbs0*wbbs0*a*2./(.4*cgp*plcur)**2/br00
447 subroutine eqab3(NA,NT,NITER,ACC)
449 integer na,nt,niter,na1,i,j,i1,jj
451 1 acc,aa,aai,a4ai,a6ai,s,sc2,w0,w1,w2,w3,bi0,bp1,bp3,
452 2 fu0,fu0i,fu0j,fu1i,fu1j,fu2i,fu2j,fu3i,fu3j,
453 3 fv0i,fv0j,fv1i,fv1j,fv2i,fv2j,fv3i,fv3j
460 wbr0= wbr00+wsd1(na1)*wsaa(na1)
465 wgmc(1)=wba(1)*wsl0(1)/wbk0(1)
468 fu0i= wdba(1)*wsl0(1)
469 fv0i= wdbb(1)*wsv0(1)
471 wsw0(1)=0.25*(fu0-fu0i)
473 fu2i= wgmc(1)*wsu2(1)-wdba(1)*wsl2(1)
474 fv2i= wdbb(1)*wsv2(1)
475 sc2= 0.25*(wgl(1)**2-1.)
476 wbs2(1)=((wba(1)*wsl22(1)+wbb(1)*(wsv2(1)+sc2*wsv0(1))+
477 , fu2i/6.+sc2*wsw0(1))/wgmc(1)-wbk20(1))/wbk22(1)
480 fu1i= wgmc(1)*wsu1(1)
481 fv1i= wdba(1)*wsl1(1)+wdbb(1)*wsv1(1)
482 bp1= (wba(1)*wsl1(1)+wbb(1)*wsv1(1)+
483 * 0.25*fu1i)/wgmc(1)-wbk10(1)
485 fu3i= wgmc(1)*wsu3(1)
486 fv3i= wdba(1)*wsl3(1)+wdbb(1)*wsv3(1)
487 bp3= (wba(1)*wsl3(1)+wbb(1)*wsv3(1)+
488 * fu3i/6.)/wgmc(1)-wbk30(1)
489 s= 1./(wbk11(1)*wbk33(1)-wbk13(1)*wbk31(1))
490 wbs1(1)=(bp1*wbk33(1)-bp3*wbk13(1))*s
491 wbs3(1)=(bp3*wbk11(1)-bp1*wbk31(1))*s
500 fu0i= wdba(i)*wsl0(i)
502 fv0i= wdbb(i)*wsv0(i)
503 bi0= bi0+wscj3(j)*fu0j+wsci3(j)*fu0i+
504 * wscj5(j)*fv0j+wsci5(j)*fv0i
506 wgmc(i)=(wba(i)*wsl0(i)+wbb(i)*aa*wsv0(i)+(w0-bi0)*aai)
507 , /(wbk0(i)-wsci3(j)*wsu0(i)*aai)
510 wsw0(i)=(w0-bi0)*a4ai
512 fu2i= wgmc(i)*wsu2(i)-wdba(i)*wsl2(i)
514 fv2i= wdbb(i)*wsv2(i)
515 w2= w2+fu2j*wscj5(j)+fu2i*wsci5(j)-
516 * fv2j*wscj7(j)-fv2i*wsci7(j)
517 sc2= 0.25*(wgl(i)**2-1.)
518 wbs2(i)=((wba(i)*wsl22(i)+wbb(i)*(wsv2(i)+sc2*wsv0(i))+
519 , w2*a6ai+sc2*wsw0(i))/wgmc(i)-wbk20(i))/wbk22(i)
520 wdgl(i)=wdgl(j)+(wbs2(j)+wbs2(i))*wscj1(j)
522 fv1i= wdba(i)*wsl1(i)+wdbb(i)*wsv1(i)
524 fu1i= wgmc(i)*wsu1(i)
525 w1= w1+fu1j*wscj3(j)+fu1i*wsci3(j)-
526 * fv1j*wscj5(j)-fv1i*wsci5(j)
527 bp1= (wba(i)*wsl1(i)+wbb(i)*wsv1(i)+
528 * w1*a4ai)/wgmc(i)-wbk10(i)
530 fu3i= wgmc(i)*wsu3(i)
532 fv3i= wdba(i)*wsl3(i)+wdbb(i)*wsv3(i)
533 w3= w3+fu3j*wscj5(j)+fu3i*wsci5(j)-
534 * fv3j*wscj7(j)-fv3i*wsci7(j)
535 bp3= (wba(i)*wsl3(i)+wbb(i)*wsv3(i)+
536 * w3*a6ai)/wgmc(i)-wbk30(i)
537 s= 1./(wbk11(i)*wbk33(i)-wbk13(i)*wbk31(i))
538 wbs1(i)=(bp1*wbk33(i)-bp3*wbk13(i))*s
539 wbs3(i)=(bp3*wbk11(i)-bp1*wbk31(i))*s
545 s= wgl(na1)*exp(-wdgl(na1))
551 wgl(i)= s*exp(wdgl(i))
553 w1= w1+(wdsd1(j)+wdsd1(i))*wscj1(j)
557 fu3j= 1.+wdgl(na1)*wsaa(na1)
558 wdsd3(na1)=wbs3(na1)+2.*wsd3(na1)*fu3j
565 wsd3(j)=(wsd3(i)*(wsaa(i)-2.*wsci1(j)*fu3i)-(wbs3(i)+
566 , wbs3(j))*wscj1(j))/(aa+2.*wscj1(j)*fu3j)
567 wdsd3(j)=wbs3(j)+2.*wsd3(j)*fu3j
569 wsac1= wsa(na1)*abs(wdsd1(na1)-wsac1)
570 wsac2= wsaa(na1)*abs(wdgl(na1)-wsac2)
571 wsac3= wsa(na1)*abs(wdsd3(na1)-wsac3)
572 wsacc= wsac1+wsac2+wsac3
573 IF(iter.LT.niter.AND.wsacc.GT.acc) go to 200
575 write(*,
'(2I5,5F10.7)')iter,niter,wsacc,wsac1,wsac2,wsac3
576 if (iter.EQ.niter)
then
579 >
">>> No convergence in the 3M equilibrium solver >>>"
580 write(*,
'(1A)')
" You can: (0) Continue anyway"
581 write(*,
'(1A)')
" (1) Try more iterations"
582 write(*,
'(2A)')
" (2) Freeze the current ",
583 >
"equilibrium and continue"
584 write(*,
'(1A)')
" (3) Stop the run"
585 write(*,
'(A,$)')
" Your selection > "
587 write(*,*)
'Continue anyway'
592 if (jj .eq. 0) goto 4
594 if (jj .eq. 1) goto 200
595 if (jj .eq. 2) na = 0
602 wd2gl(1)=wdgl(1)*wgl(1)
610 fu1i= aa*(wdsd1(i)-wsd1(i))
611 wd2sd1(i)=(fu1i-fu1j)/wsci1(j)-wd2sd1(j)
613 fu2i= wgl(i)*(aa*wdgl(i)-1.)
614 wd2gl(i)=(fu2i-fu2j)/wsci1(j)-wd2gl(j)
616 fu3i= aa*(wdsd3(i)-wsd3(i))
617 wd2sd3(i)=(fu3i-fu3j)/wsci1(j)-wd2sd3(j)
623 subroutine eqgb3(BR00,SA0,GL0,GD30,NA)
649 1 br00,sa0,gl0,gd30,da,d3,d32,aai,aaj,h,c0,ci,cj,cii,cjj
689 wscj7(j)=c0*(aai*cj+4.*cjj*aaj)
690 wsci7(j)=c0*(aaj*ci+4.*cii*aai)
698 subroutine eqk3(NA,NT)
708 integer na,nt,na1,nt1,i,k
710 1 cgp,a,aa,aspa,ee,sc1,sc2,t,den,
711 2 da1,da2,ra,ri,xr,g22a2,r0rd,sf2,sf20,sf21,sf3,sf30,sf31,
712 3 xrxr,sk10,sk11,sk13,sk0,sk01,sk2,sr,sx,sxx,sx1,sxx1,szz,
713 4 s,ss,sy1,c,cc,bm1,bm2,bmi,bn,bn0,bn1,bn2,bn12,sdt,sdt0
715 data cgp/3.14159265359d0/
750 IF(k.EQ.1.OR.k.EQ.nt1) sdt=sdt0*0.5
756 sx1= -wsd1(i)-wsd3(i)*ss
771 bm1= -(wbs1(i)+wbs3(i)*ss)*c
773 bmi= 1./(1.+a*bm1+aa*bm2)
777 sk0= (bn2-bn1*(bm1+a*bm2))*bmi+bn0*bm1*bm1*den
781 sf2= sf20+a*sf21+aa*sxx1
782 wbk02(i)=wbk02(i)+sk0+wbs2(i)*sk2
783 wbk20(i)=wbk20(i)+bn0*sxx1+sk01*sf21+sk0*sf2
784 wbk22(i)=wbk22(i)+sk2*sf2
793 sf31= sx1*(sxx+c*sx+sf3)
795 wbk10(i)=wbk10(i)+sk0*sx1+sk10*sx
796 wbk30(i)=wbk30(i)+sk0*sf31+sk10*sf3
797 wbk11(i)=wbk11(i)+sk11*sx
798 wbk31(i)=wbk31(i)+sk11*sf3
799 wbk13(i)=wbk13(i)+sk13*sx
800 wbk33(i)=wbk33(i)+sk13*sf3
804 wbg222(i)=wbg222(i)+bn*bmi*xrxr*r0rd
806 wbg332(i)=wbg332(i)+(xrxr+bm2-bm1*xr)*r0rd
808 wsu1(i)=wsu1(i)+r0rd*szz
809 wsu2(i)=wsu2(i)+r0rd*sxx
820 g22a2=ss+4.*a*wsd3(i)*ss*c+(2.*a*wsd3(i)*s*c)**2+(wgl(i)*c)**2
822 da1=wgl(i)*(cc-a*(wdsd1(i)+wdsd3(i)*ss)*c+
823 + ss*(wdgl(i)*aa+1.)*(1.+2.*a*c*wsd3(i)))
825 skga(i)=skga(i)+g22a2*sr*sdt/da1
826 sqg22r(i)=sqg22r(i)+sqrt(g22a2)*sr*sdt
828 da2=(c-a*(wdsd1(i)+wdsd3(i)*ss))*wgl(i)*c+
829 + wgl(i)*ss*(wdgl(i)*aa+1.)*(1.+2.*a*c*wsd3(i))
830 skdr(i)=skdr(i)+sdt*da2/sr
832 wbg332(i)=wbg332(i)+(wsd1(i)+0.5*wsd3(i))*ri
833 wbg222(i)=wbg222(i)+wbk02(i)-(wbk10(i)+
834 * wbs1(i)*wbk11(i)+wbs3(i)*wbk13(i))*ri
835 wbd02(i)= 0.5*wbs2(i)
837 wbg02(i)=0.5*wbs2(i)*(ra-0.75*wsd3(i)*aspa)-
838 * (wsd1(i)+0.5*(wsd3(i)+wbs1(i)+0.25*wbs3(i)))*ri
839 wbd12(i)= wbg02(i)-wbg332(i)
840 wbk0(i)= sc2+aa*wbk02(i)
842 wbd0(i)= 1.+aa*wbd02(i)
843 wbg0(i)= 1.+aa*wbg02(i)
844 wbg33(i)= 1.+aa*wbg332(i)
845 wbg22(i)= sc2+aa*wbg222(i)
850 subroutine eqlvu3(NA)
884 1 cr2,cr3,cr4,cr6,cr8,aa,e,ee,t1,t3,t5,rbr0,
885 2 s,s1,s2,x20,x22,x30,x32,x40,x42,x50,x60,x5x1,x6x1,
886 3 y0,y2,y4,ux0,ux2,ux12,ux30,ut0,ut1,ut2,ut4,ut6,
887 4 uy0,uy1,uy2,uy3,uy4,uz1,uz3
888 data cr2 /5.d-1/,cr3/3.33333333d-1/,cr6/1.66666666d-1/,
889 , cr4/2.5d-1/,cr8/1.25d-1/
907 ut0= ux0*y0+cr2*(uy1+ux2*y2)
908 ut1= ux0*uy1+uy0+cr2*(uy2+ux2*(uy3+uy1))
910 ut2= ux0*y2+y0*ux2+cr2*(uy3+uy1+ux2*y4)
911 t3= aa*ux0*uy3+cr2*(y2+y4+aa*ux2*uy1)
912 ut4= ux0*y4+cr2*(uy3+ux2*y2)
913 t5= cr2*(y4+aa*ux2*uy3)
915 uz1= uy1*(2.*y0+y2)+uy3*(y2+y4)
916 uz3= uy3*2.*y0+uy1*(y4+y2)
917 x5x1= t1*y0+aa*ut0*uy1+cr2*(y2*(t1+t3)+
918 , y4*(t3+t5)+aa*(ut2*uy1+uy3*(ut2+ut4)))
919 x6x1= t1*(2.*ut0+ut2)+t3*(ut2+ut4)+t5*(ut4+ut6)
927 x42= s*(uz1-uz3)*0.25
934 wsl2(i)= wsl0(i)*s1+aa*wsl22(i)
936 wsl3(i)= e*(x40-3.*x22)
940 wsv0(i)= s*(x20+s1*x30)
941 wsv1(i)= s*(x30+s2*x40)
942 wsv2(i)= s*(x40-x22+s1*(x50-x32))
943 wsv3(i)= s*(x50-3.*x32+s2*(x60-3.*x42))
949 wsu1(i)= s*(cr2+s2*(ux30*rbr0-2.*x20))
950 wsu0(i)= -rbr0*wsu1(i)
951 wsu2(i)= s*(2.*x20+rbr0*(ux12-ux30))
952 wsu3(i)= s*(ux30-3.*ux12)
955 END subroutine eqlvu3
975 double precision h, s, rs, ss
977 wdba(1)=2.*(wsjp(2)-wsjp(1))/wsa(2)**2
980 wdbb(1)=2.*(wsp(2)-wsp(1))/wsa(2)**2
985 wdbb(i)=(wsp(i+1)-wsp(i-1))*h/wsa(i)
986 1 wdba(i)=(wsjp(i+1)-wsjp(i-1))*h/wsa(i)
988 wdba(na1)=(wsjp(na1)-wsjp(na))/wsa(2)/wsa(na1)
990 wdbb(na1)=(wsp(na1)-wsp(na))/wsa(2)/wsa(na1)
995 wba(i)=wba(i)*rs+wbb(i)*ss
997 wdba(i)=wdba(i)*rs+wdbb(i)*ss
1002 subroutine eqppab(NA)
1064 1 s,sli,slj,g33i,g33j,cgp,dg33,bj,bji,bjj,rr,rl,
1065 2 dl0,dl0i,dl0j,d12i,d12j,dd12,dv0,ff0,ffi,ffj,v0i,v0j,
1066 3 gb,gbi,gbj,gbs,gbsi,gbsj,gbd,gbdi,gbdj,gpi,gpj,gmji,gmjj,
1067 4 wgpint,wgpres,wsli
1069 data cgp/3.14159265359d0/
1074 dg33=2.*(wba(1)*(wbg332(1)-wbd02(1))+wbb(1)*wbd12(1))
1076 wdsj(1)=wdba(1)+dg33
1083 g33i=(wba(i)*(wbg332(i)-wbd02(i))+wbb(i)*wbd12(i))*
1085 dg33=(g33i-g33j)/wscj1(j)-dg33
1087 wdsj(i)=wdba(i)+dg33
1089 bji=wsj(i)*wbd0(i)*wgl(i)
1090 bj=bj+(bjj+bji)*wscj1(j)
1105 rr=wbr0-wsd1(i)*wsaa(i)
1108 wsjsl(i)=wba(i)*rl+wbb(i)*(1./rl-rl)
1109 wsjsr(i)=wba(i)*rr+wbb(i)*(1./rr-rr)
1111 wdsp(i)=-wbb(i)*wgmc(i)*wgl(i)
1116 sli=wgp(1)*wsj(1)*wgl(1)*wbd0(1)
1119 ffi=(wba(1)-wbb(1))*gpi
1123 gbi=wbb(1)*gpi*wsl0(1)
1127 gbdi=(wba(1)-wbb(1))*wgmc(1)*wsu0(1)
1135 wgp(i)=wgp(j)-(gpj+gpi)*wscj1(j)
1137 sli=wgp(i)*wsj(i)*wgl(i)*wbd0(i)
1138 wsli=wsli+(slj+sli)*wscj1(j)
1141 ffi=(wba(i)-wbb(i))*gpi
1142 wbff(i)=wbff(j)+(ffj+ffi)*wscj1(j)
1143 wsp(i)=wsp(j)+(wdsp(j)+wdsp(i))*wscj1(j)
1146 gbi=wbb(i)*gpi*wsl0(i)
1147 gb=gb+gbj*wscj3(j)+gbi*wsci3(j)
1151 gbs=gbs+gbsj*wscj3(j)+gbsi*wsci3(j)
1154 gbdi=(wba(i)-wbb(i))*wgmc(i)*wsu0(i)
1155 gbd=gbd+gbdj*wscj3(j)+gbdi*wsci3(j)
1157 wgpint=-2.*cgp*wbr0*wgp(na1)
1161 wsli=2.*wbr0/(wbr00*wbj0**2)*(wsli-wgp(na1)*wbj0)
1162 wgpres=cgp*wbr00*wsli*wbj0
1166 wgbj=4.*gb/(wbj0**2)
1167 s=wsl0(na1)*wsaa(na1)
1171 wgb=2.*gb/(wbbs0**2*s)
1175 wgbst=2.*sqrt(2.*(gbs-wsp(na1)*gb)/s)/wbbs0**2
1177 ff0=(wbbs0*wbr00/wbr0)**2
1178 wgbd=2.*gb/(wbr0**2*(2.*gbd-ff0*wsu0(na1)*wsaa(na1)/wgl(na1)))
1179 wgmj=4.*gbd*(wbr0/wbj0)**2
1182 wbff(1)=ff0+2.*wbff(na1)
1183 wbf(1)=sqrt(wbff(1))
1184 wgb0=2.*wsp(1)/wbbs0**2
1185 wsqc=wbbs0*wsaa(na1)*(wgl(na1)**2+1.)*.5/(wbj0*wbr00)
1188 dv0=2.*(wbb(1)*wsv0(1)+wsw0(1)-wgmc(1)*wbk02(1))
1190 dl0i=(wdgl(1)-2.*wbd02(1))*wgl(1)
1192 wdgmc(1)=(wdba(1)*wsl0(1)+wba(1)*(wgl(1)*wbd02(1)+.25*dl0i)-
1193 , wgmc(1)*wdbk00(1)+dv0)/wbk0(1)
1195 ffi=(wba(1)-wbb(1))*wgmc(1)*wgl(1)
1196 wsq(1)=wbf(1)/(wbr0*wgmc(1))
1197 dg33=2.*wbg332(1)*wsq(1)
1199 wdsq(1)=wsq(1)*(-ffi/wbff(1)-wdgmc(1)/wgmc(1))+dg33
1202 dd12=2.*((wba(1)-wbb(1))*wbg22(1)/(wbr0*wsq(1))**2+
1206 wdsjp(1)=wdba(1)+dd12
1210 gmji=ffi/wbf(1)*bji*.5
1215 wsp(i)=wsp(i)-wsp(na1)
1220 wbff(i)=wbff(1)-2.*wbff(i)
1221 wbf(i)=sqrt(wbff(i))
1224 dl0i=(wdgl(i)-2.*wbd02(i))*wgl(i)
1225 dl0=dl0+dl0j*wscj3(j)+dl0i*wsci3(j)
1227 v0i=(wbb(i)*wsv0(i)+wsw0(i)-wgmc(i)*wbk02(i))*wsaa(i)
1229 wdgmc(i)=(wba(i)*(wgl(i)*wbd02(i)+dl0/wsaa(i)**2)+
1230 , wdba(i)*wsl0(i)-wgmc(i)*wdbk00(i)+dv0)/(wgl(i)**2+1.)*2.
1232 ffi=(wba(i)-wbb(i))*wgl(i)*wgmc(i)
1234 wsq(i)=wbf(i)/(wbr0*wgmc(i))
1235 g33i=wsq(i)*wbg332(i)*wsaa(i)
1236 dg33=(g33i-g33j)*s-dg33
1237 wdsq(i)=wsq(i)*(-ffi/wbff(i)-wdgmc(i)/wgmc(i))+dg33
1239 wdsqrq(i)=wsaa(i)*wdsq(i)/wsq(i)
1242 d12i=((wba(i)-wbb(i))*wbg22(i)*wbg33(i)/(wbr0*wsq(i))**2+
1243 , wbb(i)*wbd12(i)/wbg33(i))*wsaa(i)
1244 dd12=(d12i-d12j)*s-dd12
1246 wdsjp(i)=wdba(i)+dd12
1250 bj=bj+(bjj+bji)*wscj1(j)
1252 gmji=ffi*bj/(wbf(i)*wsaa(i))
1253 wgmjex=wgmjex+gmjj*wscj3(j)+gmji*wsci3(j)
1257 wgmjex=4.*wgmjex*wbbs0/wbj0**2
1259 END subroutine eqppab
subroutine, public dealloc_emeq_equil
subroutine, public alloc_emeq_equil(NP_in)
subroutine, public e3astr
replacement for the EMEQ common block