30
31
32
33#include "implicit_f.inc"
34
35
36
37#include "com01_c.inc"
38#include "task_c.inc"
39#include "param_c.inc"
40
41
42
43 INTEGER IAD,NN,IADV,NVAR,
44 . IPARG(NPARG,*),ITHBUF(*)
46 . bufel(*),wa(*)
47
48
49
50 INTEGER II, I, N, IH, NG, ITY, MTE, NB1, NB2, NB3,
51 . NB4, NB5, , NB10, NB11, NB12, NB13, K, M1, M2, M3, M4, M5,
52 . M6, N1, N2, N3, N4, N5, NB7, NB8, M11, M10, NB9,IP,L,
53 . NB2A, NB2B, NB4A, NB4B, NB9A, NB9B, M8,NB14, NB15, NB16, NB17,
54 . NB10A, NB10B, NB12A, NB12B, NB18,NB8A, NB8B, OFFSET1,OFFSET2,
55 . LWA,NEL,NFT
57 . wwa(100),xfn
58 ii=0
59 ih=iad
60
62 DO i = 1, lwa
63 wa(i) = zero
64 ENDDO
65
66 DO WHILE((ithbuf(ih+nn)/=ispmd).AND.(ih<iad+nn))
67 ih = ih + 1
68 ENDDO
69 IF (ih>=iad+nn) RETURN
70
71 DO ng=1,ngroup
72 ity=iparg(5,ng)
73 IF(ity==50) THEN
74 mte=iparg(1,ng)
75 nel=iparg(2,ng)
76 nft=iparg(3,ng)
77 nb1=iparg(4,ng)
78 nb2=nb1+nel*11
79 nb3=nb2+nel*12
80 nb4=nb3+nel
81 nb5=nb4+nel*13
82 nb6=nb5+nel*3
83
84 DO i=1,nel
85 n=i+nft
86 k=ithbuf(ih)
87 ip=ithbuf(ih+nn)
88
89 IF (k==n)THEN
90 ih=ih+1
91
92
93
94 ii = ((ih-1) - iad)*
nvar
95 DO WHILE((ithbuf(ih+nn)/=ispmd).AND.(ih<iad+nn))
96 ih = ih + 1
97 ENDDO
98
99 IF(ih>iad+nn) RETURN
100
101
102 m1=nb2+3*i-3
103 m2=nb5+3*i-3
104 m3=nb6+3*i-3
105 xfn=bufel(m1)*bufel(m2)+bufel(m1+1)*bufel(m2+1)
106 . +bufel(m1+2)*bufel(m2+2)
107 wwa(1)=bufel(nb1+i)
108 wwa(2)=bufel(nb3+i)
109 wwa(3)=bufel(nb4+i)
110 wwa(4)=xfn*bufel(m1)
111 wwa(5)=xfn*bufel(m1+1)
112 wwa(6)=xfn*bufel(m1+2)
113 wwa(7)=bufel(m2) -xfn*bufel(m1)
114 wwa(8)=bufel(m2+1)-xfn*bufel(m1+1)
115 wwa(9)=bufel(m2+2)-xfn*bufel(m1+2)
116 wwa(10)=bufel(m3)
117 wwa(11)=bufel(m3+1)
118 wwa(12)=bufel(m3+2)
119 DO k=1,12
120 ii=ii+1
121 wa(ii)=wwa(k)
122 ENDDO
123
124 ENDIF
125 ENDDO
126 ENDIF
127 ENDDO
128
129 RETURN
integer function nvar(text)