35
36
37
38 USE my_alloc_mod
39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "units_c.inc"
47#include "task_c.inc"
48#include "scr14_c.inc"
49#include "spmd_c.inc"
50#include "com01_c.inc"
51
52
53
54 INTEGER ITAB(*),NUMNOD,WEIGHT(*),ITABG(*),LENG,
55 . NODGLOB(*),NODTAG(*)
57 . v(3,*),vr(3,*)
58
59
60
61 INTEGER I,J
62 INTEGER,DIMENSION(:),ALLOCATABLE :: NODTAGLOB
63 my_real,
DIMENSION(:,:),
ALLOCATABLE :: vg
64 my_real,
DIMENSION(:,:),
ALLOCATABLE :: vrg
65 CHARACTER(LEN=100) :: LINE
66 INTEGER LEN_LINE
67
68 CALL my_alloc(nodtaglob,leng)
69 CALL my_alloc(vg,3,leng)
70 CALL my_alloc(vrg,3,leng)
71
72
73 IF (nspmd > 1) THEN
75 . nodtaglob)
77 . nodtaglob)
78 IF (ispmd /= 0) RETURN
79 ENDIF
80
81 IF (izipstrs == 0) THEN
82 WRITE(iugeo,'(A)') '/INIVEL/NODE/1'
83 WRITE(iugeo,'(A)') 'INITIAL NODAL VELOCITY'
84 ELSE
85
86 WRITE(line,'(A)') '/INIVEL/NODE/1'
87 len_line=len_trim(line)
89
90 WRITE(line,'(A)') 'INITIAL NODAL VELOCITY'
91 len_line=len_trim(line)
93 ENDIF
94
95 IF (nspmd == 1) THEN
96 DO i=1,numnod
97 IF(nodtag(i) /= 0) THEN
98 IF (izipstrs == 0) THEN
99 WRITE(iugeo,'(2I10,1P3E20.9)') itab(i),0,(v(j,i),j=1,3)
100 IF (iroddl == 0)THEN
101 WRITE(iugeo,'(20X)')
102 ELSE
103 WRITE(iugeo,'(20X,1P3E20.9)') (vr(j,i),j=1,3)
104 END IF
105 ELSE
106
107 WRITE(line,'(2I10,1P3E20.9)') itab(i),0,(v(j,i),j=1,3)
108 len_line=len_trim(line)
110
111 IF (iroddl == 0) THEN
112 WRITE(line,'(20X)')
113 len_line=len_trim(line)
115 ELSE
116 WRITE(line,'(20X,1P3E20.9)')(vr(j,i),j=1,3)
117 len_line=len_trim(line)
119 END IF
120
121 END IF
122 END IF
123 END DO
124 ELSE
125 DO i=1,numnodg
126 IF(nodtaglob(i) /= 0)THEN
127 IF (izipstrs == 0) THEN
128 WRITE(iugeo,'(2I10,1P3E20.9)') itabg(i),0,(vg(j,i),j=1,3)
129 IF (iroddl == 0) THEN
130 WRITE(iugeo,'(20X)')
131 ELSE
132 WRITE(iugeo,'(20X,1P3E20.9)') (vrg(j,i),j=1,3)
133 END IF
134 ELSE
135
136 WRITE(line,'(2I10,1P3E20.9)') itabg(i),0,(vg(j,i),j=1,3)
137 len_line=len_trim(line)
139
140 IF (iroddl == 0) THEN
141 WRITE(line,'(20X)')
142 len_line=len_trim(line)
144 ELSE
145 WRITE(line,'(20X,1P3E20.9)') (vrg(j,i),j=1,3)
146 len_line=len_trim(line)
148 END IF
149
150 END IF
151 END IF
152 END DO
153 ENDIF
154
155 DEALLOCATE(nodtaglob)
156 DEALLOCATE(vg)
157 DEALLOCATE(vrg)
158 RETURN
subroutine spmd_dstat_vgath(v, nodglob, weight, vgath, nodtag, nodtaglob)
subroutine strs_txt50(text, length)