34
35
36
37 USE my_alloc_mod
38
39
40
41#include "implicit_f.inc"
42
43
44
45#include "units_c.inc"
46#include "task_c.inc"
47#include "spmd_c.inc"
48#include "com01_c.inc"
49
50
51
52 INTEGER ITAB(*), NUMNOD,WEIGHT(*),ITABG(*),LENG,
53 . NODGLOB(*),NODTAG(*)
55 . x(3,*)
56
57
58
59 INTEGER I
60 INTEGER,DIMENSION(:),ALLOCATABLE :: NODTAGLOB
61 my_real,
DIMENSION(:,:),
ALLOCATABLE :: vglob
62
63 CALL my_alloc(nodtaglob,leng)
64 CALL my_alloc(vglob,3,leng)
65
66
67 IF (nspmd > 1) THEN
69 . nodtaglob)
70 IF (ispmd/=0) RETURN
71 ENDIF
72
73 WRITE(iugeo,'(A)')'/NODE'
74 WRITE(iugeo,'(2A)')'# NODID XCOOR',
75 . ' YCOOR ZCOOR'
76
77 IF (nspmd == 1) THEN
78 DO i=1,numnod
79 IF(nodtag(i) /= 0) THEN
80 WRITE(iugeo,'(I10,1P3E20.13)')
81 . itab(i),x(1,i),x(2,i),x(3,i)
82 END IF
83 END DO
84 ELSE
85 DO i=1,numnodg
86 IF(nodtaglob(i) /= 0)
87 . WRITE(iugeo,'(I10,1P3E20.13)')
88 . itabg(i),vglob(1,i),vglob(2,i),vglob(3,i)
89 END DO
90 ENDIF
91
92 DEALLOCATE(nodtaglob)
93 DEALLOCATE(vglob)
94
95 RETURN
subroutine spmd_dstat_vgath(v, nodglob, weight, vgath, nodtag, nodtaglob)