30 SUBROUTINE r4mat3(JFT ,JLT ,GEO ,KX ,MGN ,
31 1 AL0 ,FX ,DX ,TF ,NPF ,
36#include "implicit_f.inc"
49 INTEGER JFT ,JLT, MGN(*),NPF(*),IGEO(NPROPGI,*)
51 . geo(npropg,*), kx(*),al0(*),fx(*),dx(*),tf(*),pos(*)
56 INTEGER IECROU(MVSIZ), IFUNC(MVSIZ),IFUNC2(MVSIZ)
73 ileng=nint(geo(93,mgn(i)))
79 IF (ismdisp>0.OR.isprn==1)
THEN
81 iecrou(i)=nint(geo(7,mgn(i)))
84 ifunc(i) =igeo(101,mgn(i))
85 ifunc2(i)=igeo(103,mgn(i))
87 CALL rkenonl(jft ,jlt ,kx ,fx ,dx ,
88 . iecrou ,ifunc ,ifunc2 ,a ,tf ,
106 . IECROU ,IFUNC ,IFUNC2 ,A ,TF ,
111#include "implicit_f.inc"
115#include "mvsiz_p.inc"
116#include "scr05_c.inc"
117#include "impl1_c.inc"
118#include "com01_c.inc"
122 INTEGER JFT,JLT,NPF(*),IECROU(*), IFUNC(*),IFUNC2(*)
124 . FX(*), KX(*), DX(*), TF(*), POS(4,*),A(*)
129 . I, J,JPOS(MVSIZ), JLEN(MVSIZ),JAD(MVSIZ),
130 . JPOS0(MVSIZ),JFUNC,JFUNC2,INDEX(MVSIZ),NC
132 . xx(mvsiz) ,dydx(mvsiz) ,yy(mvsiz),e_seg,e_t,e_min,
133 . x0(mvsiz),f0(mvsiz)
139 . (ismdisp>0.AND.ncycle==1.AND.imconv==1))
THEN
148 CALL es_func(ifunc(i),tf,npf,e_seg)
149 kx(i)= a(i)*
max(em6,abs(e_seg))
153 IF (ifunc(i)>0.AND.iecrou(i)==0.AND.abs(dx(i))>em20)
THEN
164 jfunc=
max(1,ifunc(i))
165 jad(j) = npf(jfunc) / 2 + 1
166 jlen(j) = npf(jfunc+1) / 2 - jad(j) - jpos(j)
173 CALL vinter2dp(tf,jad ,jpos0,jlen ,nc,x0 ,dydx ,f0)
174 CALL vinter2dp(tf,jad ,jpos ,jlen ,nc,xx ,dydx ,yy)
176 CALL vinter2(tf,jad ,jpos0,jlen ,nc,x0 ,dydx ,f0 )
177 CALL vinter2(tf,jad ,jpos ,jlen ,nc,xx ,dydx ,yy )
182 e_seg = abs((fx(i)-f0(j))/xx(j))
185 kx(i)= a(i)*
max(e_min,e_seg,e_t)
200#include "implicit_f.inc"
204 INTEGER NPF(*),IFUNCT
217 npoint=(npf(ifunct+1)-npf(ifunct))/2+1
220 IF (tf(npf(ifunct))<zero) n0 = npoint+1
225 IF (x==zero) y0=tf(npf(ifunct)+j1+1)
234 y=tf(npf(ifunct)+1)-y0
237 y=tf(npf(ifunct)+3)-y0
239 x=tf(npf(ifunct)+2)-x
240 y=tf(npf(ifunct)+3)-y
242 IF (abs(x)>zero) e_s= y/x
244 ELSEIF (n0>=npoint)
THEN
247 y=tf(npf(ifunct)+j1+1)-y0
249 IF (n0==(npoint+1))
THEN
251 x=tf(npf(ifunct)+j1)-x
252 y=tf(npf(ifunct)+j1+1)-y
254 IF (abs(x)>zero) e_s= y/x
258 xn=tf(npf(ifunct)+j1)
259 yn=tf(npf(ifunct)+j1+1)-y0
261 IF (abs(xn)>zero) e1= yn/xn
268 y=tf(npf(ifunct)+j1+1)-y0
270 IF (abs(x)>zero) e2= y/x
274 y=tf(npf(ifunct)+j1+1)-y0
276 IF (abs(x-xn)>zero) e_s= (y-yn)/(x-xn)
subroutine rkenonl(jft, jlt, kx, fx, dx, iecrou, ifunc, ifunc2, a, tf, npf, pos)
subroutine r4mat3(jft, jlt, geo, kx, mgn, al0, fx, dx, tf, npf, pos, igeo)
subroutine vinter2(tf, iad, ipos, ilen, nel0, x, dydx, y)
subroutine vinter2dp(tf, iad, ipos, ilen, nel0, x, dydx, y)