39
40
41
45 USE create_h3d_output_per_part_mod
46
47
48
49#include "implicit_f.inc"
50
51
52
53
54
55
56 TYPE (H3D_DATABASE) :: H3D_DATA
57 INTEGER ID_SOLID_VECTOR,ID_INPUT,STEXT1,SCOMMENT,
58 . LAYER,IUVAR,IR,IS,IT
59 INTEGER IPART(LIPART1,*)
60 CHARACTER(LEN=STEXT1) :: TEXT1
61 CHARACTER(LEN=SCOMMENT) :: COMMENT
62 CHARACTER(LEN=NCHARLINE100) :: KEY3_GLOB
63 TYPE(GROUP_) ,DIMENSION(NGRPART) ,INTENT(IN) :: IGRPART
64
65
66
67#include "com04_c.inc"
68#include "scr17_c.inc"
69
70
71
72
73
74
75 INTEGER I,N_H3D_PART
76
77 h3d_data%N_OUTP_H3D = h3d_data%N_OUTP_H3D + 1
78 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%OK = 1
79 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%KEYWORD = key3_glob
80 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%N_OUTP = h3d_data%N_OUTP_H3D + 3
81 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%ETYPE = 3
82 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%OUTP_TYPE = 2
83 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%LAYER = layer
84 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%IR = ir
85 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%IS = is
86 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%IT = it
87 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%IUVAR = iuvar
88 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%IS_INFO1 = 0
89 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%S_STRING1 = stext1
90 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%STRING1(1:stext1) = text1(1:stext1)
91 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%S_STRING2 = 0
92 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%S_COMMENT = scomment
93 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%COMMENT(1:scomment) = comment(1:scomment)
94
95 n_h3d_part = h3d_data%INPUT_LIST(id_input)%NB_PART
96 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%N_H3D_PART_LIST = n_h3d_part
97
98 IF (n_h3d_part /= 0 )
99 . ALLOCATE(h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%PART_LIST(n_h3d_part))
100 ALLOCATE(h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%PART(npart))
101
102
103
104
105
106
107 IF (n_h3d_part /= 0 ) THEN
108 DO i=1,npart
109 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%PART(i) = 0
110 ENDDO
111 ELSE
112 DO i=1,npart
113 h3d_data%OUTPUT_LIST(h3d_data%N_OUTP_H3D)%PART(i) = 1
114 ENDDO
115 ENDIF
116
117
118
119
120
121 CALL create_h3d_output_per_part(n_h3d_part,h3d_data,id_input,lipart1,npart,ipart,ngrpart,igrpart)
122
123
124
125
126
127 RETURN
integer, parameter ncharline100