OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
st_qaprint_properties.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| st_qaprint_properties ../starter/source/output/qaprint/st_qaprint_properties.F
25!||--- called by ------------------------------------------------------
26!|| st_qaprint_driver ../starter/source/output/qaprint/st_qaprint_driver.F
27!||--- calls -----------------------------------------------------
28!|| fretitl2 ../starter/source/starter/freform.F
29!||--- uses -----------------------------------------------------
30!||====================================================================
31 SUBROUTINE st_qaprint_properties(IGEO ,GEO ,BUFGEO ,
32 . PM_STACK ,GEO_STACK ,IGEO_STACK)
33C============================================================================
34C M o d u l e s
35C-----------------------------------------------
36 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#include "com04_c.inc"
46#include "param_c.inc"
47#include "scr17_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER, INTENT(IN) :: IGEO(NPROPGI,NUMGEO),IGEO_STACK(4* NPT_STACK+2,NS_STACK)
52 my_real, INTENT(IN) :: geo(npropg,numgeo),geo_stack(6*npt_stack+1,ns_stack),
53 . pm_stack(20,ns_stack),bufgeo(*)
54C--------------------------------------------------
55C L o c a l V a r i a b l e s
56C-----------------------------------------------
57 INTEGER I, MY_ID, MY_PID,
58 . iadbuf, nuparam, iadmat, njmat, iadpid, njpid, iadfun, njfun, iadtab, njtab
59 CHARACTER(LEN=NCHARTITLE) :: TITR
60 CHARACTER (LEN=255) :: VARNAME
61 DOUBLE PRECISION TEMP_DOUBLE
62C=======================================================================
63
64 IF (myqakey('PROPERTIES')) THEN
65
66 DO my_pid=1,numgeo
67 CALL fretitl2(titr,igeo(npropgi-ltitr+1,my_pid),ltitr)
68C
69C Le Titr de la PID sert de nom de la variable dans le ref.extract , suivi de l'ID de la PID
70C 2 PIDs peuvent avoir le meme titre
71 IF(len_trim(titr)/=0)THEN
72 CALL qaprint(titr(1:len_trim(titr)),igeo(1,my_pid),0.0_8)
73 ELSE
74 CALL qaprint('A_PID_FAKE_NAME',igeo(1,my_pid),0.0_8)
75 END IF
76 DO i=1,npropgi-ltitr ! si on ne peut pas tester une chaine de caracteres, do i=1,npropgi
77 IF(igeo(i,my_pid)/=0)THEN
78C
79C VARNAME: variable name in ref.extract (without blanks)
80 WRITE(varname,'(A,I0)') 'IGEO_',i ! IGEO(11) => 'IGEO_11'
81 CALL qaprint(varname(1:len_trim(varname)),igeo(i,my_pid),0.0_8)
82 END IF
83 END DO
84 DO i=1,npropg
85 IF(geo(i,my_pid)/=zero)THEN
86C
87C VARNAME: variable name in ref.extract (without blanks)
88 WRITE(varname,'(A,I0)') 'GEO_',i
89 temp_double = geo(i,my_pid)
90 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
91 END IF
92 END DO
93C---------------------------------------------------
94C Warning: Some properties are storing some other data at the same locations
95C as the addresses (IADBUF, NUPARAM, etc) in IGEO
96C => to be cleaned before branching THIS !
97C---------------------------------------------------
98 iadbuf =igeo(57,my_pid)
99 nuparam=igeo(52,my_pid)
100 DO i=1,nuparam
101 IF(bufgeo(iadbuf+i-1)/=zero)THEN
102C
103C VARNAME: variable name in ref.extract (without blanks)
104 WRITE(varname,'(A,I0)') 'BUFGEO_IADBUF_',i
105 temp_double = bufgeo(iadbuf+i-1)
106 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
107 END IF
108 END DO
109 iadfun =igeo(58,my_pid)
110 njfun =igeo(53,my_pid)
111 DO i=1,njfun
112 IF(bufgeo(iadfun+i-1)/=zero)THEN
113C
114C VARNAME: variable name in ref.extract (without blanks)
115 WRITE(varname,'(A,I0)') 'BUFGEO_IADFUN_',i
116 temp_double = bufgeo(iadfun+i-1)
117 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
118 END IF
119 END DO
120 iadmat =igeo(59,my_pid)
121 njmat =igeo(54,my_pid)
122 DO i=1,njmat
123 IF(bufgeo(iadmat+i-1)/=zero)THEN
124C
125C VARNAME: variable name in ref.extract (without blanks)
126 WRITE(varname,'(A,I0)') 'BUFGEO_IADMAT_',i
127 temp_double = bufgeo(iadmat+i-1)
128 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
129 END IF
130 END DO
131 iadpid =igeo(60,my_pid)
132 njpid =igeo(55,my_pid)
133 DO i=1,njpid
134 IF(bufgeo(iadpid+i-1)/=zero)THEN
135C
136C VARNAME: variable name in ref.extract (without blanks)
137 WRITE(varname,'(A,I0)') 'BUFGEO_IADPID_',i
138 temp_double = bufgeo(iadpid+i-1)
139 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
140 END IF
141 END DO
142 iadtab =igeo(61,my_pid)
143 njtab =igeo(56,my_pid)
144 DO i=1,njtab
145 IF(bufgeo(iadtab+i-1)/=zero)THEN
146C
147C VARNAME: variable name in ref.extract (without blanks)
148 WRITE(varname,'(A,I0)') 'BUFGEO_IADTAB_',i
149 temp_double = bufgeo(iadtab+i-1)
150 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
151 END IF
152 END DO
153 END DO
154c
155 DO my_pid=1,ns_stack
156 my_id = my_pid
157 CALL qaprint('STACK_NAME_NO', my_id,0.0_8)
158c
159 DO i=1,20
160 IF (pm_stack(i,my_pid) /= zero) THEN
161 WRITE(varname,'(A,I0)') 'STACK_PM_',i
162 temp_double = pm_stack(i,my_pid)
163 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
164 END IF
165 END DO
166c
167 DO i=1,6*npt_stack+1
168 IF (geo_stack(i,my_pid) /= zero) THEN
169 WRITE(varname,'(A,I0)') 'STACK_GEO_',i
170 temp_double = geo_stack(i,my_pid)
171 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
172 END IF
173 END DO
174c
175 DO i=1,3*npt_stack+2
176 IF (igeo_stack(i,my_pid) /= 0) THEN
177 WRITE(varname,'(A,I0)') 'STACK_IGEO_',i
178 CALL qaprint(varname(1:len_trim(varname)),igeo_stack(i,my_pid),0.0_8)
179 END IF
180 END DO
181 END DO
182c
183 END IF
184C-----------------------------------------------------------------------
185 RETURN
186 END
#define my_real
Definition cppsort.cpp:32
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
subroutine st_qaprint_properties(igeo, geo, bufgeo, pm_stack, geo_stack, igeo_stack)
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804