32
33
34
35
36
37
38
39#include "implicit_f.inc"
40
41
42
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"
49
50
51
52 INTEGER IPM(NPROPMI,*)
53 my_real pm(npropm,*),partsav(npsav,*)
54 INTEGER NPART,IPART(LIPART1,*)
55 INTEGER LEN
56
57
58
59 INTEGER I,J,USRMID,K,I1,M
60 my_real mas,xm,ym,zm,ie,ke,partsav2(npsav,npart)
61 CHARACTER*100 CARD
62
63 DO m=1,npsav
64 DO i=1,npart
65 partsav2(m,i) = partsav(m,i)
66 ENDDO
67 END DO
68
69 IF(nspmd > 1) THEN
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
134
135 RETURN
subroutine spmd_glob_dsum9(v, len)