OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
h3d_create_datatype.F File Reference
#include "implicit_f.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine h3d_create_datatype (h3d_data, ipari)

Function/Subroutine Documentation

◆ h3d_create_datatype()

subroutine h3d_create_datatype ( type (h3d_database) h3d_data,
integer, dimension(npari,*), intent(in) ipari )

Definition at line 38 of file h3d_create_datatype.F.

39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE h3d_mod
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "param_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 TYPE (H3D_DATABASE) :: H3D_DATA
55 INTEGER, INTENT(IN) :: IPARI(NPARI,*)
56C-----------------------------------------------
57C L O C A L V A R I A B L E S
58C-----------------------------------------------
59 INTEGER I,J,II,IUS,IPT,ILAY,CPT_CS_DATA,INTER_ID
60 CHARACTER MES*80,CHINFO*10
61C-----------------------------------------------
62 DO i=1,h3d_data%N_OUTP_H3D
63 IF(h3d_data%OUTPUT_LIST(i)%OK == 1 ) THEN
64 IF(h3d_data%OUTPUT_LIST(i)%ETYPE == 1) THEN
65c-------noda
66 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
67c------------scalar
68 IF(h3d_data%OUTPUT_LIST(i)%INTER /= 0 )THEN
69 inter_id = ipari(15,h3d_data%OUTPUT_LIST(i)%INTER)
70 ELSE
71 inter_id = 0
72 ENDIF
73 CALL c_h3d_create_nodal_scalar_datatype(
74 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
75 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
76 . inter_id,h3d_data%OUTPUT_LIST(i)%COMMENT,
77 . h3d_data%OUTPUT_LIST(i)%S_COMMENT)
78 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2) THEN
79c------------vector
80 CALL c_h3d_create_nodal_vector_datatype(
81 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
82 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%INFO2, h3d_data%OUTPUT_LIST(i)%STRING2,
83 . h3d_data%OUTPUT_LIST(i)%S_STRING2,h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
84 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
85c------------tensor
86 CALL c_h3d_create_nodal_tensor_datatype(
87 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
88 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%INFO2, h3d_data%OUTPUT_LIST(i)%STRING2,
89 . h3d_data%OUTPUT_LIST(i)%S_STRING2,h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
90 ENDIF
91 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 4) THEN
92c-------1D
93 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
94c------------scalar
95 CALL c_h3d_create_1d_scalar_datatype(
96 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
97 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
98 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT,h3d_data%OUTPUT_LIST(i)%IPT)
99 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2) THEN
100c------------vector
101 CALL c_h3d_create_1d_vector_datatype(
102 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
103 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
104 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
105 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
106c------------tensor
107 CALL c_h3d_create_1d_tensor_datatype(
108 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
109 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
110 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT,h3d_data%OUTPUT_LIST(i)%IPT)
111 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 4) THEN
112c------------torsor
113 CALL c_h3d_create_1d_torsor_datatype(
114 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
115 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
116 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
117 ENDIF
118 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 2) THEN
119c-------shells
120 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
121c------------scalar
122 CALL c_h3d_create_shell_scalar_datatype(
123 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
124 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%INFO2, h3d_data%OUTPUT_LIST(i)%STRING2,
125 . h3d_data%OUTPUT_LIST(i)%S_STRING2,
126 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IPT, h3d_data%OUTPUT_LIST(i)%PLY,
127 . h3d_data%OUTPUT_LIST(i)%IUVAR,h3d_data%OUTPUT_LIST(i)%GAUSS,h3d_data%OUTPUT_LIST(i)%IDMDS,
128 . h3d_data%OUTPUT_LIST(i)%IMDSVAR , h3d_data%OUTPUT_LIST(i)%IDMATMDS ,
129 . h3d_data%OUTPUT_LIST(i)%COMMENT , h3d_data%OUTPUT_LIST(i)%S_COMMENT,
130 . h3d_data%OUTPUT_LIST(i)%MDSVAR_NAME , h3d_data%OUTPUT_LIST(i)%SMDSVAR_NAME,
131 . h3d_data%OUTPUT_LIST(i)%OBJECT_ID , h3d_data%OUTPUT_LIST(i)%MODE )
132 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2) THEN
133c------------vector
134 CALL c_h3d_create_shell_vector_datatype(
135 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
136 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%INFO2, h3d_data%OUTPUT_LIST(i)%STRING2,
137 . h3d_data%OUTPUT_LIST(i)%S_STRING2,
138 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IPT, h3d_data%OUTPUT_LIST(i)%PLY,
139 . h3d_data%OUTPUT_LIST(i)%IUVAR,h3d_data%OUTPUT_LIST(i)%GAUSS,
140 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
141 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
142c------------tensor
144 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
145 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%INFO2, h3d_data%OUTPUT_LIST(i)%STRING2,
146 . h3d_data%OUTPUT_LIST(i)%S_STRING2,
147 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IPT, h3d_data%OUTPUT_LIST(i)%PLY,
148 . h3d_data%OUTPUT_LIST(i)%IUVAR,h3d_data%OUTPUT_LIST(i)%GAUSS,h3d_data%OUTPUT_LIST(i)%OBJECT_ID,
149 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
150 ENDIF
151 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 3) THEN
152c-------solids
153 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
154c------------scalar
155 CALL c_h3d_create_solid_scalar_datatype(
156 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
157 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
158 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IUVAR , h3d_data%OUTPUT_LIST(i)%IR ,
159 . h3d_data%OUTPUT_LIST(i)%IS, h3d_data%OUTPUT_LIST(i)%IT , h3d_data%OUTPUT_LIST(i)%IDMDS ,
160 . h3d_data%OUTPUT_LIST(i)%IMDSVAR , h3d_data%OUTPUT_LIST(i)%IDMATMDS ,
161 . h3d_data%OUTPUT_LIST(i)%COMMENT , h3d_data%OUTPUT_LIST(i)%S_COMMENT ,
162 . h3d_data%OUTPUT_LIST(i)%MDSVAR_NAME , h3d_data%OUTPUT_LIST(i)%SMDSVAR_NAME,
163 . h3d_data%OUTPUT_LIST(i)%OBJECT_ID , h3d_data%OUTPUT_LIST(i)%MODE )
164 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2) THEN
165c------------vector
166 CALL c_h3d_create_solid_vector_datatype(
167 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
168 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
169 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IUVAR , h3d_data%OUTPUT_LIST(i)%IR ,
170 . h3d_data%OUTPUT_LIST(i)%IS, h3d_data%OUTPUT_LIST(i)%IT ,
171 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
172 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
173c------------tensor
174 CALL c_h3d_create_solid_tensor_datatype(
175 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
176 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
177 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IUVAR , h3d_data%OUTPUT_LIST(i)%IR ,
178 . h3d_data%OUTPUT_LIST(i)%IS , h3d_data%OUTPUT_LIST(i)%IT ,h3d_data%OUTPUT_LIST(i)%OBJECT_ID ,
179 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT,
180 . h3d_data%OUTPUT_LIST(i)%IS_CORNER_DATA)
181 ENDIF
182 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 5) THEN
183c-------sph
184 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
185c------------scalar
186 CALL c_h3d_create_sph_scalar_datatype(
187 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
188 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
189 . h3d_data%OUTPUT_LIST(i)%IUVAR,
190 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT,h3d_data%OUTPUT_LIST(i)%OBJECT_ID,
191 . h3d_data%OUTPUT_LIST(i)%MODE )
192 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
193c------------tensor
194 CALL c_h3d_create_sph_tensor_datatype(
195 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
196 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
197 . h3d_data%OUTPUT_LIST(i)%IUVAR,
198 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
199 ENDIF
200 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 6) THEN
201c-------quad
202 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
203c------------scalar
204 CALL c_h3d_create_quad_scalar_datatype(
205 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
206 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
207 . h3d_data%OUTPUT_LIST(i)%IUVAR,
208 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT,h3d_data%OUTPUT_LIST(i)%OBJECT_ID,
209 . h3d_data%OUTPUT_LIST(i)%MODE)
210 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2) THEN
211c------------vector
212 CALL c_h3d_create_quad_vector_datatype(
213 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
214 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
215 . h3d_data%OUTPUT_LIST(i)%IUVAR,
216 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
217 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
218c------------tensor
219 CALL c_h3d_create_quad_tensor_datatype(
220 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
221 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
222 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IUVAR , h3d_data%OUTPUT_LIST(i)%IR ,
223 . h3d_data%OUTPUT_LIST(i)%IS, h3d_data%OUTPUT_LIST(i)%IT ,
224 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
225 ENDIF
226 ELSEIF(h3d_data%OUTPUT_LIST(i)%ETYPE == 7) THEN
227c-------skin
228 IF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 1) THEN
229c------------scalar
230 CALL c_h3d_create_skin_scalar_datatype(
231 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
232 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
233 . h3d_data%OUTPUT_LIST(i)%IUVAR,
234 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
235 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 2) THEN
236c------------vector
237 CALL c_h3d_create_skin_vector_datatype(
238 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
239 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
240 . h3d_data%OUTPUT_LIST(i)%IUVAR,
241 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
242 ELSEIF(h3d_data%OUTPUT_LIST(i)%OUTP_TYPE == 3) THEN
243c------------tensor
244 CALL c_h3d_create_skin_tensor_datatype(
245 . h3d_data%OUTPUT_LIST(i)%N_OUTP, h3d_data%OUTPUT_LIST(i)%STRING1, h3d_data%OUTPUT_LIST(i)%S_STRING1,
246 . h3d_data%OUTPUT_LIST(i)%INFO1, h3d_data%OUTPUT_LIST(i)%STRING2, h3d_data%OUTPUT_LIST(i)%S_STRING2,
247 . h3d_data%OUTPUT_LIST(i)%LAYER, h3d_data%OUTPUT_LIST(i)%IUVAR , h3d_data%OUTPUT_LIST(i)%IR ,
248 . h3d_data%OUTPUT_LIST(i)%IS, h3d_data%OUTPUT_LIST(i)%IT ,
249 . h3d_data%OUTPUT_LIST(i)%COMMENT,h3d_data%OUTPUT_LIST(i)%S_COMMENT)
250 ENDIF
251 ENDIF
252 ENDIF
253 ENDDO
254
255
256 CALL c_h3d_create_shell_eroded(h3d_data%N_OUTP_H3D+3, 'Erosion Status', 14,0,'',0)
257 CALL c_h3d_create_solid_eroded(h3d_data%N_OUTP_H3D+4, 'Erosion Status', 14,0,'',0)
258 CALL c_h3d_create_oned_eroded(h3d_data%N_OUTP_H3D+5, 'Erosion Status', 14,0,'',0)
259 CALL c_h3d_create_sph_eroded(h3d_data%N_OUTP_H3D+6, 'Erosion Status', 14,0,'',0)
260 CALL c_h3d_create_quad_eroded(h3d_data%N_OUTP_H3D+7, 'Erosion Status', 14,0,'',0)
261 CALL c_h3d_create_skin_eroded(h3d_data%N_OUTP_H3D+8, 'Erosion Status', 14,0,'',0)
262
263
264 RETURN
265
void c_h3d_create_shell_tensor_datatype(int *cpt_data, char *name1, int *size1, int *info1, int *info2, char *name2, int *size2, int *layer, int *ipt, int *ply, int *nuvar, int *gauss, int *id, char *comment, int *s_comment)
void c_h3d_create_oned_eroded(int *cpt_data, char *name, int *size, int *info, char *name1, int *size1)
void c_h3d_create_quad_eroded(int *cpt_data, char *name, int *size, int *info, char *name1, int *size1)
void c_h3d_create_shell_eroded(int *cpt_data, char *name, int *size, int *info, char *name1, int *size1)
void c_h3d_create_skin_eroded(int *cpt_data, char *name, int *size, int *info, char *name1, int *size1)
void c_h3d_create_solid_eroded(int *cpt_data, char *name, int *size, int *info, char *name1, int *size1)
void c_h3d_create_sph_eroded(int *cpt_data, char *name, int *size, int *info, char *name1, int *size1)