OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
st_qaprint_clusters.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "scr17_c.inc"
#include "tabsiz_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine st_qaprint_clusters (nom_opt, inom_opt, clusters)

Function/Subroutine Documentation

◆ st_qaprint_clusters()

subroutine st_qaprint_clusters ( integer, dimension(lnopt1,snom_opt1), intent(in) nom_opt,
integer, dimension(sinom_opt), intent(in) inom_opt,
type (cluster_), dimension(ncluster) clusters )

Definition at line 32 of file st_qaprint_clusters.F.

33C============================================================================
34C M o d u l e s
35C-----------------------------------------------
36 USE qa_out_mod
37 USE cluster_mod
39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "com04_c.inc"
47#include "scr17_c.inc"
48#include "tabsiz_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER, INTENT(IN) :: NOM_OPT(LNOPT1,SNOM_OPT1), INOM_OPT(SINOM_OPT)
53 TYPE (cluster_) ,DIMENSION(NCLUSTER) :: clusters
54C-----------------------------------------------
55C NOM_OPT(LNOPT1,SNOM_OPT1)
56C * Possibly, NOM_OPT(1) = ID
57C NOM_OPT(LNOPT1-LTITL+1:LTITL) <=> TITLES of the OPTIONS
58C--------------------------------------------------
59C SNOM_OPT1= NRBODY+NACCELM+NVOLU+NINTER+NINTSUB+
60C + NRWALL+NJOINT+NSECT+NLINK+
61C + NUMSKW+1+NUMFRAM+1+NFXBODY+NFLOW+NRBE2+
62C + NRBE3+NSUBMOD+NFXVEL+NUMBCS+NUMMPC+
63C + NGJOINT+NUNIT0+NFUNCT+NADMESH+
64C + NSPHIO+NSPCOND+NRBYKIN+NEBCS+
65C + NINICRACK+NODMAS+NBGAUGE+NCLUSTER+NINTERFRIC+
66C + NRBMERGE
67C-----------------------------------------------
68C INOM_OPT(SINOM_OPT)
69C--------------------------------------------------
70C INOM_OPT(1) = NRBODY
71C INOM_OPT(2) = INOM_OPT(1) + NACCELM
72C INOM_OPT(3) = INOM_OPT(2) + NVOLU
73C INOM_OPT(4) = INOM_OPT(3) + NINTER
74C INOM_OPT(5) = INOM_OPT(4) + NINTSUB
75C INOM_OPT(6) = INOM_OPT(5) + NRWALL
76C INOM_OPT(7) = INOM_OPT(6)
77C INOM_OPT(8) = INOM_OPT(7) + NJOINT
78C INOM_OPT(9) = INOM_OPT(8) + NSECT
79C INOM_OPT(10)= INOM_OPT(9) + NLINK
80C INOM_OPT(11)= INOM_OPT(10)+ NUMSKW+1+NUMFRAM+1+NSUBMOD
81C INOM_OPT(12)= INOM_OPT(11)+ NFXBODY
82C INOM_OPT(13)= INOM_OPT(12)+ NFLOW
83C INOM_OPT(14)= INOM_OPT(13)+ NRBE2
84C INOM_OPT(15)= INOM_OPT(14)+ NRBE3
85C INOM_OPT(16)= INOM_OPT(15)+ NFXVEL
86C INOM_OPT(17)= INOM_OPT(16)+ NUMBCS
87C INOM_OPT(18)= INOM_OPT(17)+ NUMMPC
88C INOM_OPT(19)= INOM_OPT(18)+ NGJOINT
89C INOM_OPT(20)= INOM_OPT(19)+ NUNIT0
90C INOM_OPT(21)= INOM_OPT(20)+ NFUNCT
91C INOM_OPT(22)= INOM_OPT(21)+ NADMESH
92C INOM_OPT(23)= INOM_OPT(22)+ NSPHIO
93C INOM_OPT(24)= INOM_OPT(23)+ NSPCOND
94C INOM_OPT(25)= INOM_OPT(24)+ NEBCS
95C INOM_OPT(26)= INOM_OPT(25)+ NINICRACK
96C INOM_OPT(27)= INOM_OPT(26)+ NODMAS
97C INOM_OPT(28)= INOM_OPT(27)+ NBGAUGE
98C INOM_OPT(29)= INOM_OPT(28)+ NCLUSTER
99C INOM_OPT(30)= INOM_OPT(29)+ NINTERFRIC
100C INOM_OPT(31)= INOM_OPT(30)+ NRBMERGE
101C .. TO BE MAINTAINED (cf doc/inom_opt.txt) ..
102C-----------------------------------------------
103C--------------------------------------------------
104C L o c a l V a r i a b l e s
105C-----------------------------------------------
106 INTEGER I, MY_ID, MY_CLUSTER, TEMP_INT
107 CHARACTER(LEN=NCHARTITLE) :: TITR
108 CHARACTER (LEN=255) :: VARNAME
109 DOUBLE PRECISION TEMP_DOUBLE
110C-----------------------------------------------
111C /CLUSTER
112C-----------------------------------------------
113 IF (myqakey('/cluster')) THEN
114 DO MY_CLUSTER=1,NCLUSTER
115C
116 TITR(1:nchartitle)=''
117 MY_ID = CLUSTERS(MY_CLUSTER)%ID
118 CALL FRETITL2(TITR,NOM_OPT(LNOPT1-LTITR+1,INOM_OPT(28) + MY_CLUSTER),LTITR)
119 IF(LEN_TRIM(TITR)/=0)THEN
120 CALL QAPRINT(TITR(1:LEN_TRIM(TITR)),MY_ID,0.0_8)
121 ELSE
122 CALL QAPRINT('a_cluster_fake_name', MY_ID,0.0_8)
123 END IF
124C
125 WRITE(VARNAME,'(a)') 'cluster_elgroup'
126 TEMP_INT = CLUSTERS(MY_CLUSTER)%IGR
127 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
128C
129 WRITE(VARNAME,'(a)') 'CLUSTER_TYPE'
130 temp_int = clusters(my_cluster)%TYPE
131 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
132C
133 WRITE(varname,'(A)') 'CLUSTER_SKEW'
134 temp_int = clusters(my_cluster)%SKEW
135 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
136C
137 WRITE(varname,'(a)') 'cluster_nel'
138 TEMP_INT = CLUSTERS(MY_CLUSTER)%NEL
139 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
140C
141 DO I = 1, CLUSTERS(MY_CLUSTER)%NEL
142 WRITE(VARNAME,'(a,i0)') 'cluster_elem_',I
143 TEMP_INT = CLUSTERS(MY_CLUSTER)%ELEM(I)
144 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
145 ENDDO
146C
147 WRITE(VARNAME,'(a)') 'cluster_ifail'
148 TEMP_INT = CLUSTERS(MY_CLUSTER)%IFAIL
149 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
150C
151 WRITE(VARNAME,'(a)') 'cluster_off'
152 TEMP_INT = CLUSTERS(MY_CLUSTER)%OFF
153 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
154C
155 WRITE(VARNAME,'(a)') 'cluster_fail'
156 TEMP_DOUBLE = CLUSTERS(MY_CLUSTER)%FAIL
157 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
158C
159 WRITE(VARNAME,'(a)') 'cluster_nnod'
160 TEMP_INT = CLUSTERS(MY_CLUSTER)%NNOD
161 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
162C
163 DO I = 1, CLUSTERS(MY_CLUSTER)%NNOD
164 WRITE(VARNAME,'(a,i0)') 'cluster_nnod1_',I
165 TEMP_INT = CLUSTERS(MY_CLUSTER)%NOD1(I)
166 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
167 ENDDO
168C
169 DO I = 1, CLUSTERS(MY_CLUSTER)%NNOD
170 WRITE(VARNAME,'(a,i0)') 'cluster_nnod2_',I
171 TEMP_INT = CLUSTERS(MY_CLUSTER)%NOD2(I)
172 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
173 ENDDO
174C
175 DO I = 1,2
176 WRITE(VARNAME,'(a,i0)') 'cluster_fmax',I
177 TEMP_DOUBLE = CLUSTERS(MY_CLUSTER)%FMAX(I)
178 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
179 ENDDO
180C
181 DO I = 1,2
182 WRITE(VARNAME,'(a,i0)') 'CLUSTER_MMAX',i
183 temp_double = clusters(my_cluster)%MMAX(i)
184 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
185 ENDDO
186C
187 IF (clusters(my_cluster)%IFAIL == 3) THEN
188C
189 DO i = 1,4
190 WRITE(varname,'(A,I0)') 'CLUSTER_AX',i
191 temp_double = clusters(my_cluster)%AX(i)
192 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
193 ENDDO
194C
195 DO i = 1,4
196 WRITE(varname,'(A,I0)') 'CLUSTER_NX',i
197 temp_double = clusters(my_cluster)%NX(i)
198 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
199 ENDDO
200C
201 ENDIF
202C
203 END DO
204 END IF
205C-----------------------------------------------
206 RETURN
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