OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
outp_mt.F File Reference
#include "implicit_f.inc"
#include "units_c.inc"
#include "param_c.inc"
#include "task_c.inc"
#include "scr16_c.inc"
#include "scr17_c.inc"
#include "com01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine outp_mt (pm, npart, partsav, ipart, ipm)

Function/Subroutine Documentation

◆ outp_mt()

subroutine outp_mt ( pm,
integer npart,
partsav,
integer, dimension(lipart1,*) ipart,
integer, dimension(npropmi,*) ipm )

Definition at line 31 of file outp_mt.F.

32C-----------------------------------------------
33C M o d u l e s
34C-----------------------------------------------
35C
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "units_c.inc"
44#include "param_c.inc"
45#include "task_c.inc"
46#include "scr16_c.inc"
47#include "scr17_c.inc"
48#include "com01_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER IPM(NPROPMI,*)
53 my_real pm(npropm,*),partsav(npsav,*)
54 INTEGER NPART,IPART(LIPART1,*)
55 INTEGER LEN
56C-----------------------------------------------
57C L o c a l V a r i a b l e s
58C-----------------------------------------------
59 INTEGER I,J,USRMID,K,I1,M
60 my_real mas,xm,ym,zm,ie,ke,partsav2(npsav,npart)
61 CHARACTER*100 CARD
62C
63 DO m=1,npsav
64 DO i=1,npart
65 partsav2(m,i) = partsav(m,i)
66 ENDDO
67 END DO
68C pre traitement SPMD : gather de PARTSAV et mise a zero sur procs remote
69 IF(nspmd > 1) THEN
70 CALL spmd_glob_dsum9(partsav2,npsav*npart)
71 IF(ispmd/=0) THEN
72 RETURN
73 ENDIF
74 ENDIF
75 ie=zero
76 ke=zero
77 mas=zero
78 xm=zero
79 ym=zero
80 zm=zero
81 i1=ipart(1,1)
82 DO k = 1,npart+1
83 IF(k<=npart)THEN
84 i=ipart(1,k)
85 ELSE
86 i=0
87 ENDIF
88 IF(i1==0)THEN
89 i1=i
90 ELSEIF(i1/=i)THEN
91 CALL fretitl2(card,ipm(npropmi-ltitr+1,i1),40)
92 WRITE(iugeo,'(A,I10)')'/MATER /',i1
93 usrmid = ipm(1,i1)
94 IF(usrmid==0) card=' '
95 IF (outyy_fmt==2) THEN
96 WRITE(iugeo,'(A)')card(1:80)
97 ELSE
98 WRITE(iugeo,'(A)')card
99 END IF
100 IF (outyy_fmt==2) THEN
101 WRITE(iugeo,'(A)') '#FORMAT: (I8,1P3E16.9/8X,1P3E16.9) '
102 WRITE(iugeo,'(2A)')'# USRMID INTERNAL_ENERGY KINETIC_ENERGY',
103 . ' MASS'
104 WRITE(iugeo,'(2A)')'# X_MOMENTUM Y_MOMENTUM',
105 . ' Z_MOMENTUM'
106 WRITE(iugeo,'(I8,1P3E16.9/8X,1P3E16.9)') usrmid,
107 . ie,ke,mas,xm,ym,zm
108 ELSE
109 WRITE(iugeo,'(A)') '#FORMAT: (I10,1P3E20.13/8X,1P3E20.13) '
110 WRITE(iugeo,'(2A)')'# USRMID INTERNAL_ENERGY KINETIC_ENERGY',
111 . ' MASS'
112 WRITE(iugeo,'(2A)')'# X_MOMENTUM Y_MOMENTUM',
113 . ' Z_MOMENTUM'
114 WRITE(iugeo,'(I10,1P3E20.13/8X,1P3E20.13)') usrmid,
115 . ie,ke,mas,xm,ym,zm
116 ENDIF
117 ie=zero
118 ke=zero
119 mas=zero
120 xm=zero
121 ym=zero
122 zm=zero
123 i1=i
124 ENDIF
125 IF(i>0)THEN
126 ie=ie+partsav2(1,k)
127 ke=ke+partsav2(2,k)
128 mas=mas+partsav2(6,k)
129 xm=xm+partsav2(3,k)
130 ym=ym+partsav2(4,k)
131 zm=zm+partsav2(5,k)
132 ENDIF
133 ENDDO
134C
135 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine spmd_glob_dsum9(v, len)
Definition spmd_th.F:380
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804