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