OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
h3d_nodal_scalar.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "scr14_c.inc"
#include "param_c.inc"
#include "sphcom.inc"
#include "sms_c.inc"
#include "intstamp_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine h3d_nodal_scalar (output, elbuf_tab, nodal_scalar, ifunc, iparg, geo, mass, pm, itab, node_id, info1, info2, is_written_node, h3d_part, ipartc, iparttg, ixc, ixtg, temp, iflow, rflow, ixs, ixq, nv46, monvol, volmon, ale_connect, diag_sms, ms, pdama2, x, stifr, stifn, keyword, h3d_data, npby, rby, interskid, ninterskid, pskids, nodglob, ityskid, ipartsp, ipartr, ipartp, ipartt, iparts, ipartq, kxsp, ixr, ixp, ixt, n_h3d_part_list, interfric, csefric, csefricg, csefric_stamp, csefricg_stamp, nodal_scalar_fvm, airbags_total_fvm_in_h3d, is_written_node_fvm, ispmd, fvdata_p, airbags_node_id_shift, multi_fvm, itherm_fe, nfvbag)

Function/Subroutine Documentation

◆ h3d_nodal_scalar()

subroutine h3d_nodal_scalar ( type(output_), intent(inout) output,
type (elbuf_struct_), dimension(ngroup) elbuf_tab,
nodal_scalar,
integer ifunc,
integer, dimension(nparg,*) iparg,
geo,
mass,
pm,
integer, dimension(numnod) itab,
integer, dimension(*) node_id,
integer info1,
integer info2,
integer, dimension(numnod) is_written_node,
integer, dimension(*) h3d_part,
integer, dimension(*) ipartc,
integer, dimension(*) iparttg,
integer, dimension(nixc,numelc) ixc,
integer, dimension(nixtg,numeltg) ixtg,
temp,
integer, dimension(*) iflow,
rflow,
integer, dimension(nixs,numels) ixs,
integer, dimension(nixq,numelq) ixq,
integer nv46,
integer, dimension(*) monvol,
volmon,
type(t_ale_connectivity), intent(in) ale_connect,
diag_sms,
ms,
pdama2,
x,
stifr,
stifn,
character(len=ncharline100) keyword,
type (h3d_database) h3d_data,
integer, dimension(nnpby,*) npby,
rby,
integer interskid,
integer ninterskid,
pskids,
integer, dimension(*) nodglob,
integer ityskid,
integer, dimension(numsph), intent(in) ipartsp,
integer, dimension(numelr), intent(in) ipartr,
integer, dimension(numelp), intent(in) ipartp,
integer, dimension(numelt), intent(in) ipartt,
integer, dimension(numels), intent(in) iparts,
integer, dimension(numelq), intent(in) ipartq,
integer, dimension(nisp,numsph), intent(in) kxsp,
integer, dimension(nixr,numelr), intent(in) ixr,
integer, dimension(nixp,numelp), intent(in) ixp,
integer, dimension(nixt,numelt), intent(in) ixt,
integer, intent(in) n_h3d_part_list,
integer, intent(in) interfric,
dimension(output%data%ninefric,output%data%s_efricint), intent(in) csefric,
dimension(output%data%s_efric), intent(in) csefricg,
dimension(output%data%ninefric_stamp,output%data%s_efricintg), intent(in) csefric_stamp,
dimension(output%data%s_efricg), intent(in) csefricg_stamp,
dimension(airbags_total_fvm_in_h3d), intent(inout) nodal_scalar_fvm,
integer, intent(in) airbags_total_fvm_in_h3d,
integer, dimension(airbags_total_fvm_in_h3d), intent(inout) is_written_node_fvm,
integer, intent(in) ispmd,
type(fvbag_data), dimension(nfvbag), intent(in) fvdata_p,
integer, intent(in) airbags_node_id_shift,
type (multi_fvm_struct), intent(in) multi_fvm,
integer, intent(in) itherm_fe,
integer, intent(in) nfvbag )

Definition at line 49 of file h3d_nodal_scalar.F.

