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