35
36
37
39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "units_c.inc"
47#include "task_c.inc"
48#include "spmd_c.inc"
49#include "com01_c.inc"
50
51
52
53 INTEGER ITAB(*), NUMNOD,WEIGHT(*),ITABG(*),LENG,
54 . NODGLOB(*),NODTAG(*)
56 . x(3,*)
57 TYPE (), INTENT(INOUT) ::
58
59
60
61 INTEGER I , IERR
62 INTEGER , DIMENSION(:),ALLOCATABLE :: NODTAGLOB
63 my_real ,
DIMENSION(:,:),
ALLOCATABLE :: vglob
64 CHARACTER*100 LINE
65
66
67 IF (nspmd > 1) THEN
68
69
70
71 ALLOCATE(nodtaglob(leng),stat
72 ALLOCATE(vglob(3,leng),stat=ierr)
74 . nodtaglob)
75 IF (ispmd/=0) RETURN
76 ENDIF
77
78 IF(dynain_data%ZIPDYNAIN==0) THEN
79 WRITE(iudynain,'(A)')'*NODE'
80 WRITE(iudynain,'(2A)')'$ NID X',
81 . ' Y Z'
82 ELSE
83 WRITE(line,'(A)') '*NODE'
85 WRITE(line,'(2A)')'$ NID X',
86 . ' Y Z'
88 ENDIF
89 IF (nspmd == 1) THEN
90 DO i=1,numnod
91 IF(nodtag(i) /= 0) THEN
92 IF(dynain_data%ZIPDYNAIN==0) THEN
93 WRITE(iudynain,'(I8,1P3G16.9)')
94 . itab(i),x(1,i),x(2,i),x(3,i)
95 ELSE
96 WRITE(line,'(I8,1P3G16.9)')
97 . itab(i),x(1,i),x(2,i),x(3,i)
99 ENDIF
100 END IF
101 END DO
102 ELSE
103 DO i=1,numnodg
104 IF(nodtaglob(i) /= 0) THEN
105 IF(dynain_data%ZIPDYNAIN==0) THEN
106 WRITE(iudynain,'(I8,1P3G16.9)')
107 . itabg(i),vglob(1,i),vglob(2,i),vglob(3,i)
108 ELSE
109 WRITE(line,'(I8,1P3G16.9)')
110 . itabg(i),vglob(1,i),vglob(2,i),vglob(3,i)
112 ENDIF
113 ENDIF
114 END DO
115 ENDIF
116 IF (nspmd > 1) DEALLOCATE(vglob,nodtaglob)
117
118 RETURN
subroutine spmd_dstat_vgath(v, nodglob, weight, vgath, nodtag, nodtaglob)
subroutine strs_txt50(text, length)