49
50
51
52
53
54
55
56
57
58
59
60
62 USE elbufdef_mod
63 USE intbufdef_mod
68 use element_mod , only : nixs
69
70
71
72#include "implicit_f.inc"
73#include "comlock.inc"
74
75
76
77#include "com01_c.inc"
78#include "com04_c.inc"
79#include "param_c.inc"
80#include "vect01_c.inc"
81#include "scr17_c.inc"
82#include "task_c.inc"
83#include "inter22.inc"
84
85
86
87 INTEGER IXS(NIXS,*),IPARG(NPARG,NGROUP),NALE(*),NODFT,ITASK,NV46,NODLT,IPM(NPROPMI,NUMMAT)
88
89 my_real x(3,*),v(3,*),vr(3,*),msnf(*)
90 TYPE(ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
91 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
92
93
94
95 INTEGER N, NG, NF1,
96 . ISOLNOD, NEL,
97 . ISTRA
98 INTEGER IPLA
99 INTEGER IALEFVM_FLG, IMAT,NSG,NVC
101 . bid
102
103 TYPE(G_BUFEL_) ,POINTER :: GBUF
104 TYPE(L_BUFEL_) ,POINTER :: LBUF
105
106 INTEGER :: NIN,NBF,NBL,tNB
107
108
109
111
112
113
114
115
116
117
118 nin = 1
119 bid = zero
120
121
122
123 nbf = 1+itask*
nb/nthread
124 nbl = (itask+1)*
nb/nthread
126 tnb = nbl-nbf+1
127
129
130 IF(int22/=0)THEN
132 ENDIF
133
134
135
136
137
138
140
143
144 DO ng=itask+1,ngroup,nthread
146 1 iparg ,ng ,
147 2 mtn ,nel ,nft ,iad ,ity
148 3 npt ,jale ,ismstr ,jeul ,jtur ,
149 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
150 5 nvaux ,jpor ,jcvt ,jclose ,ipla ,
151 6 irep ,iint ,igtyp ,israt ,isrot ,
152 7 icsen ,isorth ,isorthg ,ifailure,jsms
153 . )
154 gbuf => elbuf_tab(ng)%GBUF
155 IF (iparg(8,ng) == 1) cycle
156 IF (jlag == 1 .OR. ity>2) cycle
157 nsg = iparg(10,ng)
158 nvc = iparg(19,ng)
159 isolnod = iparg(28,ng)
160 istra = iparg(44,ng)
161 jsph = 0
162 isph2sol = 0
163 ipartsph = iparg(69,ng)
164 lft = 1
165 llt = nel
166 nf1 = nft+1
167 IF(ity == 1 .AND. isolnod == 4)THEN
168
169
170 ELSEIF(ity == 1 .AND. isolnod /= 4)THEN
171 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
172 imat = ixs(1,nft+lft)
173 ialefvm_flg = ipm(251,imat)
174 IF (ialefvm_flg <= 1) cycle
176 1 ixs , nv46 , ale_connect , ialefvm_flg,
177 2 ipm , iparg , ng ,
178 3 x , gbuf%TAG22 ,nel )
180 1 ixs , ialefvm_flg,
181 2 gbuf%MOM, gbuf%VOL, gbuf%RHO,
182 3 ipm , gbuf%TAG22 ,
183 4 lbuf%SSP,gbuf%SIG , nel )
184 ELSEIF (ity == 2 .AND. jmult == 0) THEN
185
186 ELSEIF(ity == 2 .AND. jmult /= 0)THEN
187
188 ENDIF
189 enddo
190 endif
191
193
194
195
196 DO n=nodft,nodlt
201 ENDDO
202
203#include "vectorize.inc"
204
205 DO n=nodft,nodlt
206 IF(msnf(n)<=zero)cycle
207 IF(nale(n)==0)cycle
208 v(1,n) = v(1,n) / msnf(n)
209 v(2,n) = v(2,n) / msnf(n)
210 v(3,n) = v(3,n) / msnf(n)
211 ENDDO
212 IF (iroddl/=0) THEN
213#include "vectorize.inc"
214
215 DO n=nodft,nodlt
216 IF(nale(n)==0)cycle
217 vr(1,n) = zero
218 vr(2,n) = zero
219 vr(3,n) = zero
220 ENDDO
221 ENDIF
222
225
226 RETURN
subroutine alefvm_scheme(ixs, ialefvm_flg, mom, vol, rho, ipm, iad22, ssp, sig, nel)
subroutine alefvm_sfint3(ixs, nv46, ale_connect, ialefvm_flg, ipm, iparg, ng, x, iad22, nel)
subroutine alefvm_sfint3_int22(ixs, nv46, itask, nbf, nbl, nin)
type(alefvm_buffer_), target alefvm_buffer
type(alefvm_param_), target alefvm_param
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)