2435 INTEGER IS ,ID ,I ,J , &
2436 ISHGH ,IDLOW ,ISP ,ISP1 ,IDP ,IDP1 , &
2437 ISM ,ISM1 ,IDHGH ,IDM ,IDM1 ,ISCLW , &
2438 ISCHG ,IDDLOW ,IDDTOP
2440 REAL X ,X2 ,CONS ,FACTOR ,SNLCS1 ,SNLCS2 ,SNLCS3, &
2441 E00 ,EP1 ,EM1 ,EP2 ,EM2 ,SA1A ,SA1B , &
2442 SA2A ,SA2B ,KMESPC ,FACHFR ,AWG1 ,AWG2 ,AWG3 , &
2443 AWG4 ,AWG5 ,AWG6 ,AWG7 ,AWG8 ,DAL1 ,DAL2 , &
2444 DAL3 ,SNLC1 ,SWG1 ,SWG2 ,SWG3 ,SWG4 ,SWG5 , &
2445 SWG6 ,SWG7 ,SWG8 ,JACOBI ,SIGPI
2447 REAL AC2(MDC,MSC,0:MT) , &
2449 UE(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2450 SA1(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2451 SA2(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2452 DA1C(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2453 DA1P(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2454 DA1M(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2455 DA2C(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2456 DA2P(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2457 DA2M(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2458 SFNL(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2459 DSNL(MSC4MI:MSC4MA , MDC4MI:MDC4MA ) , &
2462 PLNL4S(MDC,MSC,NPTST) , &
2463 PLNL4D(MDC,MSC,NPTST) , &
2467 INTEGER IDCMIN(MSC),IDCMAX(MSC),WWINT(*)
2534 x = max( 0.75 * dep2(
kcgrd(1)) * kmespc , 0.5 )
2535 x2 = max( -1.e15, snlcs3*x)
2536 cons = snlc1 * ( 1. + snlcs1/x * (1.-snlcs2*x) * exp(x2))
2543 IF(iddlow == 1 .AND. iddtop ==
mdc)
THEN 2552 iiid = max( idm1 , idp1 )
2560 DO iddum = idlow - iiid, idhgh + iiid
2570 DO is =
msc+1, ishgh
2571 DO id = idlow - iiid , idhgh + iiid
2572 ue(is,id) = ue(is-1,id) * fachfr
2579 DO is = isclw, ischg
2580 DO id = idclow, idchgh
2582 ep1 = awg1 * ue(is+isp1,id+idp1) + &
2583 awg2 * ue(is+isp1,id+idp ) + &
2584 awg3 * ue(is+isp ,id+idp1) + &
2585 awg4 * ue(is+isp ,id+idp )
2586 em1 = awg5 * ue(is+ism1,id-idm1) + &
2587 awg6 * ue(is+ism1,id-idm ) + &
2588 awg7 * ue(is+ism ,id-idm1) + &
2589 awg8 * ue(is+ism ,id-idm )
2591 ep2 = awg1 * ue(is+isp1,id-idp1) + &
2592 awg2 * ue(is+isp1,id-idp ) + &
2593 awg3 * ue(is+isp ,id-idp1) + &
2594 awg4 * ue(is+isp ,id-idp )
2595 em2 = awg5 * ue(is+ism1,id+idm1) + &
2596 awg6 * ue(is+ism1,id+idm ) + &
2597 awg7 * ue(is+ism ,id+idm1) + &
2598 awg8 * ue(is+ism ,id+idm )
2603 factor = cons *
af11(is) * e00
2605 sa1a = e00 * ( ep1*dal1 + em1*dal2 ) *
pquad(2)
2606 sa1b = sa1a - ep1*em1*dal3 *
pquad(2)
2607 sa2a = e00 * ( ep2*dal1 + em2*dal2 ) *
pquad(2)
2608 sa2b = sa2a - ep2*em2*dal3 *
pquad(2)
2610 sa1(is,id) = factor * sa1b
2611 sa2(is,id) = factor * sa2b
2624 da1c(is,id) = cons *
af11(is) * ( sa1a + sa1b )
2625 da1p(is,id) = factor * ( dal1*e00 - dal3*em1 ) *
pquad(2)
2626 da1m(is,id) = factor * ( dal2*e00 - dal3*ep1 ) *
pquad(2)
2628 da2c(is,id) = cons *
af11(is) * ( sa2a + sa2b )
2629 da2p(is,id) = factor * ( dal1*e00 - dal3*em2 ) *
pquad(2)
2630 da2m(is,id) = factor * ( dal2*e00 - dal3*ep2 ) *
pquad(2)
2638 DO id = 1, idhgh -
mdc 2640 DO is = isclw, ischg
2641 sa1(is,
mdc+id) = sa1(is, id )
2642 sa2(is,
mdc+id) = sa2(is, id )
2643 da1c(is,
mdc+id) = da1c(is, id )
2644 da1p(is,
mdc+id) = da1p(is, id )
2645 da1m(is,
mdc+id) = da1m(is, id )
2646 da2c(is,
mdc+id) = da2c(is, id )
2647 da2p(is,
mdc+id) = da2p(is, id )
2648 da2m(is,
mdc+id) = da2m(is, id )
2650 sa1(is, id0 ) = sa1(is,
mdc+id0)
2651 sa2(is, id0 ) = sa2(is,
mdc+id0)
2652 da1c(is, id0 ) = da1c(is,
mdc+id0)
2653 da1p(is, id0 ) = da1p(is,
mdc+id0)
2654 da1m(is, id0 ) = da1m(is,
mdc+id0)
2655 da2c(is, id0 ) = da2c(is,
mdc+id0)
2656 da2p(is, id0 ) = da2p(is,
mdc+id0)
2657 da2m(is, id0 ) = da2m(is,
mdc+id0)
2665 pi3 = (2. *
pi_w)**3
2667 sigpi =
spcsig(i) * jacobi
2668 DO j = idcmin(i), idcmax(i)
2670 sfnl(i,id) = - 2. * ( sa1(i,j) + sa2(i,j) ) &
2671 + awg1 * ( sa1(i-isp1,j-idp1) + sa2(i-isp1,j+idp1) ) &
2672 + awg2 * ( sa1(i-isp1,j-idp ) + sa2(i-isp1,j+idp ) ) &
2673 + awg3 * ( sa1(i-isp ,j-idp1) + sa2(i-isp ,j+idp1) ) &
2674 + awg4 * ( sa1(i-isp ,j-idp ) + sa2(i-isp ,j+idp ) ) &
2675 + awg5 * ( sa1(i-ism1,j+idm1) + sa2(i-ism1,j-idm1) ) &
2676 + awg6 * ( sa1(i-ism1,j+idm ) + sa2(i-ism1,j-idm ) ) &
2677 + awg7 * ( sa1(i-ism ,j+idm1) + sa2(i-ism ,j-idm1) ) &
2678 + awg8 * ( sa1(i-ism ,j+idm ) + sa2(i-ism ,j-idm ) )
2680 dsnl(i,id) = - 2. * ( da1c(i,j) + da2c(i,j) ) &
2681 + swg1 * ( da1p(i-isp1,j-idp1) + da2p(i-isp1,j+idp1) ) &
2682 + swg2 * ( da1p(i-isp1,j-idp ) + da2p(i-isp1,j+idp ) ) &
2683 + swg3 * ( da1p(i-isp ,j-idp1) + da2p(i-isp ,j+idp1) ) &
2684 + swg4 * ( da1p(i-isp ,j-idp ) + da2p(i-isp ,j+idp ) ) &
2685 + swg5 * ( da1m(i-ism1,j+idm1) + da2m(i-ism1,j-idm1) ) &
2686 + swg6 * ( da1m(i-ism1,j+idm ) + da2m(i-ism1,j-idm ) ) &
2687 + swg7 * ( da1m(i-ism ,j+idm1) + da2m(i-ism ,j-idm1) ) &
2688 + swg8 * ( da1m(i-ism ,j+idm ) + da2m(i-ism ,j-idm ) )
2693 plnl4s(id,i,
iptst) = sfnl(i,id) / sigpi
2694 plnl4d(id,i,
iptst) = -1. * dsnl(i,id) / pi3
2697 imatra(id,i) = imatra(id,i) + sfnl(i,id) / sigpi
2698 imatda(id,i) = imatda(id,i) - dsnl(i,id) / pi3
real, dimension(:), allocatable, save spcsig
real, dimension(:), allocatable, save, public af11
real, dimension(:,:,:), allocatable ac2
real, dimension(mquad) pquad
integer, dimension(micmax) kcgrd