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