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
69 IF(len_trim(titr)/=0)THEN
70 CALL qaprint(titr(1:len_trim(titr)),igeo(1,my_pid),0.0_8)
71 ELSE
72 CALL qaprint('A_PID_FAKE_NAME',igeo(1,my_pid),0.0_8)
73 END IF
74 DO i=1,npropgi-ltitr
75 IF(igeo(i,my_pid)/=0)THEN
76C
77C VARNAME: variable name in ref.extract (without blanks)
78 WRITE(varname,'(A,I0)') 'IGEO_',i ! IGEO(11) => 'IGEO_11'
79 CALL qaprint(varname(1:len_trim(varname)),igeo(i,my_pid),0.0_8)
80 END IF
81 END DO
82 DO i=1,npropg
83 IF(geo(i,my_pid)/=zero)THEN
84C
85C VARNAME: variable name in ref.extract (without blanks)
86 WRITE(varname,'(A,I0)') 'GEO_',i
87 temp_double = geo(i,my_pid)
88 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
89 END IF
90 END DO
91C---------------------------------------------------
92C Warning: Some properties are storing some other data at the same locations
93C as the addresses (IADBUF, NUPARAM, etc) in IGEO
94C => to be cleaned before branching THIS !
95C---------------------------------------------------
96 iadbuf =igeo(57,my_pid)
97 nuparam=igeo(52,my_pid)
98 DO i=1,nuparam
99 IF(bufgeo(iadbuf+i-1)/=zero)THEN
100C
101C VARNAME: variable name in ref.extract (without blanks)
102 WRITE(varname,'(A,I0)') 'BUFGEO_IADBUF_',i
103 temp_double = bufgeo(iadbuf+i-1)
104 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
105 END IF
106 END DO
107 iadfun =igeo(58,my_pid)
108 njfun =igeo(53,my_pid)
109 DO i=1,njfun
110 IF(bufgeo(iadfun+i-1)/=zero)THEN
111C
112C VARNAME: variable name in ref.extract (without blanks)
113 WRITE(varname,'(A,I0)') 'BUFGEO_IADFUN_',i
114 temp_double = bufgeo(iadfun+i-1)
115 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
116 END IF
117 END DO
118 iadmat =igeo(59,my_pid)
119 njmat =igeo(54,my_pid)
120 DO i=1,njmat
121 IF(bufgeo(iadmat+i-1)/=zero)THEN
122C
123C VARNAME: variable name in ref.extract (without blanks)
124 WRITE(varname,'(A,I0)') 'BUFGEO_IADMAT_',i
125 temp_double = bufgeo(iadmat+i-1)
126 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
127 END IF
128 END DO
129 iadpid =igeo(60,my_pid)
130 njpid =igeo(55,my_pid)
131 DO i=1,njpid
132 IF(bufgeo(iadpid+i-1)/=zero)THEN
133C
134C VARNAME: variable name in ref.extract (without blanks)
135 WRITE(varname,'(A,I0)') 'BUFGEO_IADPID_',i
136 temp_double = bufgeo(iadpid+i-1)
137 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
138 END IF
139 END DO
140 iadtab =igeo(61,my_pid)
141 njtab =igeo(56,my_pid)
142 DO i=1,njtab
143 IF(bufgeo(iadtab+i-1)/=zero)THEN
144C
145C VARNAME: variable name in ref.extract (without blanks)
146 WRITE(varname,'(A,I0)') 'BUFGEO_IADTAB_',i
147 temp_double = bufgeo(iadtab+i-1)
148 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
149 END IF
150 END DO
151 END DO
152c
153 DO my_pid=1,ns_stack
154 my_id = my_pid
155 CALL qaprint('STACK_NAME_NO', my_id,0.0_8)
156c
157 DO i=1,20
158 IF (pm_stack(i,my_pid) /= zero) THEN
159 WRITE(varname,'(A,I0)') 'STACK_PM_',i
160 temp_double = pm_stack(i,my_pid)
161 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
162 END IF
163 END DO
164c
165 DO i=1,6*npt_stack+1
166 IF (geo_stack(i,my_pid) /= zero) THEN
167 WRITE(varname,'(A,I0)') 'STACK_GEO_',i
168 temp_double = geo_stack(i,my_pid)
169 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
170 END IF
171 END DO
172c
173 DO i=1,3*npt_stack+2
174 IF (igeo_stack(i,my_pid) /= 0) THEN
175 WRITE(varname,'(A,I0)') 'STACK_IGEO_',i
176 CALL qaprint(varname(1:len_trim(varname)),igeo_stack(i,my_pid),0.0_8)
177 END IF
178 END DO
179 END DO
180c
181 END IF
182C-----------------------------------------------------------------------
183 RETURN
184 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:799