32
33
34
35
36
37
38
39
40
41
42
43
45 use element_mod , only : nixs
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "mvsiz_p.inc"
54
55
56
57#include "vect01_c.inc"
58#include "com01_c.inc"
59#include "param_c.inc"
60
61
62
63
64
65
66
67
68 INTEGER :: IXS(NIXS,*)
69 my_real :: voln(mvsiz), rho(mvsiz)
70
71
72
73 INTEGER :: I, J
74 INTEGER :: NVERTEX,INOd,II
75 my_real :: m_cell(mvsiz),accel(3,mvsiz)
76 LOGICAL :: debug_outp
77 INTEGER :: idbf,idbl
78
79
80
81
82
83
84
85
86
87
88
89
90
91 DO i=lft,llt
92 nvertex = 0
93 accel(1:3,i) = zero
94
95 DO j=1,8
96 inod = ixs(1+j,i+nft)
98 nvertex = nvertex + 1
102 ENDDO
103 IF(nvertex>0)THEN
104 accel(1,i) = accel(1,i) / nvertex
105 accel(2,i) = accel(2,i) / nvertex
106 accel(3,i) = accel(3,i) / nvertex
107 ENDIF
108 enddo
109
110 DO i=lft,llt
111 m_cell(i) = rho(i)*voln(i)
112 enddo
113
114 DO i=lft,llt
115 ii = i + nft
119 enddo
120
121
123 debug_outp = .false.
125 do i=lft,llt
126 ii = nft + i
128 debug_outp = .true.
129 idbf = i
130 idbl = i
131 EXIT
132 endif
133 enddo
135 debug_outp=.true.
136 idbf = lft
137 idbl = llt
138 endif
139
140 if(debug_outp)then
141
142 print *, " |----alefvm_gravity.F----|"
143 print *, " | THREAD INFORMATION |"
144 print *, " |------------------------|"
145 print *, " NCYCLE =", ncycle
146 do i=idbf,idbl
147 ii = nft + i
148 print *, " brique=", ixs(11,nft+i)
149 write(*,fmt='(A24,1A26)') " ",
150 . "#--------- cell----------#"
151 write (*,fmt='(A,1E26.14)') " Rho =", rho(i)
152 write (*,fmt='(A,1E26.14)') " Vol =", voln(i)
153 write (*,fmt='(A,1E26.14)') " Mass =", m_cell(i)
154 write (*,fmt='(A,1E26.14)') " Accel-X =", accel(1,i)
155 write (*,fmt='(A,1E26.14)') " Accel-Y =", accel(2,i)
156 write (*,fmt='(A,1E26.14)') " Accel-Z =", accel(3,i)
157 write(*,fmt='(A24,8A26)') " ",
158 . "#--------- nod_1 ---------","#--------- nod_2 ---------",
159 . "#--------- nod_3 ---------","#--------- nod_4 ---------",
160 . "#--------- nod_5 ---------","#--------- nod_6 ---------",
161 . "#--------- nod_7 ---------","#--------- nod_8 --------#"
162 write (*,fmt=
'(A,8E26.14)')
" acc-X =",
alefvm_buffer%VERTEX(1,ixs(2:9,i))
163 write (*,fmt=
'(A,8E26.14)')
" acc-Y =",
alefvm_buffer%VERTEX(2,ixs(2:9,i))
164 write (*,fmt=
'(A,8E26.14)')
" acc-Z =",
alefvm_buffer%VERTEX(3,ixs(2:9,i))
165 print *, " "
166 enddo
167
168 endif
169 endif
170
171
172 RETURN
type(alefvm_buffer_), target alefvm_buffer
type(alefvm_param_), target alefvm_param