31 3 SIGMX, EPMX, DPLA1, AK,
32 4 QH, SIGY, FISOKIN, NEL)
65#include "implicit_f.inc"
74 my_real :: ,EPMX,CB,CN
75 my_real ,
DIMENSION(NEL) :: EPXE,EPD,,AK,QH,AJ2,CA,SIGMX,DPLA1,SIGY
76 my_real ,
DIMENSION(NEL,6) :: SIG
80 INTEGER :: I, ITER, NITER
81 MY_REAL :: XSI,DXSI,LHS,RHS,ALPHA_RADIAL,BETA,(MVSIZ),HTOT
91 epxe(i) =
max(zero,epxe(i))
92 g3(i) =
max(three*g(i),em15)
98 IF(aj2(i)<ak(i))
GO TO 90
104 ak(i)=ca(i)+beta*cb*epxe(i)**cn
110 qh(i) = (cb*cn*epxe(i)**(cn - one))*epd(i)
114 qh(i) = (cb*cn/epxe(i)**(one -cn))*epd(i)
117 ELSEIF(epxe(i)==zero)
THEN
135 htot = g3(i) + fisokin*qh(i)
136 rhs = aj2(i) -htot * xsi - ak(i)
141 epxe(i) = epxe(i) + dxsi
142 epxe(i) =
max(zero,epxe(i))
143 IF( abs(dxsi)<em10.AND.
144 $ abs(rhs )<em10)
GO TO 90
150 IF(xsi<zero) xsi = zero
157 IF(sigmx(i)<ak(i))
THEN
170 alpha_radial=
min(one,ak(i)/
max(aj2(i),em15))
171 sig(i,1)=alpha_radial*sig(i,1)
172 sig(i,2)=alpha_radial*sig(i,2)
173 sig(i,3)=alpha_radial*sig(i,3)
174 sig(i,4)=alpha_radial*sig(i,4)
175 sig(i,5)=alpha_radial*sig(i,5)
176 sig(i,6)=alpha_radial*sig(i,6)
subroutine m2iter_imp(sig, epxe, aj2, g, ca, cb, cn, epd, sigmx, epmx, dpla1, ak, qh, sigy, fisokin, nel)