38
39
40
42
43
44
45#include "implicit_f.inc"
46
47
48
49#include "lagmult.inc"
50#include "com08_c.inc"
51
52
53
54 INTEGER NC_INI, , IADLL(*), LLL(*), JLL(*)
55
57 . ltsm(6,*),xll(*),ms(*),in(*),v(3,*),vr(3,*),a(3,*),ar(3,*)
58
59
60
61 INTEGER I,J,K,L,IC,,IK
63 . hloc(mxdlen,mxdlen),rloc(mxdlen),s,hij
64
65 IF (ncl>mxdlen) THEN
66 CALL ancmsg(msgid=111,anmode=aninfo,
67 . i1=ncl)
69 ENDIF
70
71 DO k=1,ncl
72 rloc(k) = zero
73 ic = nc_ini + k
74 DO ik=iadll(ic),iadll(ic+1)-1
75 i = lll(ik)
76 j = jll(ik)
77 IF (j>3) THEN
78 ltsm(j,i) = xll(ik)/in(i)
79 ELSE
80 ltsm(j,i) = xll(ik)/ms(i)
81 ENDIF
82 ENDDO
83 DO l = 1,k
85 hij = zero
86 DO ik=iadll(
jc),iadll(
jc+1)-1
87 hij = hij + xll(ik)*ltsm(jll(ik),lll(ik))
88 ENDDO
89 hloc(l,k) = hij
90 ENDDO
91 DO ik=iadll(ic),iadll(ic+1)-1
92 ltsm(jll(ik),lll(ik)) = zero
93 ENDDO
94 ENDDO
95 DO k = 2,ncl
96 DO l = 1,k
97 hloc(k,l) = hloc(l,k)
98 ENDDO
99 ENDDO
100
101 DO k = 1,ncl
102 ic = nc_ini + k
103 DO ik=iadll(ic),iadll(ic+1)-1
104 i = lll(ik)
105 j = jll(ik)
106 IF (j>3) THEN
107 j = j-3
108 rloc(k) = rloc(k) + xll(ik)*(vr(j,i)/dt12+ar(j,i))
109 ELSE
110 rloc(k) = rloc(k) + xll(ik)*(v(j,i)/dt12+a(j,i))
111 ENDIF
112 ENDDO
113 ENDDO
114
115 DO j=1,ncl
116 IF (hloc(j,j)<=zero) THEN
117 CALL ancmsg(msgid=112,anmode=aninfo,
118 . i1=j)
120 ENDIF
121 hloc(j,j) = sqrt(hloc(j,j))
122 DO k=1,j-1
123 DO i=j+1,ncl
124 hloc(i,j) = hloc(i,j) - hloc(i,k)*hloc(j,k)
125 ENDDO
126 ENDDO
127 DO i=j+1,ncl
128 hloc(i,j) = hloc(i,j)/hloc(j,j)
129 hloc(i,i) = hloc(i,i) - hloc(i,j)*hloc(i,j)
130 ENDDO
131 ENDDO
132
133 DO i=1,ncl
134 s = rloc(i)
135 DO j=1,i-1
136 s = s - hloc(i,j)*rloc(j)
137 ENDDO
138 rloc(i) = s / hloc(i,i)
139 ENDDO
140
141 DO i=ncl,1,-1
142 s = rloc(i)
143 DO j=i+1,ncl
144 s = s - hloc(j,i)*rloc(j)
145 ENDDO
146 rloc(i) = s / hloc(i,i)
147 ENDDO
148
149 DO k=1,ncl
150 ic = nc_ini + k
151 DO ik=iadll(ic),iadll(ic+1)-1
152 i = lll(ik)
153 j = jll(ik)
154 IF(j>3) THEN
155 j = j-3
156 ar(j,i) = ar(j,i) - xll(ik)*rloc(k)/in(i)
157 ELSE
158 a(j,i) = a(j,i) - xll(ik)*rloc(k)/ms(i)
159 ENDIF
160 ENDDO
161 ENDDO
162
163 RETURN
subroutine jc(p, t, a, b, cm, cn, tref, tm, epsm, sigmam, jc_yield, tan_jc)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)