42
43
44
47 USE bcs_mod
49 use glob_therm_mod
50
51
52
53#include "implicit_f.inc"
54
55
56
57#include "com04_c.inc"
58#include "lagmult.inc"
59#include "param_c.inc"
60#include "scr17_c.inc"
61#include "tabsiz_c.inc"
62#include "sphcom.inc"
63#include "fxbcom.inc"
64
65
66
67 INTEGER, INTENT(IN) :: NOM_OPT(LNOPT1,SNOM_OPT1), INOM_OPT(SINOM_OPT)
68 INTEGER, INTENT(IN) :: ITAB(NUMNOD)
69 TYPE (glob_therm_) ,intent(in) :: glob_therm
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119 INTEGER, INTENT(IN) :: NIMPDISP,NIMPVEL,NIMPACC
120 INTEGER, INTENT(IN) :: NPBY(NNPBY,NRBYKIN), NPBYL(NNPBY,NRBYLAG),
121 . LPBY(*), LPBYL(*), IBCSCYC(4,NBCSCYC)
122 INTEGER, INTENT(IN) :: IBFTEMP(GLOB_THERM%NIFT,GLOB_THERM%NFXTEMP)
123 INTEGER, INTENT(IN) :: IBFFLUX(GLOB_THERM%NITFLUX,GLOB_THERM%NFXFLUX)
124 INTEGER, INTENT(IN) :: ICODE(NUMNOD), ISKEW(NUMNOD),IBFVEL(NIFV,NFXVEL)
125 INTEGER, INTENT(IN) :: IBCSLAG(5,NBCSLAG),NPRW(NRWALL,NNPRW),LPRW(SLPRW)
126 INTEGER, INTENT(IN) :: IRBE3(NRBE3L,NRBE3), LRBE3(SLRBE3)
127 INTEGER, INTENT(IN) :: IRBE2(NRBE2L,NRBE2), LRBE2(SLRBE2)
128 INTEGER, INTENT(IN) :: NNLINK(10,SNNLINK), LNLINK(SLNLINK)
129 INTEGER, DIMENSION(NRWALL) :: IDX, IDS
130 INTEGER, DIMENSION(NFXBODY) :: IDXFX, IDSFX
131 INTEGER, INTENT(IN) :: MGRBY(,SMGRBY)
132 INTEGER, INTENT(IN) :: ISPCOND(NISPCOND,*),LJOINT(*),GJBUFI(LKJNI,*)
133 INTEGER, INTENT(IN) :: IBMPC(NUMMPC),IBMPC2(LMPC),IBMPC3(LMPC),IBMPC4(LMPC)
135 . rby(nrby,nrbykin),rbyl(nrby,nrbylag),frbe3(6,*),gjbufr(lkjnr,*),ms(*),in(*)
136 my_real,
INTENT(IN) :: fbftemp(glob_therm%LFACTHER,glob_therm%NFXTEMP)
137 my_real,
INTENT(IN) :: fbfflux(glob_therm%LFACTHER,glob_therm%NFXFLUX)
138 my_real,
INTENT(IN) :: fbfvel(lfxvelr,nfxvel)
140 . rwbuf(nrwlp,nrwall)
142 . rbmpc(srbmpc)
143 INTEGER, INTENT(IN) :: LLINAL
144 INTEGER, DIMENSION(LLINAL), INTENT(IN) :: LINALE
145 INTEGER, INTENT(IN) :: FXBIPM(NBIPM,NFXBODY)
146 CHARACTER, DIMENSION(NFXBODY) :: FXBFILE_TAB*2148
147
148
149
150 INTEGER I, II, MY_ID, MY_RBODY, MY_CONSTRAINT, MY_NODE, MY_RWALL, POSI(NRWALL+1),
151 . MY_MERGE, TNSL, K, NS, MY_FXBODY
152 CHARACTER(LEN=NCHARTITLE) :: TITR
153 CHARACTER (LEN=255) :: VARNAME
154 DOUBLE PRECISION TEMP_DOUBLE
155 INTEGER
156 INTEGER IADS,ITMP
157
158
159
161 DO my_rbody=1,nrbykin
162
163 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,my_rbody),ltitr
164 my_id = npby(6,my_rbody)
165 IF(len_trim(titr)/=0)THEN
166 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
167 ELSE
168 CALL qaprint(
'A_RIGID_BODY_FAKE_NAME',my_id,0.0_8)
169 END IF
170
171 DO i=1,nnpby
172 IF(npby(i,my_rbody) /=0)THEN
173
174
175 WRITE(varname,'(A,I0)') 'NPBY_',i
176 CALL qaprint(varname(1:len_trim(varname)),npby(i,my_rbody),0.0_8)
177 END IF
178 END DO
179
180 DO i=npby(11,my_rbody)+1,npby(11,my_rbody)+npby(2,my_rbody)
181
182
183 WRITE(varname,'(A,I0)') 'LPBY_',i
184 CALL qaprint(varname(1:len_trim(varname)),lpby(i),0.0_8)
185 END DO
186
187 DO i=1,nrby
188 IF(rby(i,my_rbody)/=zero)THEN
189
190
191 WRITE(varname,'(A,I0)') 'RBY_',i
192 temp_double = rby(i,my_rbody)
193 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
194 END IF
195 END DO
196
197 END DO
198
199 tnsl=0
200 DO my_rbody=1,nrbylag
201
202 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,nrbykin+my_rbody),ltitr)
203 my_id = npbyl(6,my_rbody)
204 IF(len_trim(titr)/=0)THEN
205 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
206 ELSE
207 CALL qaprint(
'A_RIGID_BODY_FAKE_NAME',my_id,0.0_8)
208 END IF
209
210 DO i=1,nnpby
211 IF(npbyl(i,my_rbody) /=0)THEN
212
213
214 WRITE(varname,'(A,I0)') 'NPBYL_',i
215 CALL qaprint(varname(1:len_trim(varname)),npbyl(i,my_rbody),0.0_8
216 END IF
217 END DO
218
219 DO i=1,npbyl(2,my_rbody)-1
220
221
222 WRITE(varname,'(A,I0)') 'LPBYL_',i
223 CALL qaprint(varname(1:len_trim(varname)),itab(lpbyl(tnsl+i)),0.0_8)
224 END DO
225
226 DO i=1,nrby
227 IF(rbyl(i,my_rbody)/=zero)THEN
228
229
230 WRITE(varname,'(A,I0)') 'RBYL_',i
231 temp_double = rbyl(i,my_rbody)
232 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
233 END IF
234 END DO
235
236 tnsl=tnsl+3*npbyl(2,my_rbody)
237 END DO
238 END IF
239
240
241
243 DO my_node=1,numnod
244
245 my_id = itab(my_node)
246
247 IF(icode(my_node)/=0)THEN
248
249 WRITE(varname,'(A,I0,I0)') 'ICODE_',my_id
250 CALL qaprint(varname(1:len_trim(varname)),icode(my_node),0.0_8)
251 END IF
252
253 IF(iskew(my_node)/=0)THEN
254
255
256 WRITE(varname,'(A,I0,I0)') 'ISKEW_',my_id
257 CALL qaprint(varname(1:len_trim(varname)),iskew(my_node),0.0_8)
258 END IF
259
260 END DO
261 END IF
262
263
264
266 DO my_constraint=1,glob_therm%NFXTEMP
267
268
269
271 IF(len_trim(titr)/=0)THEN
272 CALL qaprint(titr(1:len_trim(titr)),my_constraint,0.0_8)
273 ELSE
274 CALL qaprint(
'A_IMPTEMP_FAKE_NAME',my_constraint,0.0_8)
275 END IF
276
277 DO i=1,glob_therm%NIFT
278 IF(ibftemp(i,my_constraint) /=0)THEN
279
280
281 WRITE(varname,'(A,I0)') 'IBFTEMP_',i
282 CALL qaprint(varname(1:len_trim(varname)),ibftemp(i,my_constraint),0.0_8)
283 END IF
284 END DO
285
286 DO i=1,glob_therm%LFACTHER
287 IF(fbftemp(i,my_constraint)/=zero)THEN
288
289
290 WRITE(varname,'(A,I0)') 'FBFTEMP_',i
291 temp_double = fbftemp(i,my_constraint)
292 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
293 END IF
294 END DO
295
296 END DO
297 END IF
298
299
300
302 DO my_constraint=1,nimpdisp
303
305 IF(len_trim(titr)/=0)THEN
306 CALL qaprint(titr(1:len_trim(titr)),my_constraint,0.0_8)
307 ELSE
308 CALL qaprint(
'A_IMPACC_FAKE_NAME',my_constraint,0.0_8)
309 END IF
310
311 DO i=1,nifv
312 IF (ibfvel(i,my_constraint) /=0) THEN
313
314
315 WRITE(varname,'(A,I0)') 'IBFVEL_',i
316 CALL qaprint(varname(1:len_trim(varname)),ibfvel(i,my_constraint),0.0_8)
317 END IF
318 END DO
319
320 DO i=1,lfxvelr
321 IF(fbfvel(i,my_constraint)/=zero)THEN
322
323
324 WRITE(varname,'(A,I0)') 'FBFVEL_',i
325 temp_double = fbfvel(i,my_constraint)
326 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
327 END IF
328 END DO
329
330 END DO
331 END IF
332
333
334
336 DO my_constraint=nimpdisp+1,nimpdisp+nimpvel
337
339 IF(len_trim(titr)/=0)THEN
340 CALL qaprint(titr(1:len_trim(titr)),my_constraint,0.0_8)
341 ELSE
342 CALL qaprint(
'A_IMPACC_FAKE_NAME',my_constraint,0.0_8)
343 END IF
344
345 DO i=1,nifv
346 IF (ibfvel(i,my_constraint) /=0) THEN
347
348
349 WRITE(varname,'(A,I0)') 'IBFVEL_',i
350 CALL qaprint(varname(1:len_trim(varname)),ibfvel(i,my_constraint),0.0_8)
351 END IF
352 END DO
353
354 DO i=1,lfxvelr
355 IF(fbfvel(i,my_constraint)/=zero)THEN
356
357
358 WRITE(varname,'(A,I0)') 'FBFVEL_',i
359 temp_double = fbfvel(i,my_constraint)
360 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
361 END IF
362 END DO
363
364 END DO
365 END IF
366
367
368
370 DO my_constraint=nfxvel-nimpacc+1,nfxvel
371
372
373
375 IF(len_trim(titr)/=0)THEN
376 CALL qaprint(titr(1:len_trim(titr)),my_constraint,0.0_8)
377 ELSE
378 CALL qaprint(
'A_IMPACC_FAKE_NAME',my_constraint
379 END IF
380
381 DO i=1,nifv
382 IF (ibfvel(i,my_constraint) /=0) THEN
383
384
385 WRITE(varname,'(A,I0)') 'IBFVEL_',i
386 CALL qaprint(varname(1:len_trim
387 END IF
388 END DO
389
390 DO i=1,lfxvelr
391 IF(fbfvel(i,my_constraint)/=zero)THEN
392
393
394 WRITE(varname,'(A,I0)') 'FBFVEL_',i
395 temp_double = fbfvel(i,my_constraint)
396 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
397 END IF
398 END DO
399
400 END DO
401 END IF
402
403
404
406 DO my_constraint=1
407
408
409
411 IF(len_trim(titr)/=0)THEN
412 CALL qaprint(titr(1:len_trim(titr)),my_constraint,0.0_8)
413 ELSE
414 CALL qaprint(
'A_IMPFLUX_FAKE_NAME',my_constraint,0.0_8)
415 END IF
416
417 DO i=1,glob_therm%NITFLUX
418 IF(ibfflux(i,my_constraint) /=0)THEN
419
420
421 WRITE(varname,'(A,I0)') 'IBFFLUX_',i
422 CALL qaprint(varname(1:len_trim(varname)),ibfflux(i,my_constraint),0.0_8)
423 END IF
424 END DO
425
426 DO i=1,glob_therm%LFACTHER
427 IF(fbfflux(i,my_constraint)/=zero)THEN
428
429
430 WRITE(varname,'(A,I0)') 'FBFFLUX_',i
431 temp_double = fbfflux(i,my_constraint)
432 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
433 END IF
434 END DO
435
436 END DO
437 END IF
438
439
440
441 IF (
myqakey(
'/BCS/LAGMUL'))
THEN
442 DO my_constraint=1,nbcslag
443
445 my_id = ibcslag(5,my_constraint)
446 IF(len_trim(titr)/=0)THEN
447 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
448 ELSE
449 CALL qaprint(
'A_BCS_LAGMUL_FAKE_NAME',my_id,0.0_8)
450 END IF
451
452 DO i=1,5
453
454 IF(ibcslag(i,my_constraint)/=0)THEN
455
456
457 WRITE(varname,'(A,I0,I0)') 'IBCSLAG_',i
458 CALL qaprint(varname(1:len_trim(varname)),ibcslag(i
459 END IF
460
461 END DO
462
463 END DO
464 END IF
465
466
467
468 IF (
myqakey(
'/BCS/CYCLIC'))
THEN
469 DO my_constraint=1,nbcscyc
470
472 my_id = ibcscyc(4,my_constraint)
473 IF(len_trim(titr)/=0)THEN
474 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
475 ELSE
476 CALL qaprint(
'A_BCS_CYCLIC_FAKE_NAME',my_id,0.0_8)
477 END IF
478
479 DO i=1,4
480
481 IF(ibcscyc(i,my_constraint)/=0)THEN
482
483
484 WRITE(varname,'(A,I0,I0)') 'IBCSCYC_',i
485 CALL qaprint(varname(1:len_trim(varname)),ibcscyc(i,my_constraint),0.0_8)
486 END IF
487
488 END DO
489
490 END DO
491 END IF
492
493
494
496 DO my_constraint=1,bcs%NUM_WALL
497
499 my_id = bcs%WALL(my_constraint)%user_id
500 IF(len_trim(titr)/=0)THEN
501 CALL qaprint(titr(1:len_trim(titr)),my_id
502 ELSE
503 CALL qaprint(
'A_BCS_WALL_FAKE_NAME',my_id,0.0_8)
504 END IF
505
506 WRITE(varname,'(A,I0,A)') 'BCS_WALL_',my_constraint,'__IS_DEPENDING_ON_TIME_'
507 temp_integer = 0
508 IF(bcs%WALL(my_constraint)%IS_DEPENDING_ON_TIME)temp_integer=1
509 CALL qaprint(varname(1:len_trim(varname
510
511 WRITE(varname,'(A,I0,A)') 'BCS_WALL_',my_constraint,'__IS_DEPENDING_ON_SENSOR_'
512 temp_integer = 0
513 IF(bcs%WALL(my_constraint)%IS_DEPENDING_ON_SENSOR)temp_integer=1
514 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
515
516 WRITE(varname,'(A,I0,A)') 'BCS_WALL_',my_constraint,'__GRNOD_ID_'
517 temp_integer = bcs%WALL(my_constraint)%GRNOD_ID
518 CALL qaprint(varname(1:len_trim(varname)),temp_integer,0.0_8)
519
520 WRITE(varname,'(A,I0,A)') 'BCS_WALL_',my_constraint,'__SENSOR_ID_'
521 temp_integer = bcs%WALL(my_constraint)%SENSOR_ID
522 CALL qaprint(varname(1:len_trim(varname
523
524 WRITE(varname,'(A,I0,A)') 'BCS_WALL_',my_constraint,'__TSTART_'
525 temp_double = bcs%WALL(my_constraint)%TSTART
526 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
527
528 WRITE(varname,'(A,I0,A)') 'BCS_WALL_',my_constraint,'__TSTOP_'
529 temp_double = bcs%WALL(my_constraint)%TSTOP
530 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
531
532 WRITE(varname,'(A,I0,A)') 'bcs_wall_',MY_CONSTRAINT,'__list__size_'
533 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%SIZE
534 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INTEGER,0.0_8)
535 !
536 ITMP=TEMP_INTEGER
537 IF(ITMP == 1)THEN
538 WRITE(VARNAME,'(a,i0,a)') 'bcs_wall_',MY_CONSTRAINT,'__list__elem_1_'
539 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%ELEM(1)
540 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INTEGER,0.0_8)
541 !
542 WRITE(VARNAME,'(a,i0,a)') 'bcs_wall_',MY_CONSTRAINT,'__list__face_1_'
543 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%FACE(1)
544 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INTEGER,0.0_8)
545 ELSEIF(ITMP > 1)THEN
546 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%ELEM(1)
547 WRITE(VARNAME,'(a,i0,a,i0,a)') 'bcs_wall_',MY_CONSTRAINT,'__list__elems_ ',TEMP_INTEGER,' ...'
548 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%ELEM(ITMP)
549 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INTEGER,0.0_8)
550 !
551 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%FACE(1)
552 WRITE(VARNAME,'(a,i0,a,i0,a)') 'bcs_wall_',MY_CONSTRAINT,'__list__faces_ ',TEMP_INTEGER,' ...'
553 TEMP_INTEGER = BCS%WALL(MY_CONSTRAINT)%LIST%FACE(ITMP)
554 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INTEGER,0.0_8)
555 ENDIF
556
557 END DO ! MY_CONSTRAINT=1,BCS%NUM_WALL
558 END IF
559
560
561
562 IF (MYQAKEY('/rwall')) THEN
563 IF (NRWALL > 0) THEN
564
565! Sort by ID to ensure internal order independent output
566 POSI(1) = 1
567 DO I = 1, NRWALL
568 IDS(I) = NOM_OPT(LNOPT1*INOM_OPT(5)+1,I)
569 IDX(I) = I
570 POSI(I+1) = POSI(I) + NPRW(I,1)+INT(RWBUF(8,I))
571 ENDDO
572 CALL QUICKSORT_I2(IDS, IDX, 1, NRWALL)
573
574! Loop over RWALLs
575 DO II = 1,NRWALL
576
577 MY_RWALL = IDX(II)
578 TITR(1:nchartitle)=''
579 CALL FRETITL2(TITR,NOM_OPT(LNOPT1-LTITR+1,MY_RWALL),LTITR)
580 MY_ID = NOM_OPT(1,MY_RWALL + INOM_OPT(5))
581 IF (LEN_TRIM(TITR) /= 0) THEN
582 CALL QAPRINT(TITR(1:LEN_TRIM(TITR)),MY_ID,0.0_8)
583 ELSE
584 CALL QAPRINT('a_rwall_fake_name',MY_ID,0.0_8)
585 END IF
586
587 DO I = 1,NNPRW
588 IF (NPRW(MY_RWALL,I) /= 0) THEN
589
590
591 WRITE(VARNAME,'(a,i0)') 'nprw_',I
592 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),NPRW(MY_RWALL,I),0.0_8)
593 END IF
594 END DO
595
596 DO I = 1,NRWLP
597 IF (RWBUF(I,MY_RWALL) /= ZERO) THEN
598
599
600 WRITE(VARNAME,'(a,i0)') 'rwbuf_',I
601 TEMP_DOUBLE = RWBUF(I,MY_RWALL)
602 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
603 END IF
604 END DO
605
606 DO I = POSI(MY_RWALL),POSI(MY_RWALL+1)-1
607 IF (LPRW(I) /= 0) THEN
608
609
610 WRITE(VARNAME,'(a,i0)') 'lprw_',I-POSI(MY_RWALL)+1
611 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),LPRW(I),0.0_8)
612 END IF
613 END DO
614
615 END DO
616
617 ENDIF
618 ENDIF
619
620
621
622 IF (MYQAKEY('/rbe3')) THEN
623 iads = slrbe3/2
624 DO my_constraint=1,nrbe3
625
626 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,my_constraint + inom_opt(14)),ltitr)
627 my_id = irbe3(2,my_constraint)
628 IF(len_trim(titr)/=0)THEN
629 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
630 ELSE
631 CALL qaprint(
'A_RBE3_FAKE_NAME',my_id,0.0_8)
632 END IF
633
634 DO i=1,nrbe3l
635 IF(irbe3(i,my_constraint) /=0)THEN
636
637
638 WRITE(varname,'(A,I0)') 'IRBE3_',i
639 CALL qaprint(varname(1:len_trim(varname)),irbe3(i,my_constraint),0.0_8)
640 END IF
641 END DO
642
643 DO i=irbe3(1,my_constraint)+1,irbe3(1,my_constraint)+irbe3(5,my_constraint)
644
645
646 WRITE(varname,'(A,I0)') 'LRBE3_',i
647 CALL qaprint(varname(1:len_trim(varname)),lrbe3(i),0.0_8)
648 END DO
649
650 DO i=irbe3(1,my_constraint)+1,irbe3(1,my_constraint)+irbe3(5,my_constraint)
651
652
653 WRITE(varname,'(A,I0)') 'LRBE3s_',i
654 CALL qaprint(varname(1:len_trim(varname)),lrbe3(i+iads),0.0_8)
655 END DO
656
657 DO i=irbe3(1,my_constraint)+1,irbe3(1,my_constraint)+irbe3(5,my_constraint)
658
659 DO ii = 1,6
660 IF(frbe3(ii,i) /=one.AND.frbe3(ii,i) /=zero)THEN
661 WRITE(varname,'(A,I1,A,I0)') 'FRBE3_',ii,'_',i
662 temp_double = frbe3(ii,i)
663 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
664 END IF
665 END DO
666 END DO
667
668 END DO
669 END IF
670
671
672
674 ii = 1
675 DO my_constraint=1,nrbmerge
676
677 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,inom_opt(30)+my_constraint),ltitr)
678 my_id = mgrby(6,ii)
679 IF(len_trim(titr)/=0)THEN
680 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
681 ELSE
682 CALL qaprint(
'A_MERGE_FAKE_NAME',my_id,0.0_8)
683 END IF
684
685 DO my_merge=ii,smgrby
686 IF(mgrby(6,my_merge) /= my_id) THEN
687 ii = my_merge
688 EXIT
689 ENDIF
690 DO i=1,nmgrby
691 IF(mgrby(i,my_merge) /=0)THEN
692
693 WRITE(varname,'(A,I0)') 'MGRBY_',i
694 CALL qaprint(varname(1:len_trim(varname)),mgrby(i,my_merge),0.0_8)
695 END IF
696 END DO
697 END DO
698
699 END DO
700 END IF
701
702
703
705 DO my_constraint=1,nspcond
706
708 my_id = ispcond(4,my_constraint)
709 IF(len_trim(titr)/=0)THEN
710 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
711 ELSE
712 CALL qaprint(
'A_SPHBCS_FAKE_NAME',my_id,0.0_8)
713 END IF
714
715 DO i=1,nispcond
716 IF(ispcond(i,my_constraint)/=0)THEN
717
718 WRITE(varname,'(A,I0,I0)') 'ISPCOND_',i
719 CALL qaprint(varname(1:len_trim(varname)),ispcond(i,my_constraint),0.0_8)
720 END IF
721
722 END DO
723
724 END DO
725 END IF
726
727
728
730 DO my_constraint=1,nrbe2
731
732 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,my_constraint + inom_opt(13)),ltitr)
733 my_id = irbe2(2,my_constraint)
734 IF(len_trim(titr)/=0)THEN
735 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
736 ELSE
737 CALL qaprint(
'A_RBE2_FAKE_NAME',my_id,0.0_8)
738 END IF
739
740 DO i=1,nrbe2l
741 IF(irbe2(i,my_constraint) /=0)THEN
742
743
744 WRITE(varname,'(A,I0)') 'IRBE2_',i
745 CALL qaprint(varname(1:len_trim(varname)),irbe2(i,my_constraint),0.0_8)
746 END IF
747 END DO
748
749 DO i=irbe2(1,my_constraint)+1,irbe2(1,my_constraint)+irbe2(5,my_constraint)
750
751
752 WRITE(varname,'(A,I0)') 'LRBE2_',i
753 CALL qaprint(varname(1:len_trim(varname)),lrbe2(i),0.0_8)
754 END DO
755
756 END DO
757 END IF
758
759
760
762 ii=0
763 DO my_constraint=1,nummpc
764
765 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,inom_opt(17) + my_constraint),ltitr)
766
767 my_id = nom_opt(1,inom_opt(17)+my_constraint)
768 IF(len_trim(titr)/=0)THEN
769 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
770 ELSE
771 CALL qaprint(
'A_MPC_FAKE_NAME',my_id,0.0_8)
772 END IF
773
774 DO i=1,ibmpc(my_constraint)
775
776 IF(ibmpc2(ii+i) /=0)THEN
777
778 WRITE(varname,'(A,I0)') 'NOD_',i
779 CALL qaprint(varname(1:len_trim(varname)),ibmpc2(ii+i),0.0_8)
780 END IF
781
782 IF(ibmpc3(ii+i) /=0)THEN
783
784 WRITE(varname,'(A,I0)') 'IDOF_',i
786 END IF
787
788 IF(ibmpc4(ii+i) /=0)THEN
789
790 WRITE(varname,'(A,I0)') 'ISKEW_',i
791 CALL qaprint(varname(1:len_trim(varname)),ibmpc4(ii+i),0.0_8)
792 END IF
793
794 IF(rbmpc(ii+i) /=0)THEN
795 WRITE(varname,'(A,I1,A,I0)') 'ALPHA_',i
796 temp_double = rbmpc(ii+i)
797 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
798 END IF
799
800 END DO
801 ii = ii + ibmpc(my_constraint)
802
803 END DO
804 END IF
805
806
807
808 IF (
myqakey(
'/CYL_JOINT'))
THEN
809
810 ii = 1
811
812 DO my_constraint=1,njoint
813
814 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,inom_opt(7)+my_constraint),ltitr)
815 my_id = nom_opt(1,inom_opt(7)+my_constraint)
816 IF(len_trim(titr)/=0)THEN
817 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
818 ELSE
819 CALL qaprint(
'A_CYLJOINT_FAKE_NAME',my_id,0.0_8)
820 END IF
821
822 ns = ljoint(ii)
823
824 DO i=1,ns
825 WRITE(varname,'(A,I0)') 'NOD_',i
826 CALL qaprint(varname(1:len_trim(varname)),itab(ljoint(ii+i)),0.0_8)
827 ENDDO
828
829 ii=ii+ns+1
830
831 END DO
832 END IF
833
834
835
837
838 DO my_constraint=1,ngjoint
839
840 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,inom_opt(18) + my_constraint),ltitr)
841 my_id = nom_opt(1,inom_opt(18)+my_constraint)
842 IF(len_trim(titr)/=0)THEN
843 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
844 ELSE
845 CALL qaprint(
'A_GJOINT_FAKE_NAME',my_id,0.0_8)
846 END IF
847
848 DO i=1,lkjni
849 WRITE(varname,'(A,I0)') 'GJBUFI_',i
850 CALL qaprint(varname(1:len_trim(varname)),gjbufi(i,my_constraint),0.0_8)
851 ENDDO
852
853 DO i=1,lkjnr
854 WRITE(varname,'(A,I0)') 'GJBUFR_',i
855 temp_double = gjbufr(i,my_constraint)
856 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
857 ENDDO
858
859 DO i=1,4
860 WRITE(varname,'(A,I0)') 'MASS_',i
861 IF (gjbufi(2+i,my_constraint) > 0) THEN
862 temp_double = ms(gjbufi(2+i,my_constraint))
863 ELSE
864 temp_double = zero
865 ENDIF
866 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
867 ENDDO
868
869 DO i=1,4
870 WRITE(varname,'(A,I0)') 'INER_',i
871 IF (gjbufi(2+i,my_constraint) > 0) THEN
872 temp_double = in(gjbufi(2+i,my_constraint))
873 ELSE
874 temp_double = zero
875 ENDIF
876 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
877 ENDDO
878
879 END DO
880 END IF
881
882
883
885
886 IF (nlink > 0) THEN
887
888
889 DO my_constraint = 1, nlink
890
891 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,inom_opt(9)+my_constraint),ltitr
892 my_id = nom_opt(1,inom_opt(9)+my_constraint)
893 IF(len_trim(titr)/=0)THEN
894 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
895 ELSE
896 CALL qaprint(
'A_RLINK_NAME',my_id,0.0_8)
897 END IF
898
899 DO i = 1,10
900 IF(nnlink(i,my_constraint) /=0)THEN
901 WRITE(varname,'(A,I0)') 'NNLINK_',i
902 CALL qaprint(varname(1:len_trim(varname)),nnlink(i,my_constraint),0.0_8)
903 END IF
904 ENDDO
905
906 ENDDO
907 DO i = 1,slnlink
908 IF(lnlink(i) /=0)THEN
909 WRITE(varname,'(A,I0)') 'LNLINK_',i
910 CALL qaprint(varname(1:len_trim(varname)),lnlink(i),0.0_8)
911 END IF
912 ENDDO
913
914
915 ENDIF
916 END IF
917
918
919
921 DO ii = 1, llinal
922 WRITE(varname,'(A,I0)') 'LINALE_', ii
923 CALL qaprint(varname(1:len_trim(varname)),linale(ii),0.0_8)
924 ENDDO
925 ENDIF
926
927
928
930 IF (nfxbody > 0) THEN
931
932
933 DO i = 1, nfxbody
934 idsfx(i) = fxbipm(1,i)
935 idxfx(i) = i
936 ENDDO
938
939
940 DO ii = 1,nfxbody
941
942 my_fxbody = idxfx(ii)
944 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,inom_opt(11)+my_fxbody),ltitr)
945 my_id = nom_opt(1,inom_opt(11)+my_fxbody)
946 IF (len_trim(titr) /= 0) THEN
947 CALL qaprint(titr(1:len_trim(titr)),my_id
948 ELSE
949 CALL qaprint(
'A_FXBODY_FAKE_NAME',my_id,0.0_8)
950 END IF
951
952 DO i = 1,nbipm
953 IF (fxbipm(i,my_fxbody) /= 0) THEN
954 WRITE(varname,'(A,I0)') 'FXBIPM_',i
955 CALL qaprint(varname(1:len_trim(varname)),fxbipm(i,my_fxbody),0.0_8
956 ENDIF
957 ENDDO
958
959 CALL qaprint(
'FXBODY_FILE_NAME',0,0.0_8)
960 CALL qaprint(fxbfile_tab(my_fxbody)(1:len_trim(fxbfile_tab(my_fxbody))),0,0.0_8)
961
962 ENDDO
963 ENDIF
964 ENDIF
965
966 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 ...
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...
recursive subroutine quicksort_i2(a, idx, first, last)