1 ;;; Compiled by f2cl version:
2 ;;; ("f2cl1.l,v 1.221 2010/05/26 19:25:52 rtoy Exp $"
3 ;;; "f2cl2.l,v 1.37 2008/02/22 22:19:33 rtoy Exp $"
4 ;;; "f2cl3.l,v 1.6 2008/02/22 22:19:33 rtoy Exp $"
5 ;;; "f2cl4.l,v 1.7 2008/02/22 22:19:34 rtoy Exp $"
6 ;;; "f2cl5.l,v 1.204 2010/02/23 05:21:30 rtoy Exp $"
7 ;;; "f2cl6.l,v 1.48 2008/08/24 00:56:27 rtoy Exp $"
8 ;;; "macros.l,v 1.114 2010/05/17 01:42:14 rtoy Exp $")
10 ;;; Using Lisp CMU Common Lisp CVS Head 2010-05-25 18:21:07 (20A Unicode)
12 ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
13 ;;; (:coerce-assigns :as-needed) (:array-type ':array)
14 ;;; (:array-slicing t) (:declare-common nil)
15 ;;; (:float-format double-float))
21 (xi xiold z dmz rhs delz deldmz dqz dqdmz g w v valstr slope scale
22 dscale accum ipvtg integs ipvtw nfxpnt fixpnt iflag fsub dfsub gsub
24 (declare (type (f2cl-lib:integer4
) iflag nfxpnt
)
25 (type (array f2cl-lib
:integer4
(*)) ipvtw integs ipvtg
)
26 (type (array double-float
(*)) fixpnt accum dscale scale slope
27 valstr v w g dqdmz dqz deldmz delz
31 :element-type
'double-float
32 :displaced-to
(colest-part-0 *colest-common-block
*)
33 :displaced-index-offset
120))
36 :element-type
'f2cl-lib
:integer4
37 :displaced-to
(colest-part-1 *colest-common-block
*)
38 :displaced-index-offset
40)))
39 (symbol-macrolet ((precis (aref (colout-part-0 *colout-common-block
*) 0))
40 (iout (aref (colout-part-1 *colout-common-block
*) 0))
41 (iprint (aref (colout-part-1 *colout-common-block
*) 1))
42 (mstar (aref (colord-part-0 *colord-common-block
*) 2))
43 (kd (aref (colord-part-0 *colord-common-block
*) 3))
44 (n (aref (colapr-part-0 *colapr-common-block
*) 0))
45 (nold (aref (colapr-part-0 *colapr-common-block
*) 1))
46 (nmax (aref (colapr-part-0 *colapr-common-block
*) 2))
47 (nz (aref (colapr-part-0 *colapr-common-block
*) 3))
48 (ndmz (aref (colapr-part-0 *colapr-common-block
*) 4))
49 (mshnum (aref (colmsh-part-0 *colmsh-common-block
*) 1))
50 (mshlmt (aref (colmsh-part-0 *colmsh-common-block
*) 2))
51 (mshalt (aref (colmsh-part-0 *colmsh-common-block
*) 3))
52 (nonlin (aref (colnln-part-0 *colnln-common-block
*) 0))
53 (iter (aref (colnln-part-0 *colnln-common-block
*) 1))
54 (limit (aref (colnln-part-0 *colnln-common-block
*) 2))
55 (icare (aref (colnln-part-0 *colnln-common-block
*) 3))
56 (iguess (aref (colnln-part-0 *colnln-common-block
*) 4))
59 (ntol (aref (colest-part-1 *colest-common-block
*) 80)))
60 (f2cl-lib:with-multi-array-data
61 ((xi double-float xi-%data% xi-%offset%
)
62 (xiold double-float xiold-%data% xiold-%offset%
)
63 (z double-float z-%data% z-%offset%
)
64 (dmz double-float dmz-%data% dmz-%offset%
)
65 (rhs double-float rhs-%data% rhs-%offset%
)
66 (delz double-float delz-%data% delz-%offset%
)
67 (deldmz double-float deldmz-%data% deldmz-%offset%
)
68 (dqz double-float dqz-%data% dqz-%offset%
)
69 (dqdmz double-float dqdmz-%data% dqdmz-%offset%
)
70 (g double-float g-%data% g-%offset%
)
71 (w double-float w-%data% w-%offset%
)
72 (v double-float v-%data% v-%offset%
)
73 (valstr double-float valstr-%data% valstr-%offset%
)
74 (slope double-float slope-%data% slope-%offset%
)
75 (scale double-float scale-%data% scale-%offset%
)
76 (dscale double-float dscale-%data% dscale-%offset%
)
77 (accum double-float accum-%data% accum-%offset%
)
78 (fixpnt double-float fixpnt-%data% fixpnt-%offset%
)
79 (ipvtg f2cl-lib
:integer4 ipvtg-%data% ipvtg-%offset%
)
80 (integs f2cl-lib
:integer4 integs-%data% integs-%offset%
)
81 (ipvtw f2cl-lib
:integer4 ipvtw-%data% ipvtw-%offset%
))
82 (prog ((ifin 0) (lj 0) (j 0) (fact 0.0) (factor 0.0) (arg 0.0)
83 (anfix 0.0) (anorm 0.0) (ipred 0) (rlxold 0.0) (andif 0.0)
84 (anscl 0.0) (np1 0) (iz 0) (inz 0) (it 0) (ifrz 0) (rnold 0.0)
85 (ifreez 0) (relax 0.0) (rnorm 0.0) (msing 0) (noconv 0) (icor 0)
86 (iconv 0) (imesh 0) (i 0) (check 0.0) (lmtfrz 0) (rstart 0.0)
87 (relmin 0.0) (dummy (make-array 1 :element-type
'double-float
)))
88 (declare (type (array double-float
(1)) dummy
)
89 (type double-float relmin rstart check rnorm relax rnold
90 anscl andif rlxold anorm anfix arg factor
92 (type (f2cl-lib:integer4
) lmtfrz i imesh iconv icor noconv
93 msing ifreez ifrz it inz iz np1
99 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
104 (f2cl-lib:dmax1
(f2cl-lib:fref tolin
(i) ((1 40)))
108 (if (= nonlin
0) (setf iconv
1))
114 (if (> nonlin
0) (go label50
))
116 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
117 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
118 var-19 var-20 var-21
)
119 (lsyslv msing xi xiold dummy dummy z dmz g w v rhs dummy integs
120 ipvtg ipvtw rnorm
0 fsub dfsub gsub dgsub guess
)
121 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
122 var-9 var-10 var-11 var-12 var-13 var-14 var-16
123 var-17 var-18 var-19 var-20 var-21
))
126 (if (= msing
0) (go label400
))
128 (if (< msing
0) (go label40
))
130 (f2cl-lib:fformat iout
132 " A LOCAL ELIMINATION MATRIX IS SINGULAR "
137 (f2cl-lib:fformat iout
139 " THE GLOBAL BVP-MATRIX IS SINGULAR " "~%")))
144 (if (or (= icare
1) (= icare -
1)) (setf relax rstart
))
145 (if (= iconv
0) (go label160
))
148 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
149 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
150 var-19 var-20 var-21
)
151 (lsyslv msing xi xiold z dmz delz deldmz g w v rhs dqdmz integs
152 ipvtg ipvtw rnold
1 fsub dfsub gsub dgsub guess
)
153 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
154 var-9 var-10 var-11 var-12 var-13 var-14 var-16
155 var-17 var-18 var-19 var-20 var-21
))
159 (f2cl-lib:fformat iout
160 ("~%" " FIXED JACOBIAN ITERATIONS," "~%")))
162 (f2cl-lib:fformat iout
163 (" ITERATION = " 1 (("~3D")) " NORM (RHS) = "
164 1 (("~10,2,2,0,'*,,'DE")) "~%")
170 (f2cl-lib:fformat iout
171 (" ITERATION = " 1 (("~3D")) " NORM (RHS) = "
172 1 (("~10,2,2,0,'*,,'DE")) "~%")
177 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
178 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
179 var-19 var-20 var-21
)
180 (lsyslv msing xi xiold z dmz delz deldmz g w v rhs dummy integs
181 ipvtg ipvtw rnorm
(f2cl-lib:int-add
3 ifreez
) fsub dfsub gsub
183 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
184 var-9 var-10 var-11 var-12 var-13 var-14 var-16
185 var-17 var-18 var-19 var-20 var-21
))
189 (if (/= msing
0) (go label30
))
190 (if (= ifreez
1) (go label80
))
191 (setf iter
(f2cl-lib:int-add iter
1))
194 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
197 (setf (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
198 (+ (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
199 (f2cl-lib:fref delz-%data%
204 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
207 (setf (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
208 (+ (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
209 (f2cl-lib:fref deldmz-%data%
215 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
216 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
217 var-19 var-20 var-21
)
218 (lsyslv msing xi xiold z dmz delz deldmz g w v rhs dummy integs
219 ipvtg ipvtw rnorm
2 fsub dfsub gsub dgsub guess
)
220 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
221 var-9 var-10 var-11 var-12 var-13 var-14 var-16
222 var-17 var-18 var-19 var-20 var-21
))
225 (if (< rnorm precis
) (go label390
))
226 (if (> rnorm rnold
) (go label130
))
227 (if (= ifreez
1) (go label110
))
231 (setf ifrz
(f2cl-lib:int-add ifrz
1))
232 (if (>= ifrz lmtfrz
) (setf ifreez
0))
233 (if (< rnold
(* 4.0 rnorm
)) (setf ifreez
0))
234 (f2cl-lib:fdo
(it 1 (f2cl-lib:int-add it
1))
237 (setf inz
(f2cl-lib:fref ltol
(it) ((1 40))))
238 (f2cl-lib:fdo
(iz inz
(f2cl-lib:int-add iz mstar
))
244 (f2cl-lib:fref delz-%data%
(iz) ((1 1)) delz-%offset%
))
245 (* (f2cl-lib:fref tolin
(it) ((1 40)))
248 (f2cl-lib:fref z-%data%
(iz) ((1 1)) z-%offset%
))
254 (f2cl-lib:fformat iout
255 ("~%" " CONVERGENCE AFTER" 1 (("~3D"))
256 " ITERATIONS" "~%" "~%")
261 (f2cl-lib:fformat iout
262 (" ITERATION = " 1 (("~3D")) " NORM (RHS) = "
263 1 (("~10,2,2,0,'*,,'DE")) "~%")
267 (f2cl-lib:fformat iout
268 ("~%" " SWITCH TO DAMPED NEWTON ITERATION,"
272 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
275 (setf (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
276 (- (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
277 (f2cl-lib:fref delz-%data%
282 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
285 (setf (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
286 (- (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
287 (f2cl-lib:fref deldmz-%data%
292 (setf np1
(f2cl-lib:int-add n
1))
293 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
297 (setf (f2cl-lib:fref xiold-%data%
(i) ((1 1)) xiold-%offset%
)
298 (f2cl-lib:fref xi-%data%
(i) ((1 1)) xi-%offset%
))))
303 (f2cl-lib:fformat iout
304 ("~%" " FULL DAMPED NEWTON ITERATION," "~%")))
306 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
307 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
308 var-19 var-20 var-21
)
309 (lsyslv msing xi xiold z dmz delz deldmz g w v rhs dqdmz integs
310 ipvtg ipvtw rnold
1 fsub dfsub gsub dgsub guess
)
311 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
312 var-9 var-10 var-11 var-12 var-13 var-14 var-16
313 var-17 var-18 var-19 var-20 var-21
))
316 (if (/= msing
0) (go label30
))
317 (if (= iguess
1) (setf iguess
0))
318 (skale n mstar kd z xi scale dscale
)
322 (if (>= iter limit
) (go label430
))
323 (skale n mstar kd z xi scale dscale
)
325 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
332 (f2cl-lib:fref delz-%data%
336 (f2cl-lib:fref scale-%data%
342 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
349 (f2cl-lib:fref deldmz-%data%
353 (f2cl-lib:fref dscale-%data%
361 (/ anscl
(f2cl-lib:dfloat
(f2cl-lib:int-add nz ndmz
)))))
363 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
364 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
365 var-19 var-20 var-21
)
366 (lsyslv msing xi xiold z dmz delz deldmz g w v rhs dummy integs
367 ipvtg ipvtw rnorm
3 fsub dfsub gsub dgsub guess
)
368 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
369 var-9 var-10 var-11 var-12 var-13 var-14 var-16
370 var-17 var-18 var-19 var-20 var-21
))
373 (if (/= msing
0) (go label30
))
375 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
383 (f2cl-lib:fref dqz-%data%
(i) ((1 1)) dqz-%offset%
)
384 (f2cl-lib:fref delz-%data%
388 (f2cl-lib:fref scale-%data%
394 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
402 (f2cl-lib:fref dqdmz-%data%
406 (f2cl-lib:fref deldmz-%data%
410 (f2cl-lib:fref dscale-%data%
418 (+ (/ andif
(f2cl-lib:dfloat
(f2cl-lib:int-add nz ndmz
)))
420 (setf relax
(/ (* relax anscl
) andif
))
421 (if (> relax
1.0) (setf relax
1.0))
425 (setf iter
(f2cl-lib:int-add iter
1))
426 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
429 (setf (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
430 (+ (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
432 (f2cl-lib:fref delz-%data%
437 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
440 (setf (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
441 (+ (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
443 (f2cl-lib:fref deldmz-%data%
450 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
451 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
452 var-19 var-20 var-21
)
453 (lsyslv msing xi xiold z dmz dqz dqdmz g w v rhs dummy integs
454 ipvtg ipvtw rnorm
2 fsub dfsub gsub dgsub guess
)
455 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
456 var-9 var-10 var-11 var-12 var-13 var-14 var-16
457 var-17 var-18 var-19 var-20 var-21
))
461 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
462 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
463 var-19 var-20 var-21
)
464 (lsyslv msing xi xiold z dmz dqz dqdmz g w v rhs dummy integs
465 ipvtg ipvtw rnorm
4 fsub dfsub gsub dgsub guess
)
466 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
467 var-9 var-10 var-11 var-12 var-13 var-14 var-16
468 var-17 var-18 var-19 var-20 var-21
))
473 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
480 (f2cl-lib:fref delz-%data%
484 (f2cl-lib:fref scale-%data%
493 (f2cl-lib:fref dqz-%data%
(i) ((1 1)) dqz-%offset%
)
494 (f2cl-lib:fref scale-%data%
500 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
507 (f2cl-lib:fref deldmz-%data%
511 (f2cl-lib:fref dscale-%data%
520 (f2cl-lib:fref dqdmz-%data%
524 (f2cl-lib:fref dscale-%data%
532 (/ anorm
(f2cl-lib:dfloat
(f2cl-lib:int-add nz ndmz
)))))
535 (/ anfix
(f2cl-lib:dfloat
(f2cl-lib:int-add nz ndmz
)))))
536 (if (= icor
1) (go label280
))
538 (f2cl-lib:fformat iout
539 (" ITERATION = " 1 (("~3D"))
540 " RELAXATION FACTOR = " 1
541 (("~10,2,2,0,'*,,'DE")) "~%"
542 " NORM OF SCALED RHS CHANGES FROM " 1
543 (("~10,2,2,0,'*,,'DE")) " TO" 1
544 (("~10,2,2,0,'*,,'DE")) "~%"
545 " NORM OF RHS CHANGES FROM " 1
546 (("~10,2,2,0,'*,,'DE")) " TO" 1
547 (("~10,2,2,0,'*,,'DE")) 1
548 (("~10,2,2,0,'*,,'DE")) "~%")
558 (f2cl-lib:fformat iout
559 (" RELAXATION FACTOR CORRECTED TO RELAX = " 1
560 (("~10,2,2,0,'*,,'DE")) "~%"
561 " NORM OF SCALED RHS CHANGES FROM " 1
562 (("~10,2,2,0,'*,,'DE")) " TO" 1
563 (("~10,2,2,0,'*,,'DE")) "~%"
564 " NORM OF RHS CHANGES FROM " 1
565 (("~10,2,2,0,'*,,'DE")) " TO" 1
566 (("~10,2,2,0,'*,,'DE")) 1
567 (("~10,2,2,0,'*,,'DE")) "~%")
575 (if (or (< anfix precis
) (< rnorm precis
)) (go label390
))
576 (if (> anfix anorm
) (go label300
))
577 (if (<= anfix check
) (go label350
))
578 (if (/= ipred
1) (go label170
))
580 (if (>= iter limit
) (go label430
))
582 (setf arg
(+ (/ (- (/ anfix anorm
) 1.0) relax
) 1.0))
583 (if (< arg
0.0) (go label170
))
584 (if (<= arg
(+ (* 0.25 relax
) (* 0.125 (expt relax
2))))
586 (setf factor
(- (f2cl-lib:dsqrt
(+ 1.0 (* 8.0 arg
))) 1.0))
587 (if (< (f2cl-lib:dabs
(- factor
1.0)) (* 0.1 factor
)) (go label170
))
588 (if (< factor
0.5) (setf factor
0.5))
589 (setf relax
(/ relax factor
))
592 (if (>= relax
0.9) (go label170
))
596 (if (< relax relmin
) (go label440
))
597 (setf fact
(- relax rlxold
))
598 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
601 (setf (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
602 (+ (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
604 (f2cl-lib:fref delz-%data%
609 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
612 (setf (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
613 (+ (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
615 (f2cl-lib:fref deldmz-%data%
623 (f2cl-lib:fdo
(it 1 (f2cl-lib:int-add it
1))
626 (setf inz
(f2cl-lib:fref ltol
(it) ((1 40))))
627 (f2cl-lib:fdo
(iz inz
(f2cl-lib:int-add iz mstar
))
633 (f2cl-lib:fref dqz-%data%
(iz) ((1 1)) dqz-%offset%
))
634 (* (f2cl-lib:fref tolin
(it) ((1 40)))
637 (f2cl-lib:fref z-%data%
(iz) ((1 1)) z-%offset%
))
643 (f2cl-lib:fformat iout
644 ("~%" " CONVERGENCE AFTER" 1 (("~3D"))
645 " ITERATIONS" "~%" "~%")
647 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
650 (setf (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
651 (+ (f2cl-lib:fref z-%data%
(i) ((1 1)) z-%offset%
)
652 (f2cl-lib:fref dqz-%data%
(i) ((1 1)) dqz-%offset%
)))
654 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
657 (setf (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
658 (+ (f2cl-lib:fref dmz-%data%
(i) ((1 1)) dmz-%offset%
)
659 (f2cl-lib:fref dqdmz-%data%
665 (if (and (or (< anfix precis
) (< rnorm precis
)) (< iprint
1))
666 (f2cl-lib:fformat iout
667 ("~%" " CONVERGENCE AFTER" 1 (("~3D"))
668 " ITERATIONS" "~%" "~%")
671 (if (= icare -
1) (setf icare
0))
673 (if (>= iprint
0) (go label420
))
674 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
677 (f2cl-lib:fformat iout
678 (" MESH VALUES FOR Z(" 1 (("~2D")) ")," "~%")
681 (f2cl-lib:fformat iout
682 (" " 8 (("~15,7,2,0,'*,,'DE")) "~%")
683 (do ((lj j
(f2cl-lib:int-add lj mstar
))
685 ((> lj nz
) (nreverse %ret
))
686 (declare (type f2cl-lib
:integer4 lj
))
688 (f2cl-lib:fref z-%data%
696 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4
)
697 (errchk xi z dmz valstr ifin
)
698 (declare (ignore var-0 var-1 var-2 var-3
))
700 (if (or (= imesh
1) (and (= ifin
0) (/= icare
2))) (go label460
))
705 (f2cl-lib:fformat iout
706 ("~%" " NO CONVERGENCE AFTER " 1 (("~3D"))
707 " ITERATIONS" "~%" "~%")
712 (f2cl-lib:fformat iout
713 ("~%" " NO CONVERGENCE. RELAXATION FACTOR =" 1
714 (("~10,3,2,0,'*,,'DE"))
715 " IS TOO SMALL (LESS THAN" 1
716 (("~10,3,2,0,'*,,'DE")) ")" "~%" "~%")
721 (setf noconv
(f2cl-lib:int-add noconv
1))
722 (if (and (= icare
2) (> noconv
1)) (go end_label
))
723 (if (= icare
0) (setf icare -
1))
725 (setf np1
(f2cl-lib:int-add n
1))
726 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
730 (setf (f2cl-lib:fref xiold-%data%
(i) ((1 1)) xiold-%offset%
)
731 (f2cl-lib:fref xi-%data%
(i) ((1 1)) xi-%offset%
))))
734 (if (or (= iconv
0) (>= mshnum mshlmt
) (>= mshalt mshlmt
))
736 (if (and (>= mshalt mshlmt
) (< mshnum mshlmt
)) (setf mshalt
1))
738 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
)
739 (newmsh imesh xi xiold z dmz valstr slope accum nfxpnt fixpnt
)
740 (declare (ignore var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
743 (if (<= n nmax
) (go label480
))
744 (setf n
(the f2cl-lib
:integer4
(truncate n
2)))
746 (if (and (= iconv
0) (< iprint
1))
747 (f2cl-lib:fformat iout
(" (NO CONVERGENCE)" "~%")))
748 (if (and (= iconv
1) (< iprint
1))
749 (f2cl-lib:fformat iout
750 (" (PROBABLY TOLERANCES TOO STRINGENT, OR NMAX TOO "
754 (if (= iconv
0) (setf imesh
1))
755 (if (= icare
1) (setf iconv
0))
788 (in-package #-gcl
#:cl-user
#+gcl
"CL-USER")
789 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
790 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
791 (setf (gethash 'fortran-to-lisp
::contrl
792 fortran-to-lisp
::*f2cl-function-info
*)
793 (fortran-to-lisp::make-f2cl-finfo
794 :arg-types
'((array double-float
(1)) (array double-float
(1))
795 (array double-float
(1)) (array double-float
(1))
796 (array double-float
(1)) (array double-float
(1))
797 (array double-float
(1)) (array double-float
(1))
798 (array double-float
(1)) (array double-float
(1))
799 (array double-float
(1)) (array double-float
(1))
800 (array double-float
(1)) (array double-float
(1))
801 (array double-float
(1)) (array double-float
(1))
802 (array double-float
(1))
803 (array fortran-to-lisp
::integer4
(1))
804 (array fortran-to-lisp
::integer4
(1))
805 (array fortran-to-lisp
::integer4
(1))
806 (fortran-to-lisp::integer4
) (array double-float
(1))
807 (fortran-to-lisp::integer4
) t t t t t
)
808 :return-values
'(nil nil nil nil nil nil nil nil nil nil nil nil nil
809 nil nil nil nil nil nil nil nil nil
810 fortran-to-lisp
::iflag nil nil nil nil nil
)
811 :calls
'(fortran-to-lisp::newmsh fortran-to-lisp
::errchk
812 fortran-to-lisp
::skale fortran-to-lisp
::lsyslv
))))