File: /nfs/home/0/users/jenkins/mfix.git/model/leqsol_mod.f
1 MODULE leqsol
2
3 use param, only: DIM_EQS
4
5
6 INTEGER :: MAX_NIT
7
8
9
10 LOGICAL :: LEQ_ADJUST
11
12
13 INTEGER :: LEQ_IT(DIM_EQS)
14
15
16 INTEGER :: LEQ_METHOD(DIM_EQS)
17
18
19 INTEGER :: ITER_TOT(DIM_EQS) = 0
20
21
22 CHARACTER(LEN=4) :: LEQ_SWEEP(DIM_EQS)
23
24
25 DOUBLE PRECISION :: LEQ_TOL(DIM_EQS)
26
27
28 CHARACTER(LEN=4) :: LEQ_PC(DIM_EQS)
29
30
31 LOGICAL :: MINIMIZE_DOTPRODUCTS
32
33
34 LOGICAL :: DO_TRANSPOSE
35
36
37 INTEGER :: ICHECK_BICGS
38
39
40 LOGICAL :: OPT_PARALLEL
41
42
43 LOGICAL :: SOLVER_STATISTICS
44
45 CONTAINS
46
47
48
49
50
51
52 SUBROUTINE REPORT_SOLVER_STATS(TNIT, STEPS)
53
54 use error_manager
55
56 IMPLICIT NONE
57
58 INTEGER, INTENT(IN) :: TNIT, STEPS
59
60 INTEGER :: LC
61
62 WRITE(ERR_MSG,1100) iVal(TNIT), iVal(TNIT/STEPS)
63 CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
64
65 1100 FORMAT(/2x,'Total number of non-linear iterations: ', A,/2x,&
66 'Average number per time-step: ',A)
67
68 WRITE(ERR_MSG,1200)
69 CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
70
71 1200 FORMAT(2x,'|',10('-'),'|',13('-'),'|',14('-'),'|',/&
72 2x,'| Equation | Number of | Avg Solves |',/&
73 2x,'| Number | Solves | for NIT |',/&
74 2x,'|',10('-'),'|',13('-'),'|',14('-'),'|')
75
76 DO LC = 1, DIM_EQS
77 WRITE(ERR_MSG,1201) LC, ITER_TOT(LC), ITER_TOT(LC)/TNIT
78 CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
79 ENDDO
80
81 1201 FORMAT(2x,'|',3x,I3,4x,'|',2x,I9,2x,'|',2x,I10,2x,'|',/ &
82 2x,'|',10('-'),'|',13('-'),'|',14('-'),'|')
83
84
85 RETURN
86 END SUBROUTINE REPORT_SOLVER_STATS
87
88
89 END MODULE leqsol
90