74
75
76
78 USE intbufdef_mod
80
81
82
83#include "implicit_f.inc"
84
85
86
87#if defined(MUMPS5)
88#include "dmumps_struc.h"
89#endif
90#include "com01_c.inc"
91#include "com04_c.inc"
92#include "com08_c.inc"
93#include "impl1_c.inc"
94#include "impl2_c.inc"
95#include "units_c.inc"
96#include "task_c.inc"
97
98
99
100
101 INTEGER NDDL ,NNZ ,IADK(*),JDIK(*),IADM(*),JDIM(*),ITASK0,
102 . NDDLI ,IADI(*),JDII(*),ITOK(*),ICPREC,INLOC(*),
103 . NDOF(*),IDDL(*),IKC(*),IDIV ,INPRINT,ISTOP,
104 . IT,ITC,NDDL0,ITAB(*),FR_ELEM(*),IAD_ELEM(*),W_DDL(*)
105 INTEGER NE_IMP(*), ,NSL,,ISIGN,IMP1,
106 . IPARI(*) ,NUM_IMP(*),NS_IMP(*), IPIV_K(*), NK
107 INTEGER NMONV,IMONV(*),MONVOL(*),FR_MV(*),
108 . (*),IND_IMP(*),IRBE3(*) ,LRBE3(*),NDIV ,ICONT0,
109 . IRBE2(*),LRBE2(*)
110 INTEGER NEWFRONT(*),NBINTC,INTLIST(*),ISENDTO(*),IRECVFROM(*),
111 . NODFT ,NODLT,IDIV0
112
114 . diag_k(*),lt_k(*),f(*),r02,diag_m(*),lt_m(*),
115 . diag_i(*),lt_i(*),d(3,*),dr(3,*),dd(3,*),ddr(3,*),
116 . ru0,rold,e02 ,eimp,lstol,de0,ls(*),u02,gap,rbid
118 . a(3,*),ar(3,*),v(3,*),x(3,*),ms(*),fac_k(*),
119 . volmon(*),skew(*),xframe(*),fext(*),dg(3,*),dgr(3,*),
120 . dg0(3,*),dgr0(3,*),ls1(*) ,rfext, relres(*)
121
122 TYPE(PRGRAPH) :: GRAPHE(*)
123 INTEGER CDDLP(*)
124 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
125 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
126
127#ifdef MUMPS5
128 TYPE(DMUMPS_STRUC) MUMPS_PAR
129#else
130
131 INTEGER MUMPS_PAR
132#endif
133
134 character*1 anew_stif
135#ifdef MUMPS5
136
137
138
139
140 INTEGER I ,J ,ND,IP,ITMP,ICOV,ICALU,IER,ISETK0,,
141 . F_DDL ,L_DDL
142
144 . r2,u2,du2,tol,rr,ru,temp,fr,re,de,r1,nl_tol,r01,rr1,
145 . gapn,lamda,fa,uc2,um1,um2,pmax
146
147
148
149
150
151
152 fr = 0
153
154
155
156
157
158
159 tol =l_tol
160 nl_tol=n_tol
161
162 lstol=ls_tol
163 ip=iabs(inprint)
164 de=0
165 nd=3*numnod
166 ru=ru0
167 isetk0=isetk+icont
168 IF (nitol==3.OR.nitol==13.OR.nitol==23
169 . .OR.nitol==123) THEN
170 icalu=1
171 ELSE
172 icalu=0
173 ENDIF
174 iriks=0
175 IF (ncycle>1.AND.idtc==3) THEN
176 IF (ilast==0) iriks=1
177 ENDIF
178
179
180
181 isetk=0
182 IF (icont>0) gapn=gap*zep9
183 IF (imconv>=0) icont0=icont
184
185 IF (it==0) THEN
186 r01=sqrt(r02)
187
188
189 re=one
190
191 IF (r01*nl_tol<=em12.AND.nl_tol>em10.AND.idiv/=10) THEN
192 IF (irefi/=5.OR.icont==0) THEN
193 IF(inprint/=0)THEN
194 WRITE(iout,*)
195
196 WRITE(iout,1108)it,anew_stif,re,r01,re
197 WRITE(iout,*)
198 IF(inprint<0)THEN
199 WRITE(istdo,*)
200
201 WRITE(istdo,1108)it,anew_stif,re,r01,re
202 WRITE(istdo,*)
203 ENDIF
204 ENDIF
205 relres(1) = re
206 relres(2) = r01
207 relres(3) = re
208 idiv = -2
209 isetk=1
210 RETURN
211 ELSE
214 ENDIF
215 ENDIF
216 IF (insolv==4) icov = imconv
217 imconv=0
218 rr=rold
219 ndiv=0
220
221 IF (insolv==2.OR.insolv==3)
CALL bfgs_0
222
223 IF (ncycle==1) isign = 1
224 IF (iriks>0) THEN
225 CALL lin_solv(nddl ,iddl ,ndof ,ikc ,dg ,
226 1 dgr ,tol ,nnz ,iadk ,jdik ,
227 2 diag_k,lt_k ,nddli ,iadi ,jdii ,
228 3 diag_i,lt_i ,itok ,iadm ,jdim ,
229 4 diag_m,lt_m ,fext ,de ,inloc ,
230 5 fr_elem,iad_elem,w_ddl,itask0,icprec,
231 6 istop ,a ,ar ,v ,
232 7 ms ,x ,ipari ,intbuf_tab ,
233 8 num_imp,ns_imp,ne_imp,nsrem ,nsl ,
234 9 itc ,graphe, itab, fac_k, ipiv_k,
235 a nk ,nmonv,imonv ,monvol,igrsurf,
236 b fr_mv ,volmon,ibfv ,skew ,
237 c xframe ,mumps_par,cddlp,ind_imp,rbid,
238 e irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
239
240
241 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
242 . dg ,dgr ,u2 ,w_ddl )
243
244
245 IF (idiv/=-2) THEN
247 IF (iroddl/=0)
CALL cp_real(nd,ddr,dgr0)
248 ELSE
249 dla_riks = isign*dt2
250 ENDIF
251
253 . dg ,dgr ,dg0 ,dgr0 ,uc2 ,
254 . w_ddl )
255
256
257
258
259 CALL get_max(numnod,dg0,temp,i)
260 um1=temp
261 CALL get_max(numnod,dgr0,temp,i)
262 um1=
max(um1,temp,em20)
264 um2=temp
265 CALL get_max(numnod,dgr,temp,i)
266 um2=
max(um2,temp,em20)
267 uc2=uc2/um1/um2
268
269 IF ((uc2+dla_riks/rfext)<zero) THEN
270 isign = -1
271 ELSE
272 isign = 1
273 ENDIF
274
275 IF (impdeb>0) THEN
276 IF (ncycle>=ndeb0.AND.ncycle<=ndeb1)
277 . WRITE(iout,1025)uc2,dla_riks,isign
278 ENDIF
279 IF (isign<0) THEN
280 dla_riks = 2*isign*dt2
281 ELSE
282 dla_riks = zero
283 ENDIF
284
285
286
287
288
289
290 lamda = isign*dt2
291 IF (idiv/=-2.AND.icont==0)THEN
293 . dd ,ddr ,f ,de ,w_ddl )
295 ELSE
296 CALL frac_dd_hp(iddl,ndof,ikc,d,dr,dg,dgr,lamda)
298 . d ,dr ,f ,de ,w_ddl )
299 ENDIF
300 ELSE
301
302 IF ((n_lim /= 1.OR.isprb /= 0).AND.
303 . (ncycle>1.AND.idiv/=-2.AND.icont==0.AND.ikt==0
304 . .OR.(ncycle==1.AND.idiv==10)))THEN
305 IF (idtc==3.AND.ilast==1) THEN
306 lamda = dla_riks
307 dla_riks = zero
308 CALL frac_d_hp(iddl,ndof,ikc,dd,ddr,lamda)
309 ENDIF
311 . dd ,ddr ,f ,de ,w_ddl )
312 ELSE
313 IF (insolv==4.AND.icov>=0) imconv=-1
314
315 CALL lin_solv(nddl ,iddl ,ndof ,ikc ,dd ,
316 1 ddr ,tol ,nnz ,iadk ,jdik ,
317 2 diag_k,lt_k ,nddli ,iadi ,jdii ,
318 3 diag_i,lt_i ,itok ,iadm ,jdim ,
319 4 diag_m,lt_m ,f ,de ,inloc ,
320 5 fr_elem,iad_elem,w_ddl,itask0,icprec,
321 6 istop ,a ,ar ,v ,
322 7 ms ,x ,ipari ,intbuf_tab ,
323 8 num_imp,ns_imp,ne_imp,nsrem ,nsl ,
324 9 itc ,graphe, itab, fac_k, ipiv_k,
325 a nk ,nmonv,imonv ,monvol,igrsurf,
326 b fr_mv ,volmon,ibfv ,skew ,
327 c xframe ,mumps_par,cddlp,ind_imp,rbid,
328 e irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
329 IF (de<zero.AND.irefi>1.AND.irefi<5) imconv=-2
330 IF (icont>0.AND.idsgap>0) THEN
332
333
334
335 IF (pmax>gapn) THEN
336 temp=gapn/pmax
337 CALL frac_d_hp(iddl,ndof,ikc,dd,ddr,temp)
338 de = de * temp
339 ENDIF
340 ENDIF
341 ENDIF
342
344 ENDIF
345
346
347
348
349 IF (imconv>=0) THEN
350 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
351 . d ,dr ,u2 ,w_ddl )
352 eimp=eimp+de
353 IF (de>ep10.AND.iline==0.AND.idyna==0
354 . .AND.ncycle==1) THEN
355 IF(ispmd==0)THEN
356 WRITE(iout,1030)eimp
357 WRITE(istdo,1030)eimp
358 ENDIF
360 ENDIF
361
362 u02=u2
363 IF(inprint/=0)THEN
364 ru=sqrt(u2)
365
366
367 WRITE(iout,1102)
368 WRITE(iout,1003)it,anew_stif,ru,r01,eimp
369 IF(inprint<0)THEN
370
371
372 WRITE(istdo,1102)
373 WRITE(istdo,1003)it,anew_stif,ru,r01,eimp
374 ENDIF
375 ENDIF
376
377 relres(1) = ru
378 relres(2) = r01
379 relres(3) = eimp
380 ELSE
381 WRITE(iout,*)
382 WRITE(iout,1013) de
383 IF(inprint<0)THEN
384 WRITE(istdo,*)
385 WRITE(istdo,1013)de
386 ENDIF
387
388 ENDIF
389
390
391 ELSE
392
393 IF (iriks>0.AND.dla_riks/=zero) THEN
394 CALL vaxpy_hp(nddl, f ,fext,dla_riks)
395 ENDIF
397
398
399
400 IF (r2>=zero.AND.r2<ep30) THEN
401 rr=sqrt(r2/r02)
402 IF (it==1.AND.isprb==1.AND.idiv/=-2) THEN
403 rr1=sqrt(r2/rold)
404
405 IF (icont>0.AND.rr<one) rr1=rr
406 ELSE
407 rr1=rr
408 ENDIF
409 re=de0/eimp
410 IF (it==1) THEN
411 ru=one
412 ELSEIF (icalu>0) THEN
413 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
414 . d ,dr ,u2 ,w_ddl )
415 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
416 . dd ,ddr ,du2 ,w_ddl )
417
418
419
420 ru=ls(3)*sqrt(du2/u2)
421 IF (insolv==5) ru=sqrt(du2/u2)
422 ENDIF
423 CALL crit_ite(it,ru,rr1,re,ndiv,nl_tol)
424 ELSE
425 imconv =-2
426 rr1 =ep30
427 ENDIF
428
429
430
431 IF (imconv==-3) THEN
432 IF (ncycle==1.OR.idiv==-2) imconv=-2
433 r02=r2
434 ENDIF
435
436
437
438 IF (imconv==0) THEN
439 idiv=0
440
441 IF (iline_s/=1) THEN
442 ls(1)=one
443 ls(2)=zero
444 ENDIF
445 ls(3)=one
446 IF (ndiver>0) r02=r2
447 ENDIF
448 IF(imconv==1) THEN
449 istop=0
450 idiv=0
451
452 IF (it>1.AND.icalu==0) THEN
453 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
454 . d ,dr ,u2 ,w_ddl )
455 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
456 . dd ,ddr ,du2 ,w_ddl )
457
458
459
460 ru=ls(3)*sqrt(du2/u2)
461 u02=u2
462 ELSEIF (idtc>=2) THEN
463 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
464 . d ,dr ,u02 ,w_ddl )
465
466
467
468 ENDIF
469
470 IF(inprint/=0)THEN
471
472
473 WRITE(iout,1108)it,anew_stif,ru,rr,re
474 WRITE(iout,*)
475 IF(inprint<0)THEN
476
477
478 WRITE(istdo,1108)it,anew_stif,ru,rr,re
479 WRITE(istdo,*)
480 ENDIF
481 ENDIF
482 relres(1) = ru
483 relres(2) = rr
484 relres(3) = re
485 ELSEIF(imconv<=-2) THEN
486
487
488 IF(inprint/=0)THEN
489 WRITE(iout,*)
490 IF (rr1>one) THEN
491 WRITE(iout,1011)rr1
492 ELSEIF(it>nl_dtn) THEN
493 WRITE(iout,1010)
494 ELSEIF(idtc==3) THEN
495 WRITE(iout,1020)
496 ENDIF
497 WRITE(iout,*)
498 IF(inprint<0)THEN
499 WRITE(istdo,*)
500 IF (rr1>one) THEN
501 WRITE(istdo,1011)rr1
502 ELSEIF(it>nl_dtn) THEN
503 WRITE(istdo,1010)
504 ELSEIF(idtc==3) THEN
505 WRITE(istdo,1020)
506 ENDIF
507 WRITE(istdo,*)
508 ENDIF
509 IF(imconv==-2) THEN
510 WRITE(iout,1012)
511 IF(inprint<0)WRITE(istdo,1012)
512 ENDIF
513 ENDIF
514 relres(1) = ru
515 relres(2) = rr1
516 relres(3) = re
517 ELSE
518
519
520 IF (iline_s>0.AND.isign>=0.AND.irwall==0) THEN
521 fr=ls(3)
522 IF (nitol/=2.AND.nitol/=4.OR.iline_s==1) THEN
523
524 IF (ls1(3)/=zero ) THEN
525 de = ls1(3)
526 ELSE
528 . dd ,ddr ,f ,de ,w_ddl )
529 END IF
530
531
532
533 r1=de/de0
534 IF (iline_s==3) THEN
535 r1=abs(de/de0)
536 IF (rr>one) r1=one
537 IF (rr>one.AND.irefi>=2) r1=ls(1)
538 temp=ep02
539 ENDIF
540 ELSE
541 r1=rr/rold
542 temp=ep03
543 ENDIF
544 icov = imconv
545
546
547
548 IF (iline_s==3) THEN
549 CALL line_s(ls(1),ls(2),r1,fr,lstol,idiv,icont,temp)
550 ELSEIF (iline_s==1) THEN
551 CALL line_s1(r1,fr,ls(1),ls(2),ls1(1),ls1(2),idiv,lstol,
552 . icont,icont0,iriks)
553 ELSEIF (iline_s==2) THEN
554 CALL line_s(ls(1),ls(2),r1,fr,lstol,idiv,icont,temp)
555 ENDIF
556 IF (impdeb>0.AND.ispmd==0) THEN
557 IF (ncycle>=ndeb0.AND.ncycle<=ndeb1) then
558 WRITE(iout,*)'R1,FR,IDIV=',r1,fr,idiv
559
560 end if
561 ENDIF
562
563
564
565
566
567
568 IF ((insolv==2.OR.insolv==3).AND.fr>one.AND.ikt==0)
570 ENDIF
571
572
573
574 IF (imconv==0) THEN
575
576 IF (it>1) THEN
577
578 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
579 . d ,dr ,u2 ,w_ddl )
580 CALL produt_uhp(nddl0 ,nddl ,iddl ,ndof ,ikc ,
581 . dd ,ddr ,du2 ,w_ddl )
582
583
584
585 ru=ls(3)*sqrt(du2/u2)
586 ENDIF
587
588
589
590 IF (insolv==2.OR.insolv==3)
CALL bfgs_ls(ls(3))
591 IF (rr>=rold) THEN
592 ndiv = ndiv +1
593 ELSE
594 ndiv = 0
595 ENDIF
596 IF (inprint/=0)THEN
597 IF(mod(it,ip)==0)THEN
598
599 WRITE(iout,1003)it,anew_stif,ru,rr,re
600 IF(inprint<0)THEN
601
602 WRITE(istdo,1003)it,anew_stif,ru,rr,re
603 ENDIF
604 ENDIF
605 ENDIF
606 relres(1) = ru
607 relres(2) = rr
608 relres(3) = re
609 IF(itc>=n_lim.AND.ismdisp==0) THEN
610
611
612
613
614
615
616
617
618 itc=0
619 ENDIF
620
621
622
623
624
625 IF (iriks>0) THEN
626 IF (isetk0==1) THEN
627 CALL lin_solv(nddl ,iddl ,ndof ,ikc ,dg ,
628 1 dgr ,tol ,nnz ,iadk ,jdik ,
629 2 diag_k,lt_k ,nddli ,iadi ,jdii ,
630 3 diag_i,lt_i ,itok ,iadm ,jdim ,
631 4 diag_m,lt_m ,fext ,de ,inloc ,
632 5 fr_elem,iad_elem,w_ddl,itask0,icprec,
633 6 istop ,a ,ar ,v ,
634 7 ms ,x ,ipari ,intbuf_tab ,
635 8 num_imp,ns_imp,ne_imp,nsrem ,nsl ,
636 9 itc ,graphe, itab, fac_k, ipiv_k,
637 a nk ,nmonv,imonv ,monvol,igrsurf,
638 b fr_mv ,volmon,ibfv ,skew ,
639 c xframe ,mumps_par,cddlp,ind_imp,rbid,
640 e irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
641 icprec = 0
642 idsc = 0
643 END IF
645 . dg ,dgr ,f ,um1 ,w_ddl )
646 END IF
647
648 CALL lin_solv(nddl ,iddl ,ndof ,ikc ,dd ,
649 1 ddr ,tol ,nnz ,iadk ,jdik ,
650 2 diag_k,lt_k ,nddli ,iadi ,jdii ,
651 3 diag_i,lt_i ,itok ,iadm ,jdim ,
652 4 diag_m,lt_m ,f ,de ,inloc ,
653 5 fr_elem,iad_elem,w_ddl,itask0,icprec,
654 6 istop ,a ,ar ,v ,
655 7 ms ,x ,ipari ,intbuf_tab ,
656 8 num_imp,ns_imp,ne_imp,nsrem ,nsl ,
657 9 itc ,graphe, itab, fac_k, ipiv_k,
658 a nk ,nmonv,imonv ,monvol,igrsurf,
659 b fr_mv ,volmon,ibfv ,skew ,
660 c xframe ,mumps_par,cddlp,ind_imp,rbid,
661 d irbe3 ,lrbe3 ,irbe2 ,lrbe2 )
662 IF (icont>0.AND.idsgap>0) THEN
664
665
666
667 IF (pmax>gapn) THEN
668 temp=gapn/pmax
669 CALL frac_d_hp(iddl,ndof,ikc,dd,ddr,temp)
670 de = de * temp
671 ENDIF
672 ENDIF
673
674
675
676
677 IF (iriks>0) THEN
678 lamda = dla_riks
679 IF (ial_m==1) THEN
681 . dd ,ddr ,dg ,dgr ,d ,
682 . dr ,w_ddl ,alen ,lamda ,scal_riks,
683 . ier )
684
685
686
687 IF (ier==1) THEN
688 imconv=-2
689 IF(inprint/=0)THEN
690 WRITE(iout,*)
691 WRITE(iout,1020)
692 WRITE(iout,*)
693 IF(inprint<0)THEN
694 WRITE(istdo,*)
695 WRITE(istdo,1020)
696 WRITE(istdo,*)
697 ENDIF
698 ENDIF
699 END IF
700 ELSEIF (ial_m==2) THEN
702 . dd ,ddr ,dg ,dgr ,d ,
703 . dr ,w_ddl ,alen ,lamda ,scal_riks)
704
705
706
707 END IF
708 IF (imconv>=0) THEN
709 CALL frac_dd_hp(iddl,ndof,ikc,d ,dr ,dg,dgr,lamda)
710
711 dla_riks = dla_riks + lamda
712 eimp=eimp+dla_riks*um1
713
714
715
716
717 ENDIF
718 END IF
719
721 eimp=eimp+de
722
723
724 ELSEIF(imconv==-1) THEN
725
726 temp=-ls(3)+fr
727 CALL frac_dd_hp(iddl,ndof,ikc,d,dr,dd,ddr,temp)
728
729
730
731 ls(3) = fr
732 END IF
733
734 END IF
735
736 ENDIF
737 IF (imconv>=0) THEN
738 ru0=ru
739 de0=de
740 IF (abs(de0)<em20) de0=em20
742 ENDIF
743
744 IF (ismdisp>0) THEN
745 IF (itc>=n_lim.AND.imconv>=0) THEN
746 itc = 0
747 isetk=1
748 END IF
749 IF (itc==0.AND.imconv>=0) THEN
750 IF (ncycle==1.OR.n_lim==1) isetk=1
751 IF (isolv==5.OR.isolv==6) isetk=1
752 END IF
753 IF (irwall >0 .AND.imconv == 1) isetk=1
754 IF ((itc==0.OR.imconv==1).AND.ikt>0) isetk=1
755 ELSE
756
757 IF (itc==0.OR.imconv==1) isetk=1
758 END IF
759 IF ((idtc==3.OR.ikt>0).AND.imconv<=-2) isetk=1
760
761 IF (imconv<=-2.AND.rr1>ep20.AND.idiv0>=0) isetk=1
762 IF ((istop==1.OR.istop==2).AND.(isolv==5.OR.isolv==6))THEN
763 istop = 0
764 isetk = 1
765 imconv=-2
766 ENDIF
767 IF (imconv<=-2.AND.isprb>0.AND.rr1>ep04) isetk=1
768
769 IF(imconv<= -2.AND.n_lim == 1 .AND. isprb == 0) isetk = 1
770
771
772
773
774
775
776 1102 FORMAT(3x,78('-')/
777 . 12x,'Stif. Mat.'/
778 . 6x,'Iter',2x, ' reformed ',5x,'|du|/|u|',3x,'|r|/|r0|',3x,'|dE|/|E|',1x,'Conv.stat.'/
779 . 3x,78('-'))
780
781 1003 FORMAT(5x,i5,6x,a1,5x,3(1x,1pe10.3))
782 1005 FORMAT(3x,'TOLERANCE FOR LINEAR ITERATIVE SOLVER :',2x,e11.4)
783 1006 FORMAT(3x,'--STIFFNESS MATRIX IS RESET AFTER ',i4,
784 . ' ITERATIONS--')
785 1007 FORMAT(3x,'--ITERATION DIVERGE with R=',e11.4,2x,
786 . 'STIFFNESS MATRIX WILL BE RESET')
787
788
789 1108 FORMAT(5x,i5,6x,a1,5x,3(1x,1pe10.3),5x, 'C')
790 1009 FORMAT(3x,'--ITERATION DIVERGE with RELATIVE R=',e11.4/,
791 . 3x,'RESET ITERATION WITH STABILIZATION BY SCALING= ',e11.4)
792 1010 FORMAT(3x,'--ITERATION DIVERGE with MAX_ITER REACHED--')
793 1011 FORMAT(3x,'ITERATION DIVERGE with RELATIVE R=',e11.4)
794 1012 FORMAT(3x,'--RESET ITERATION WITH NEW TIMESTEP--')
795 1013 FORMAT(3x,'ITERATION DIVERGE with NEGATIVE ENERGY DE=',e11.4)
796 1020 FORMAT(3x,'--ITERATION DIVERGE with RIKS Method--')
797 1025 FORMAT(3x,'UC2,DLA_RIKS,ISIGN=',2e11.4,i4)
798 1030 FORMAT(3x,'CHECK CONSTRAINT CONDITIONS, TOO LARGE ENERGY VALUE=',
799 . 2x,e11.4)
800 RETURN
801#endif
subroutine imp_stop(istop)
subroutine frac_d_hp(iddl, ndof, ikc, d, dr, fac)
subroutine lin_solv(nddl, iddl, ndof, ikc, d, dr, tol, nnz, iadk, jdik, diag_k, lt_k, nddli, iadi, jdii, diag_i, lt_i, itok, iadm, jdim, diag_m, lt_m, f, f_u, inloc, fr_elem, iad_elem, w_ddl, itask, icprec, istop, a, ar, ve, ms, xe, ipari, intbuf_tab, num_imp, ns_imp, ne_imp, nsrem, nsl, it, graphe, itab, fac_k, ipiv_k, nk, nmonv, imonv, monvol, igrsurf, fr_mv, volmon, ibfv, skew, xframe, mumps_par, cddlp, ind_imp, xi_c, irbe3, lrbe3, irbe2, lrbe2)
subroutine al_constraint2_hp(nddl0, nddl, iddl, ndof, ikc, dd, ddr, dg, dgr, di, dir, w_ddl, l_a, lamda, sw2)
subroutine crit_ite(it, ur, rr, er, ndiv, tol)
subroutine al_constraint1_hp(nddl0, nddl, iddl, ndof, ikc, dd, ddr, dg, dgr, di, dir, w_ddl, l_a, lamda, sw2, ier)
subroutine get_max(n, d, vmax, i)
subroutine line_s1(e1, s, ep, sp, en, sn, idiv, dtol, icont, icont0, iriks)
subroutine line_s(r0, s0, r1, s, dtol, idiv, iint, prec)
subroutine cp_real(n, x, xc)
subroutine produt_hp(nddl, x, y, w, r)
subroutine vaxpy_hp(n, v, y, s)
subroutine produt_vmhp(nddl0, nddl, iddl, ndof, ikc, dd, ddr, y, r, w_imp)