53
54
55
57 use nodal_arrays_mod , only : nodal_arrays_
59 use output_mod , only : output_
61
62
63
64 implicit none
65
66
67
68 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
69 LOGICAL,INTENT(IN) :: TRIGGER_ANIM
70 LOGICAL,INTENT(IN) :: TRIGGER_H3D
71 LOGICAL,INTENT(IN) :: TRIGGER_TH
72 INTEGER,INTENT(IN) :: NSPMD
73 INTEGER,INTENT(IN) :: NUMNOD
74 INTEGER,INTENT(IN) :: NUMNODG
75 TYPE(NODAL_ARRAYS_), INTENT(IN) :: NODES
76
77
78
79 INTEGER :: LENR
80
81
82
84 . .OR. output%DATA%H3D_HAS_NODA_PEXT > 0 )THEN
85 IF(trigger_anim .OR. trigger_th .OR. trigger_h3d)THEN
86 IF(nspmd > 1)THEN
87 lenr = nodes%BOUNDARY_ADD(1,nspmd+1)-nodes%BOUNDARY_ADD(1,1)
88
89 CALL spmd_exch_nodarea(output%DATA%NODA_PEXT, nodes%BOUNDARY_ADD, nodes%BOUNDARY, lenr, nodes%WEIGHT)
90 CALL spmd_exch_nodarea(output%DATA%NODA_SURF, nodes%BOUNDARY_ADD, nodes%BOUNDARY, lenr, nodes%WEIGHT)
91
92 IF(output%DATA%ANIM_HAS_NODA_PEXT > 0)THEN
94 . numnodg, output%DATA%NODA_PEXT, numnod, nodes%WEIGHT, nodes%NODGLOB)
96 . output%DATA%NODA_SURF, numnod, nodes%WEIGHT, nodes%NODGLOB)
97 END IF
98 ELSE
99 IF(output%DATA%ANIM_HAS_NODA_PEXT > 0)THEN
100
101 output%DATA%NODA_PEXT_G(1:numnod) = output%DATA%NODA_PEXT(1:numnod)
102 output%DATA%NODA_SURF_G(1:numnod) = output%DATA%NODA_SURF(1:numnod)
103 END IF
104 ENDIF
105 ENDIF
106 ENDIF
subroutine spmd_gather_nodal_scalar(v_glob, num, v, numnod, weight, nodglob)
subroutine spmd_exch_nodarea(nodarea, iad_elem, fr_elem, lenr, weight)