OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
st_qaprint_monvol.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine st_qaprint_monvol (t_monvol, t_monvol_metadata)

Function/Subroutine Documentation

◆ st_qaprint_monvol()

subroutine st_qaprint_monvol ( type(monvol_struct_), dimension(nvolu), intent(in) t_monvol,
type(monvol_metadata_), intent(in) t_monvol_metadata )

Definition at line 31 of file st_qaprint_monvol.F.

32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35 USE qa_out_mod
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45! NVOLU
46#include "com04_c.inc"
47! nimv
48#include "param_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 TYPE(MONVOL_STRUCT_), DIMENSION(NVOLU), INTENT(IN) :: T_MONVOL
53 TYPE(MONVOL_METADATA_), INTENT(IN) :: T_MONVOL_METADATA
54C-----------------------------------------------
55C L o c a l V a r i a b l e s
56C-----------------------------------------------
57 INTEGER :: NN, II, JJ, KK, ID
58 CHARACTER(LEN = nchartitle) :: TITLE
59 CHARACTER(LEN = 255) :: VARNAME
60 INTEGER :: NJET, NVENT
61 DOUBLE PRECISION :: FVALUE
62 INTEGER, DIMENSION(NVOLU) :: IDX, IDS
63 LOGICAL :: OK_QA
64C-----------------------------------------------
65C S o u r c e L i n e s
66C-----------------------------------------------
67 ok_qa = myqakey('/MONVOL')
68 IF (ok_qa) THEN
69 IF (nvolu > 0) THEN
70! Sort by ID to ensure internal order independnat output
71 DO ii = 1, nvolu
72 ids(ii) = t_monvol(ii)%ID
73 idx(ii) = ii
74 ENDDO
75 CALL quicksort_i2(ids, idx, 1, nvolu)
76! ICBAG
77 DO ii = 1, nicbag
78 DO jj = 1, nvolu * nvolu
79 WRITE(varname, '(A, I0, A, I0)') 'ICBAG_', ii, '_', jj
80 IF (t_monvol_metadata%ICBAG(ii, jj) /= 0) THEN
81 CALL qaprint(varname(1:len_trim(varname)),
82 . t_monvol_metadata%ICBAG(ii, jj), 0.0_8)
83 ENDIF
84 ENDDO
85 ENDDO
86! RCBAG
87 DO ii = 1, nicbag
88 DO jj = 1, nvolu * nvolu
89 WRITE(varname, '(A, I0, A, I0)') 'RCBAG_', ii, '_', jj
90 IF (t_monvol_metadata%RCBAG(ii, jj) /= zero) THEN
91 fvalue = t_monvol_metadata%RCBAG(ii, jj)
92 CALL qaprint(varname(1:len_trim(varname)),
93 . 0, fvalue)
94 ENDIF
95 ENDDO
96 ENDDO
97 ENDIF
98 DO kk = 1, nvolu
99 nn = idx(kk)
100 id = t_monvol(nn)%ID
101 title = t_monvol(nn)%TITLE
102 IF (len_trim(title) == 0) THEN
103 title = "MONVOL_FAKE_TITLE"
104 ENDIF
105 CALL qaprint(title(1:len_trim(title)), id, 0.0_8)
106! IVOLU
107 DO ii = 1, nimv
108 WRITE(varname, '(A, I0)') 'IVOLU_', ii
109 IF (t_monvol(nn)%IVOLU(ii) /= 0) THEN
110 CALL qaprint(varname(1:len_trim(varname)), t_monvol(nn)%IVOLU(ii), 0.0_8)
111 ENDIF
112 ENDDO
113! IBAGJET
114 njet = t_monvol(nn)%NJET
115 IF (njet > 0) THEN
116 DO ii = 1, nibjet
117 DO jj = 1, njet
118 WRITE(varname, '(A, I0, A, I0)') 'IBAGJET_', ii, '_', jj
119 IF (t_monvol(nn)%IBAGJET(ii, jj) /= 0) THEN
120 CALL qaprint(varname(1:len_trim(varname)), t_monvol(nn)%IBAGJET(ii, jj), 0.0_8)
121 ENDIF
122 ENDDO
123 ENDDO
124 ENDIF
125! IBAGHOL
126 nvent = t_monvol(nn)%NVENT
127 IF (nvent > 0) THEN
128 DO ii = 1, nibhol
129 DO jj = 1, nvent
130 WRITE(varname, '(A, I0, A, I0)') 'IBAGHOL_', ii, '_', jj
131 IF (t_monvol(nn)%IBAGHOL(ii, jj) /= 0) THEN
132 CALL qaprint(varname(1:len_trim(varname)), t_monvol(nn)%IBAGHOL(ii, jj), 0.0_8)
133 ENDIF
134 ENDDO
135 ENDDO
136 ENDIF
137! RVOLU
138 DO ii = 1, nrvolu
139 WRITE(varname, '(A, I0)') 'RVOLU_', ii
140 IF (t_monvol(nn)%RVOLU(ii) /= zero) THEN
141 fvalue = t_monvol(nn)%RVOLU(ii)
142 CALL qaprint(varname(1:len_trim(varname)), 0, fvalue)
143 ENDIF
144 ENDDO
145! rbagjet
146 IF (njet > 0) THEN
147 DO ii = 1, nrbjet
148 DO jj = 1, njet
149 WRITE(varname, '(A, I0, A, I0)') 'RBAGJET_', ii, '_', jj
150 IF (t_monvol(nn)%RBAGJET(ii, jj) /= zero) THEN
151 fvalue = t_monvol(nn)%RBAGJET(ii, jj)
152 CALL qaprint(varname(1:len_trim(varname)), 0, fvalue)
153 ENDIF
154 ENDDO
155 ENDDO
156 ENDIF
157! RBAGHOL
158 IF (nvent > 0) THEN
159 DO ii = 1, nrbhol
160 DO jj = 1, nvent
161 WRITE(varname, '(A, I0, A, I0)') 'RBAGHOL_', ii, '_', jj
162 IF (t_monvol(nn)%RBAGHOL(ii, jj) /= zero) THEN
163 fvalue = t_monvol(nn)%RBAGHOL(ii, jj)
164 CALL qaprint(varname(1:len_trim(varname)), 0, fvalue)
165 ENDIF
166 ENDDO
167 ENDDO
168 ENDIF
169 ENDDO
170 ENDIF
171C-----------------------------------------------
172C E n d o f S u b r o u t i n e
173C-----------------------------------------------
initmumps id
integer, parameter nchartitle
logical function myqakey(value)
@purpose Check if a given value is part of the values set by env variable Useful to make a condition ...
Definition qa_out_mod.F:694
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...
Definition qa_out_mod.F:390
recursive subroutine quicksort_i2(a, idx, first, last)
Definition quicksort.F:153