64C-----------------------------------------------
65C D e s c r i p t i o n
66C-----------------------------------------------
67C This subroutine is storing relevant scalar values requested
68C for H3D export by /H3D/NODA/... keywords
69C-----------------------------------------------
70C M o d u l e s
71C-----------------------------------------------
72 USE elbufdef_mod
73 USE h3d_mod
75 USE groupdef_mod , only: group_
76 USE fvbag_mod , only : fvbag_data
78 USE multi_fvm_mod , ONLY : multi_fvm_struct
79 USE output_mod
80 USE anim_monvol_mod
81 use element_mod , only : nixs,nixq,nixc,nixt,nixr,nixp,nixtg
82C-----------------------------------------------
83C I m p l i c i t T y p e s
84C-----------------------------------------------
85#include "implicit_f.inc"
86C-----------------------------------------------
87C C o m m o n B l o c k s
88C-----------------------------------------------
89#include "com01_c.inc"
90#include "com04_c.inc"
91#include "scr14_c.inc"
92#include "param_c.inc"
93#include "sphcom.inc"
94#include "sms_c.inc"
95#include "intstamp_c.inc"
96C-----------------------------------------------
97C D u m m y A r g u m e n t s
98C-----------------------------------------------
99 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
100 INTEGER, INTENT(IN) :: AIRBAGS_TOTAL_FVM_IN_H3D,ISPMD, AIRBAGS_NODE_ID_SHIFT
101 INTEGER, INTENT(IN) :: ITHERM_FE
102 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
103 my_real
104 . nodal_scalar(numnod),mass(*),geo(npropg,numgeo),
105 . pm(npropm,nummat),temp(*),rflow(*),volmon(*), diag_sms(*),ms(*),
106 . pdama2(2,*),x(*),stifr(*),stifn(*),rby(nrby,*),pskids(ninterskid,*)
107 my_real,INTENT(INOUT) :: nodal_scalar_fvm(airbags_total_fvm_in_h3d)
108 INTEGER IPARG(NPARG,*),IFUNC,NODE_ID(*),
109 . INFO1,INFO2,IS_WRITTEN_NODE(NUMNOD),H3D_PART(*),ITAB(NUMNOD),
110 . IXC(NIXC,NUMELC),IXTG(NIXTG,NUMELTG),IPARTC(*),IPARTTG(*),IFLOW(*),
111 . IXS(NIXS,NUMELS),IXQ(NIXQ,NUMELQ),NV46,MONVOL(*),NPBY(NNPBY,*),
112 . NODGLOB(*),
113 . INTERSKID,NINTERSKID,ITYSKID
114 INTEGER ,INTENT(IN) :: IPARTSP(NUMSPH),IPARTR(NUMELR),IPARTP(NUMELP),
115 . IPARTT(NUMELT),IPARTS(NUMELS),IPARTQ(NUMELQ)
116 INTEGER ,INTENT(IN) :: KXSP(NISP,NUMSPH),IXR(NIXR,NUMELR),
117 . IXP(NIXP,NUMELP),IXT(NIXT,NUMELT)
118 CHARACTER(LEN=NCHARLINE100) :: KEYWORD
119 TYPE (H3D_DATABASE) :: H3D_DATA
120 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
121 INTEGER ,INTENT(IN) :: N_H3D_PART_LIST
122 INTEGER , INTENT(IN) :: INTERFRIC
123 my_real , INTENT(IN) :: csefric(output%DATA%NINEFRIC,output%DATA%S_EFRICINT),
124 . csefricg(output%DATA%S_EFRIC),
125 . csefric_stamp(output%DATA%NINEFRIC_STAMP,output%DATA%S_EFRICINTG) ,csefricg_stamp(output%DATA%S_EFRICG)
126 INTEGER,INTENT(INOUT) :: IS_WRITTEN_NODE_FVM(AIRBAGS_TOTAL_FVM_IN_H3D)
127 INTEGER, INTENT(IN) :: NFVBAG
128 TYPE(FVBAG_DATA), INTENT(IN) :: FVDATA_P(NFVBAG)
129 TYPE (MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
130C-----------------------------------------------
131C L o c a l V a r i a b l e s
132C-----------------------------------------------
133 INTEGER I,J,K,M,N
134
135 ! H3D export for /NODE entities. Number : NUMNOD
136 INTEGER IOK_PART(NUMNOD)
137 INTEGER IS_WRITTEN_VALUE(NUMNOD)
138 my_real value(numnod)
139 my_real value_numnod(numnod)
140 REAL VALUE_NUMNOD_REAL(NUMNOD)
141
142 ! H3D export for FVMBAG (virtual nodes located at polyhedra centroids). Number : AIRBAGS_TOTAL_FVM_IN_H3D
143 INTEGER IOK_PART_FVM(AIRBAGS_TOTAL_FVM_IN_H3D)
145 my_real value_numnod_fvm(airbags_total_fvm_in_h3d)
146 REAL VALUE_NUMNOD_REAL_FVM(AIRBAGS_TOTAL_FVM_IN_H3D)
147C-----------------------------------------------
148C
149 value(1:numnod) = zero
150 value_numnod_real(1:numnod) = zero
151 value_numnod(1:numnod) = zero
152c
153 value_fvm(1:airbags_total_fvm_in_h3d) = zero
154 value_numnod_real_fvm(1:airbags_total_fvm_in_h3d) = zero
155 value_numnod_fvm(1:airbags_total_fvm_in_h3d) = zero
156 iok_part_fvm(1:airbags_total_fvm_in_h3d) = 1
157c
158 DO i=1,numnod
159 node_id(i) = itab(i)
160 iok_part(i) = 0
161 is_written_node(i) = 0
162 ENDDO
163C
164 IF(n_h3d_part_list .NE. 0)THEN
165 DO i=1,numsph
166 IF ( h3d_part(ipartsp(i)) == 1) THEN
167 IF(kxsp(2,i) > 0 )iok_part(kxsp(2,i)) = 1
168 ENDIF
169 ENDDO
170c
171 DO i=1,numelr
172 IF ( h3d_part(ipartr(i)) == 1) THEN
173 DO j=2,4
174 IF(ixr(j,i) > 0 )iok_part(ixr(j,i)) = 1
175 ENDDO
176 ENDIF
177 ENDDO
178c
179 DO i=1,numelp
180 IF ( h3d_part(ipartp(i)) == 1) THEN
181 DO j=2,4
182 IF(ixp(j,i) > 0 )iok_part(ixp(j,i)) = 1
183 ENDDO
184 ENDIF
185 ENDDO
186c
187 DO i=1,numelt
188 IF ( h3d_part(ipartt(i)) == 1) THEN
189 DO j=2,4
190 IF(ixt(j,i) > 0 )iok_part(ixt(j,i)) = 1
191 ENDDO
192 ENDIF
193 ENDDO
194c
195 DO i=1,numelc
196 IF ( h3d_part(ipartc(i)) == 1) THEN
197 DO j=2,5
198 IF(ixc(j,i) > 0 )iok_part(ixc(j,i)) = 1
199 ENDDO
200 ENDIF
201 ENDDO
202c
203 DO i=1,numeltg
204 IF ( h3d_part(iparttg(i)) == 1) THEN
205 DO j=2,4
206 IF(ixtg(j,i) > 0 )iok_part(ixtg(j,i)) = 1
207 ENDDO
208 ENDIF
209 ENDDO
210c
211 DO i=1,numels
212 IF ( h3d_part(iparts(i)) == 1) THEN
213 DO j=2,9
214 IF(ixs(j,i) > 0 )iok_part(ixs(j,i)) = 1
215 ENDDO
216 ENDIF
217 ENDDO
218c
219 DO i=1,numelq
220 IF ( h3d_part(ipartq(i)) == 1) THEN
221 DO j=2,5
222 IF(ixq(j,i) > 0 )iok_part(ixq(j,i)) = 1
223 ENDDO
224 ENDIF
225 ENDDO
226 ELSE
227 iok_part(1:numnod) = 1
228 ENDIF
229C
230C--------------------------------------------------
231 IF(keyword == 'DMASS') THEN
232 value(1:numnod) = output%DATA%SCAL_DMAS(1:numnod)
233 DO i=1,numnod
234 is_written_value(i) = 1
235 ENDDO
236 ELSE IF(keyword == 'DINER')THEN
237 value(1:numnod) = output%DATA%SCAL_DINER(1:numnod)
238 DO i=1,numnod
239 is_written_value(i) = 1
240 ENDDO
241 ELSEIF(keyword == 'MASS')THEN ! IFUNC<3.OR.IFUNC==12)THEN
242 DO i=1,numnod
243 value(i) = ms(i)
244 is_written_value(i) = 1
245 ENDDO
246 DO n=1,nrbykin
247 m=npby(1,n)
248 IF (m>0) THEN
249 value(m) = value(m) +(rby(15,n)-ms(m))
250 ENDIF
251 ENDDO
252C--------------------------------------------------
253 ELSEIF( keyword == 'P ' .OR. keyword == 'DENS' .OR. keyword == 'ENER' .OR.
254 . keyword == 'TEMP' .OR. keyword == 'SSP' .OR. keyword == 'DT' .OR.
255 . keyword == 'NVAR1' .OR. keyword == 'NVAR2' .OR. keyword == 'NVAR3' .OR.
256 . keyword == 'NVAR4' .OR. keyword == 'NVAR5' .OR. keyword == 'VOL' .OR.
257 . keyword == 'PEXT') THEN
258C--------------------------------------------------
259 IF(keyword == 'TEMP' .AND. (itherm_fe > 0 )) THEN
260 DO i=1,numnod
261 value(i)=temp(i)
262 is_written_value(i) = 1
263 ENDDO
264 ELSE
265c
266 IF(keyword == 'P') ifunc = 3
267 IF(keyword == 'DENS') ifunc = 4
268 IF(keyword == 'ENER') ifunc = 5
269 IF(keyword == 'TEMP') ifunc = 6
270 IF(keyword == 'NVAR1') ifunc = 7
271 IF(keyword == 'NVAR2') ifunc = 8
272 IF(keyword == 'NVAR3') ifunc = 9
273 IF(keyword == 'NVAR4') ifunc = 10
274 IF(keyword == 'NVAR5') ifunc = 11
275 IF(keyword == 'SSP') ifunc = 30
276 IF(keyword == 'VOL') ifunc = 0 !useless
277 IF(keyword == 'DT') THEN
278 ifunc = 0 !not
279 k = 0
280 DO i=1,numnod
281 value(i) = output%DATA%SCAL_DT(i)
282 is_written_value(i) = 1
283 ENDDO
284 ENDIF
285 !Nodal Pressure
286 IF (keyword == 'P') THEN
287 IF(n2d==0)CALL nodalp(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
288 . iparg,elbuf_tab ,ixs ,nixs ,numels,
289 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
290 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
291 . numnod ,airbags_node_id_shift)
292 IF(n2d/=0)CALL nodalp(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow ,
293 . iparg,elbuf_tab ,ixq ,nixq ,numelq,
294 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
295 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
296 . numnod ,airbags_node_id_shift)
297 ENDIF
298 !Nodal Density
299 IF (keyword == 'DENS') THEN
300 IF(n2d==0)CALL nodald(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
301 . iparg,elbuf_tab ,ixs ,nixs ,numels,
302 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
303 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
304 . numnod ,airbags_node_id_shift)
305 IF(n2d/=0)CALL nodald(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
306 . iparg,elbuf_tab ,ixq ,nixq ,numelq,
307 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
308 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
309 . numnod ,airbags_node_id_shift)
310 ENDIF
311 !Nodal Temperature
312 IF (keyword == 'TEMP') THEN
313 IF(n2d==0)CALL nodalt(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
314 . iparg,elbuf_tab ,ixs ,nixs ,numels,
315 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
316 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
317 . numnod ,airbags_node_id_shift)
318 IF(n2d/=0)CALL nodalt(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow ,
319 . iparg,elbuf_tab ,ixq ,nixq ,numelq,
320 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
321 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
322 . numnod ,airbags_node_id_shift)
323 ENDIF
324 !Nodal Sound Speed
325 IF (keyword == 'SSP') THEN
326 IF(n2d==0)CALL nodalssp(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
327 . iparg,elbuf_tab ,ixs ,nixs ,numels,
328 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
329 . is_written_node ,is_written_node_fvm ,ispmd ,fvdata_p,
330 . numnod ,airbags_node_id_shift,multi_fvm)
331 IF(n2d/=0)CALL nodalssp(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow ,
332 . iparg,elbuf_tab ,ixq ,nixq ,numelq,
333 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
334 . is_written_node ,is_written_node_fvm ,ispmd ,fvdata_p,
335 . numnod ,airbags_node_id_shift,multi_fvm)
336 ENDIF
337 !Nodal Sound Speed
338 IF (keyword == 'DT') THEN
339 IF(n2d==0)CALL nodaldt(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
340 . iparg,elbuf_tab ,ixs ,nixs ,numels,
341 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
342 . is_written_node ,is_written_node_fvm ,ispmd ,fvdata_p,
343 . numnod ,airbags_node_id_shift)
344 IF(n2d/=0)CALL nodaldt(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow ,
345 . iparg,elbuf_tab ,ixq ,nixq ,numelq,
346 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
347 . is_written_node ,is_written_node_fvm ,ispmd ,fvdata_p,
348 . numnod ,airbags_node_id_shift)
349 ENDIF
350 !Nodal Sound Speed
351 IF (keyword == 'VOL') THEN
352 IF(n2d==0)CALL nodalvol(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow,
353 . iparg,elbuf_tab ,ixs ,nixs ,numels,
354 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
355 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
356 . numnod ,airbags_node_id_shift)
357 IF(n2d/=0)CALL nodalvol(ifunc,value_numnod_real,value_numnod_real_fvm,iflow ,rflow ,
358 . iparg,elbuf_tab ,ixq ,nixq ,numelq,
359 . itab ,nv46 ,monvol ,volmon ,airbags_total_fvm_in_h3d,
360 . is_written_node ,is_written_node_fvm ,ispmd, fvdata_p,
361 . numnod ,airbags_node_id_shift)
362 ENDIF
363 ! Nodal External Pressure (Elements to Nodes -> Averaged)
364 IF (keyword == 'PEXT')THEN
365 value(1:numnod) = zero
366 IF(output%DATA%H3D_HAS_NODA_PEXT == 1) THEN
367 DO i=1,numnod
368 IF(output%DATA%NODA_SURF(i) > zero)THEN
369 value_numnod_real(i)=output%DATA%NODA_PEXT(i)/output%DATA%NODA_SURF(i)
370 ENDIF
371 is_written_node(i) = 1
372 ENDDO
373 ENDIF
374 ENDIF
375C--------------------------------------------------
376 !Then Monitored Volumes (Pressure,Density,Temperature,Sound Speed)
377 IF(nvolu > 0)CALL animbale(ifunc, value_numnod_real, is_written_node , monvol, volmon, 1,
378 . numnod, nimv, nvolu, nrvolu, licbag, libagjet,
379 . libaghol, lrcbag, lrbagjet, lrbaghol, nspmd)
380
381 DO i=1,numnod
382 IF(is_written_node(i) == 1) THEN
383 value(i) = value_numnod_real(i)
384 is_written_value(i) = is_written_node(i)
385 ENDIF
386 ENDDO
387c
388 ENDIF
389C--------------------------------------------------
390 ELSEIF (keyword == 'FPOT') THEN !potential
391C--------------------------------------------------
392 CALL nodalp(13 , nodal_scalar , value_numnod_real_fvm, iflow , rflow,
393 . iparg , elbuf_tab , ixs , nixs , numels,
394 . itab , nv46 , monvol , volmon , airbags_total_fvm_in_h3d,
395 . is_written_node , is_written_node_fvm , ispmd , fvdata_p ,
396 . numnod , airbags_node_id_shift)
397 DO i=1,numnod
398 is_written_value(i) = 1
399 ENDDO
400C--------------------------------------------------
401 ELSEIF(keyword == 'NDMASS')THEN
402C--------------------------------------------------
403 IF(idtmins /= 0)THEN
404 DO i=1,numnod
405 VALUE(i)=max(zero,diag_sms(i)/max(em20,ms(i))-one)
406 is_written_value(i) = 1
407 ENDDO
408 ENDIF
409C--------------------------------------------------
410 ELSEIF(keyword == 'DAMA2/NORMAL')THEN
411C--------------------------------------------------
412 DO i=1,numnod
413 value(i)=pdama2(1,i)
414 is_written_value(i) = 1
415 ENDDO
416C--------------------------------------------------
417 ELSEIF(keyword == 'DAMA2/TANGENT')THEN
418C--------------------------------------------------
419 DO i=1,numnod
420 value(i)=pdama2(2,i)
421 is_written_value(i) = 1
422 ENDDO
423C--------------------------------------------------
424 ELSEIF(keyword == 'SCHLI')THEN
425C--------------------------------------------------
426 CALL nodal_schlieren(VALUE,x,ixs,ixq,itab,iparg,0,elbuf_tab,ale_connect)
427 DO i=1,numnod
428 is_written_value(i) = 1
429 ENDDO
430C--------------------------------------------------
431 ELSEIF(keyword == 'STIFR')THEN
432C--------------------------------------------------
433 IF(iroddl/=0)THEN
434 DO i=1,numnod
435 value(i)=stifr(i)
436 is_written_value(i) = 1
437 ENDDO
438 ENDIF
439C--------------------------------------------------
440 ELSEIF(keyword == 'STIF')THEN
441C--------------------------------------------------
442 DO i=1,numnod
443 value(i)=stifn(i)
444 is_written_value(i) = 1
445 ENDDO
446C--------------------------------------------------
447 ELSEIF(keyword == 'SKID_LINE')THEN
448C--------------------------------------------------
449 IF(ityskid == 21 ) THEN
450 DO i=1,numnod
451 k=nodglob(i)
452 value(i)=pskids(interskid,k)
453 is_written_value(i) = 1
454 ENDDO
455 ELSE
456 DO i=1,numnod
457 value(i)=pskids(interskid,i)
458 is_written_value(i) = 1
459 ENDDO
460 ENDIF
461C--------------------------------------------------
462 ELSEIF(keyword == 'INTERNAL.ID')THEN
463C--------------------------------------------------
464 DO i=1,numnod
465 value(i) = i
466 is_written_value(i) = 1
467 ENDDO
468C--------------------------------------------------
469 ELSEIF(keyword == 'CSE_FRIC')THEN
470C--------------------------------------------------
471 IF(interfric > 0) THEN
472 IF(interfric <= output%DATA%NINEFRIC ) THEN
473 DO i=1,numnod
474 value(i)=csefric(interfric,i)
475 is_written_value(i) = 1
476 ENDDO
477 ELSE
478 DO i=1,numnod
479 k=nodglob(i)
480 value(i)=csefric_stamp(interfric-output%DATA%NINEFRIC,k)
481 is_written_value(i) = 1
482 ENDDO
483 ENDIF
484 ELSE
485 IF(nintstamp==0) THEN
486 DO i=1,numnod
487 value(i)=csefricg(i)
488 is_written_value(i) = 1
489 ENDDO
490 ELSE
491 IF(nspmd > 1 ) THEN
492 DO i=1,numnod
493 value(i)=csefricg(i)
494 is_written_value(i) = 1
495 ENDDO
496 ELSE
497 DO i=1,numnod
498 k=nodglob(i)
499 value(i)=csefricg(i) + csefricg_stamp(k)
500 is_written_value(i) = 1
501 ENDDO
502 ENDIF
503 ENDIF
504 ENDIF
505C--------------------------------------------------
506 ELSEIF(keyword == 'CSE_FRICG')THEN
507C--------------------------------------------------
508 IF(nintstamp==0) THEN
509 DO i=1,numnod
510 value(i)=csefricg(i)
511 is_written_value(i) = 1
512 ENDDO
513 ELSE
514 IF(nspmd > 1 ) THEN
515 DO i=1,numnod
516 value(i)=csefricg(i)
517 is_written_value(i) = 1
518 ENDDO
519 ELSE
520 DO i=1,numnod
521 k=nodglob(i)
522 value(i)=csefricg(i) + csefricg_stamp(k)
523 is_written_value(i) = 1
524 ENDDO
525 ENDIF
526 ENDIF
527 ENDIF
528c
529 CALL h3d_write_scalar(iok_part,is_written_node,nodal_scalar,numnod,0,0,VALUE,is_written_value)
530
531 IF(airbags_total_fvm_in_h3d > 0)THEN
533 value_fvm(i)=value_numnod_real_fvm(i)
534 ENDDO
535 CALL h3d_write_scalar(iok_part_fvm, is_written_node_fvm, nodal_scalar_fvm, airbags_total_fvm_in_h3d,0, 0,
536 . value_fvm , is_written_node_fvm)
537 ENDIF
538
539
540 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine h3d_write_scalar(iok_part, is_written, scalar, nel, offset, nft, value, is_written_value)
#define max(a, b)
Definition macros.h:21
integer airbags_total_fvm_in_h3d
Definition fvbag_mod.F:191
integer, parameter ncharline100
subroutine nodal_schlieren(wa4, x, ixs, ixq, itab, iparg, ibid, elbuf_tab, ale_connectivity)
subroutine nodald(ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift)
Definition nodald.F:44
subroutine nodaldt(ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift)
Definition nodaldt.F:40
subroutine nodalp(ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift)
Definition nodalp.F:43
subroutine nodalssp(ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift, multi_fvm)
Definition nodalssp.F:44
subroutine nodalt(ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift)
Definition nodalt.F:44
subroutine nodalvol(ifunc, wa4, wa4_fvm, iflow, rflow, iparg, elbuf_tab, ix, nix, numel, itab, nv46, monvol, volmon, airbags_total_fvm_in_h3d, is_written_node, is_written_node_fvm, ispmd, fvdata_p, swa4, airbags_node_id_shift)
Definition nodalvol.F:40