34 1 NOM_OPT ,INOM_OPT ,ITAB ,V ,VR ,
35 2 W ,TEMP ,INICRACK ,FVM_INIVEL,
50#include "implicit_f.inc"
58#include "tabsiz_c.inc"
59#include "com_xfem1.inc"
63 INTEGER,
INTENT(IN) :: NOM_OPT(LNOPT1,SNOM_OPT1), INOM_OPT(SINOM_OPT)
64 INTEGER,
INTENT(IN) :: ITAB(NUMNOD)
65 TYPE (FVM_INIVEL_STRUCT),
DIMENSION(NINVEL),
INTENT(IN) :: FVM_INIVEL
118 . v(3,numnod), vr(svr),
122 TYPE (INICRACK_) ,
DIMENSION(NINICRACK) :: INICRACK
126 INTEGER I,II,JJ,MY_ID,MY_NODE,POSI(NINIGRAV+1),IDS(NINIGRAV),IDX(NINIGRAV),
127 . IDS2(NINICRACK),IDX2()
128 CHARACTER(LEN=NCHARTITLE) :: TITR
129 CHARACTER (LEN=255) :: VARNAME
130 DOUBLE PRECISION TEMP_DOUBLE
139 my_id = itab(my_node)
142 IF(v(i,my_node)/=zero)
THEN
145 WRITE(varname,
'(A,I0,A,I0)')
'V_',my_id,
'_',i
146 temp_double = v(i,my_node)
147 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
153 IF(vr(3*(my_node-1)+i)/=zero)
THEN
156 WRITE(varname,
'(A,I0,A,I0)')
'VR_',my_id,
'_',i
157 temp_double = vr(3*(my_node-1)+i)
158 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
165 IF (fvm_inivel(ii)%FLAG)
THEN
166 WRITE(varname,
'(A, I0)')
"FVM_INIVEL_", ii
167 CALL qaprint(varname(1:len_trim(varname)),0,0.0_8)
168 WRITE(varname,
'(A)')
'VX_'
169 temp_double = fvm_inivel(ii)%VX
170 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
171 WRITE(varname,
'(A)') 'vy_
'
172 TEMP_DOUBLE = FVM_INIVEL(II)%VY
173 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
174 WRITE(VARNAME,'(a)
') 'vz_
'
175 TEMP_DOUBLE = FVM_INIVEL(II)%VZ
176 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
177 WRITE(VARNAME,'(a)
') 'grbric_
'
178 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),FVM_INIVEL(II)%GRBRICID,0.0_8)
179 WRITE(VARNAME,'(a)
') 'grquad_
'
180 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),FVM_INIVEL(II)%GRQUADID,0.0_8)
181 WRITE(VARNAME,'(a)
') 'grtria_
'
182 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),FVM_INIVEL(II)%GRSH3NID,0.0_8)
187.AND.
IF (SW /= 0 MYQAKEY('grid_velocities
')) THEN
190 MY_ID = ITAB(MY_NODE)
193 IF(W(3*(MY_NODE-1)+I)/=ZERO)THEN
196 WRITE(VARNAME,'(a,i0,a,i0)
') 'w_
',MY_ID,'_
',I ! Specific format for THIS option !
197 TEMP_DOUBLE = W(3*(MY_NODE-1)+I)
198 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
202 END DO ! MY_NODE=1,NUMNOD
207 IF (MYQAKEY('/initemp
')) THEN
210 MY_ID = ITAB(MY_NODE)
212 IF(TEMP(MY_NODE)/=ZERO)THEN
215 WRITE(VARNAME,'(a,i0)
') 'temp_
',MY_ID ! Specific format for THIS option !
216 TEMP_DOUBLE = TEMP(MY_NODE)
217 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
220 END DO ! MY_NODE=1,NUMNOD
227 IF (NINIGRAV > 0) THEN
229! Sort by ID to ensure internal order independent output
234 CALL QUICKSORT_I2(IDS, IDX, 1, NINIGRAV)
240 CALL QAPRINT('a_inigrav_fake_name
',II,0.0_8)
244 WRITE(VARNAME,'(a,i0)
') 'inigrv_
',I
245 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),INIGRV(I,MY_ID),0.0_8)
250 WRITE(VARNAME,'(a,i0)
') 'linigrav_
',I
251 TEMP_DOUBLE = LINIGRAV(I,MY_ID)
252 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
260 IF (MYQAKEY('/inista
')) THEN
263 CALL QAPRINT('inista_file_name
',0,0.0_8)
264 CALL QAPRINT(S0FILE(1:LEN_TRIM(S0FILE)),0,0.0_8)
266 ! Inista initial balance
267 WRITE(VARNAME,'(a)
') 'isigi_
'
268 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),ISIGI,0.0_8)
270 ! Inista output format
271 WRITE(VARNAME,'(a)
') 'ioutp_fmt_
'
272 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),IOUTP_FMT,0.0_8)
274 ! Inista file format reading
275 WRITE(VARNAME,'(a)
') 'irootyy_r_
'
276 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),IROOTYY_R,0.0_8)
282 IF (MYQAKEY('/inicrack
')) THEN
284 IF (NINICRACK > 0) THEN
286! Sort by ID to ensure internal order independent output
288 IDS2(I) = INICRACK(I)%ID
291 CALL QUICKSORT_I2(IDS2, IDX2, 1, NINICRACK)
297 TITR = INICRACK(MY_ID)%TITLE
298 IF (LEN_TRIM(TITR) /= 0) THEN
299 CALL QAPRINT(TITR(1:LEN_TRIM(TITR)),II,0.0_8)
301 CALL QAPRINT('a_inicrack_fake_name
',II,0.0_8)
304 WRITE(VARNAME,'(a,i0,a)
') 'inicrack_',II,'_id_
'
305 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),INICRACK(MY_ID)%ID,0.0_8)
307 DO I = 1,INICRACK(MY_ID)%NSEG
309 WRITE(VARNAME,'(a,i0,a,i0,a)
') 'inicrack_',II,'_seg_
',I,'_node1_
'
310 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),INICRACK(MY_ID)%SEG(I)%NODES(1),0.0_8)
312 WRITE(VARNAME,'(a,i0,a,i0,a)
') 'inicrack_',II,'_seg_
',I,'_node2_
'
313 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),INICRACK(MY_ID)%SEG(I)%NODES(2),0.0_8)
315 WRITE(VARNAME,'(a,i0,a,i0,a)
') 'inicrack_',II,'_seg_
',I,'_ratio_
'
316 TEMP_DOUBLE = INICRACK(MY_ID)%SEG(I)%RATIO
317 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
326! /INIMAP1D and /INIMAP2D options
327 DO_QA = MYQAKEY('inimap
')
329 IF (NINIMAP1D > 0) THEN
331 WRITE(VARNAME, '(a)
') INIMAP1D(II)%TITLE(1:255)
332 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%ID, 0.0_8)
333 WRITE(VARNAME, '(a)
') 'formulation
'
334 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%FORMULATION, 0.0_8)
335 WRITE(VARNAME, '(a)
') 'projection
TYPE '
336 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%PROJ, 0.0_8)
337 WRITE(VARNAME, '(a)
') 'grbric
'
338 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%GRBRICID, 0.0_8)
339 WRITE(VARNAME, '(a)
') 'grquad
'
340 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%GRQUADID, 0.0_8)
341 WRITE(VARNAME, '(a)
') 'grtria
'
342 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%GRSH3NID, 0.0_8)
343 WRITE(VARNAME, '(a)
') 'ndoe1
'
344 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%NODEID1, 0.0_8)
345 WRITE(VARNAME, '(a)
') 'ndoe2
'
346 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%NODEID2, 0.0_8)
347 WRITE(VARNAME, '(a)
') 'func_vel
'
348 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%FUNC_VEL, 0.0_8)
349 TEMP_DOUBLE = INIMAP1D(II)%FAC_VEL
350 WRITE(VARNAME, '(a)
') 'fac_vel
'
351 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), 0, TEMP_DOUBLE)
352 DO JJ = 1, INIMAP1D(II)%NBMAT
353 WRITE(VARNAME, '(a)
') 'func_alpha
'
354 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%FUNC_ALPHA(JJ), 0.0_8)
355 WRITE(VARNAME, '(a)
') 'func_rho
'
356 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%FUNC_RHO(JJ), 0.0_8)
357 WRITE(VARNAME, '(a)
') 'func_pres
'
358 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%FUNC_PRES(JJ), 0.0_8)
359 WRITE(VARNAME, '(a)
') 'func_ener
'
360 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP1D(II)%FUNC_ENER(JJ), 0.0_8)
361 TEMP_DOUBLE = INIMAP1D(II)%FAC_RHO(JJ)
362 WRITE(VARNAME, '(a)
') 'fac_rho
'
363 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), 0, TEMP_DOUBLE)
364 TEMP_DOUBLE = INIMAP1D(II)%FAC_PRES_ENER(JJ)
365 WRITE(VARNAME, '(a)
') 'fac_pres_ener
'
366 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), 0, TEMP_DOUBLE)
370 IF (NINIMAP2D > 0) THEN
372 WRITE(VARNAME, '(a)
') INIMAP2D(II)%TITLE(1:255)
373 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%ID, 0.0_8)
374 WRITE(VARNAME, '(a)
') 'formulation
'
375 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%FORMULATION, 0.0_8)
376 WRITE(VARNAME, '(a)
') 'grbric
'
377 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%GRBRICID, 0.0_8)
378 WRITE(VARNAME, '(a)
') 'grquad
'
379 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%GRQUADID, 0.0_8)
380 WRITE(VARNAME, '(a)
') 'grtria
'
381 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%GRSH3NID, 0.0_8)
382 WRITE(VARNAME, '(a)
') 'ndoe1
'
383 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%NODEID1, 0.0_8)
384 WRITE(VARNAME, '(a)
') 'ndoe2
'
385 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%NODEID2, 0.0_8)
386 WRITE(VARNAME, '(a)
') 'ndoe3
'
387 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%NODEID3, 0.0_8)
388 WRITE(VARNAME, '(a)
') 'func_vel
'
389 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%FUNC_VEL, 0.0_8)
390 TEMP_DOUBLE = INIMAP2D(II)%FAC_VEL
391 WRITE(VARNAME, '(a)
') 'fac_vel
'
392 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), 0, TEMP_DOUBLE)
393 DO JJ = 1, INIMAP2D(II)%NBMAT
394 WRITE(VARNAME, '(a)
') 'func_alpha
'
395 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%FUNC_ALPHA(JJ), 0.0_8)
396 WRITE(VARNAME, '(a)
') 'func_rho
'
397 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%FUNC_RHO(JJ), 0.0_8)
398 WRITE(VARNAME, '(a)
') 'func_pres
'
399 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%FUNC_PRES(JJ), 0.0_8)
400 WRITE(VARNAME, '(a)
') 'func_ener
'
401 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), INIMAP2D(II)%FUNC_ENER(JJ), 0.0_8)
402 TEMP_DOUBLE = INIMAP2D(II)%FAC_RHO(JJ)
403 WRITE(VARNAME, '(a)
') 'fac_rho
'
404 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), 0, TEMP_DOUBLE)
405 TEMP_DOUBLE = INIMAP2D(II)%FAC_PRES_ENER(JJ)
406 WRITE(VARNAME, '(a)
') 'fac_pres_ener
'
407 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)), 0, TEMP_DOUBLE)
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...
subroutine st_qaprint_initial_conditions(nom_opt, inom_opt, itab, v, vr, w, temp, inicrack, fvm_inivel, inimap1d, inimap2d)