OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
assem_int.F File Reference
#include "implicit_f.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine assem_int (nd, ns, n1, n2, n3, n4, nel, iddl, k_diag, k_lt, iadk, jdik, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off)
subroutine ass_spmd (nd, ns, n1, n2, n3, n4, nel, iddl, k_diag, k_lt, iadk, jdik, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off, nin)
subroutine assem_int11 (nd, n1, n2, m1, m2, nel, iddl, k_diag, k_lt, iadk, jdik, k1i11, k1i12, k1j11, k1j12, k2i11, k2i12, k2j11, k2j12, off)
subroutine ass_spmd11 (nd, n1, n2, m1, m2, nel, iddl, k_diag, k_lt, iadk, jdik, k1i11, k1i12, k1j11, k1j12, k2i11, k2i12, k2j11, k2j12, off, nin, ns, nrts)

Function/Subroutine Documentation

◆ ass_spmd()

subroutine ass_spmd ( integer nd,
integer, dimension(*) ns,
integer, dimension(*) n1,
integer, dimension(*) n2,
integer, dimension(*) n3,
integer, dimension(*) n4,
integer nel,
integer, dimension(*) iddl,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
ki11,
ki12,
kj11,
kj12,
kk11,
kk12,
kl11,
kl12,
off,
integer nin )

Definition at line 93 of file assem_int.F.

98C-----------------------------------------------
99C M o d u l e s
100C-----------------------------------------------
101 USE imp_intm
102C-----------------------------------------------
103C I m p l i c i t T y p e s
104C-----------------------------------------------
105#include "implicit_f.inc"
106C-----------------------------------------------
107C D u m m y A r g u m e n t s
108C-----------------------------------------------
109 INTEGER ND ,NS(*) ,N1(*) ,N2(*) ,N3(*),N4(*)
110 INTEGER
111 . NEL ,IDDL(*) ,IADK(*) ,JDIK(*),NIN
112C REAL
113 my_real
114 . k_diag(*) ,k_lt(*) ,off(*),
115 . ki11(nd,nd,*),ki12(nd,nd,*),kj11(nd,nd,*),kj12(nd,nd,*),
116 . kk11(nd,nd,*),kk12(nd,nd,*),kl11(nd,nd,*),kl12(nd,nd,*)
117C-----------------------------------------------
118C L o c a l V a r i a b l e s
119C-----------------------------------------------
120 INTEGER
121 . I,NINDEX,INDEX(NEL),J,K,NN,IDI,IDJ
122C
123 nindex=0
124 DO i=1,nel
125 IF (ns(i)>0) THEN
126 nindex=nindex+1
127 index(nindex)=i
128 ELSE
129C--------spmd--secnd remote--Kss->(tempo)FFI,DFI, Diag_Kmm->Diag_I[KI 0]
130c------------------------------------------------------------------[0 Dm]-
131 CALL assem_kii(n1(i),1,iddl,iadk,k_diag,k_lt ,ki11(1,1,i),
132 . nd ,off(i))
133 CALL assem_kii(n2(i),1,iddl,iadk,k_diag,k_lt ,kj11(1,1,i),
134 . nd ,off(i))
135 CALL assem_kii(n3(i),1,iddl,iadk,k_diag,k_lt ,kk11(1,1,i),
136 . nd ,off(i))
137 CALL assem_kii(n4(i),1,iddl,iadk,k_diag,k_lt ,kl11(1,1,i),
138 . nd ,off(i))
139 nn=ind_int(nin)%P(-ns(i))
140 DO j=1,nd
141 ffi(j,nn)=ffi(j,nn) +
142 . ki11(j,j,i)+kj11(j,j,i)+kk11(j,j,i)+kl11(j,j,i)
143 ENDDO
144 dfi(1,nn)=dfi(1,nn) +
145 . ki11(1,2,i)+kj11(1,2,i)+kk11(1,2,i)+kl11(1,2,i)
146 dfi(2,nn)=dfi(2,nn) +
147 . ki11(1,3,i)+kj11(1,3,i)+kk11(1,3,i)+kl11(1,3,i)
148 dfi(3,nn)=dfi(3,nn) +
149 . ki11(2,3,i)+kj11(2,3,i)+kk11(2,3,i)+kl11(2,3,i)
150 IF (intp_d>0) THEN
151C-------NS,N1----
152 idi = iddl_si(nn)
153 idj = iddl(n1(i))
154 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
155 1 ki12(1,1,i),nd )
156 idj = iddl(n2(i))
157 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
158 1 kj12(1,1,i),nd )
159 idj = iddl(n3(i))
160 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
161 1 kk12(1,1,i),nd )
162 idj = iddl(n4(i))
163 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
164 1 kl12(1,1,i),nd )
165 ENDIF
166 ENDIF
167 ENDDO
168 IF (nindex<nel) THEN
169 DO i=1,nindex
170 n1(i)= n1(index(i))
171 n2(i)= n2(index(i))
172 n3(i)= n3(index(i))
173 n4(i)= n4(index(i))
174 ns(i)= ns(index(i))
175 off(i)= off(index(i))
176 DO j=1,nd
177 DO k=j,nd
178 ki11(j,k,i)=ki11(j,k,index(i))
179 kj11(j,k,i)=kj11(j,k,index(i))
180 kk11(j,k,i)=kk11(j,k,index(i))
181 kl11(j,k,i)=kl11(j,k,index(i))
182 ENDDO
183 DO k=1,nd
184 ki12(j,k,i)=ki12(j,k,index(i))
185 kj12(j,k,i)=kj12(j,k,index(i))
186 kk12(j,k,i)=kk12(j,k,index(i))
187 kl12(j,k,i)=kl12(j,k,index(i))
188 ENDDO
189 ENDDO
190 ENDDO
191 ENDIF
192 nel=nindex
193C
194C----6---------------------------------------------------------------7---------8
195 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine assfr_kij(id, jd, iadk, jdik, k_lt, kij, nd)
Definition imp_fri.F:6408
subroutine assem_kii(ni, nel, iddl, iadk, k_diag, k_lt, kii, nd, off)
Definition imp_glob_k.F:962
integer, dimension(:), allocatable jdi_si
Definition imp_intm.F:174
integer, dimension(:), allocatable iad_si
Definition imp_intm.F:174
integer intp_d
Definition imp_intm.F:173
type(int_pointer2), dimension(:), allocatable ind_int
Definition imp_intm.F:133
integer, dimension(:), allocatable iddl_si
Definition imp_intm.F:178

◆ ass_spmd11()

subroutine ass_spmd11 ( integer nd,
integer, dimension(*) n1,
integer, dimension(*) n2,
integer, dimension(*) m1,
integer, dimension(*) m2,
integer nel,
integer, dimension(*) iddl,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
k1i11,
k1i12,
k1j11,
k1j12,
k2i11,
k2i12,
k2j11,
k2j12,
off,
integer nin,
integer, dimension(*) ns,
integer nrts )

Definition at line 262 of file assem_int.F.

267C-----------------------------------------------
268C M o d u l e s
269C-----------------------------------------------
270 USE imp_intm
271C-----------------------------------------------
272C I m p l i c i t T y p e s
273C-----------------------------------------------
274#include "implicit_f.inc"
275C-----------------------------------------------
276C D u m m y A r g u m e n t s
277C-----------------------------------------------
278 INTEGER ND ,N1(*) ,N2(*) ,M1(*),M2(*) ,NS(*) ,NRTS
279 INTEGER
280 . NEL ,IDDL(*) ,IADK(*) ,JDIK(*),NIN
281C REAL
282 my_real
283 . k_diag(*) ,k_lt(*) ,off(*),
284 . k1i11(nd,nd,*),k1i12(nd,nd,*),k1j11(nd,nd,*),k1j12(nd,nd,*),
285 . k2i11(nd,nd,*),k2i12(nd,nd,*),k2j11(nd,nd,*),k2j12(nd,nd,*)
286C-----------------------------------------------
287C L o c a l V a r i a b l e s
288C-----------------------------------------------
289 INTEGER
290 . I,NINDEX,INDEX(NEL),J,K,NN1,NN2,NN,IDI,IDJ
291C
292 nindex=0
293 DO i=1,nel
294 IF (ns(i)<=nrts) THEN
295 nindex=nindex+1
296 index(nindex)=i
297 ELSE
298C--------spmd--secnd remote--Kss->(tempo)FFI,DFI, Diag_Kmm->Diag_I[KI 0]
299c------------------------------------------------------------------[0 Dm]-
300 CALL assem_kii(m1(i),1,iddl,iadk,k_diag,k_lt ,k1i11(1,1,i),
301 . nd ,off(i))
302 CALL assem_kii(m2(i),1,iddl,iadk,k_diag,k_lt ,k1j11(1,1,i),
303 . nd ,off(i))
304 CALL assem_kii(m1(i),1,iddl,iadk,k_diag,k_lt ,k2i11(1,1,i),
305 . nd ,off(i))
306 CALL assem_kii(m2(i),1,iddl,iadk,k_diag,k_lt ,k2j11(1,1,i),
307 . nd ,off(i))
308 nn = ns(i)-nrts
309 nn1=ind_int(nin)%P(nn)
310 nn2=nn1+1
311 DO j=1,nd
312 ffi(j,nn1)=ffi(j,nn1) + k1i11(j,j,i)+k1j11(j,j,i)
313 ffi(j,nn2)=ffi(j,nn2) + k2i11(j,j,i)+k2j11(j,j,i)
314 ENDDO
315 dfi(1,nn1)=dfi(1,nn1) +k1i11(1,2,i)+k1j11(1,2,i)
316 dfi(2,nn1)=dfi(2,nn1) +k1i11(1,3,i)+k1j11(1,3,i)
317 dfi(3,nn1)=dfi(3,nn1) +k1i11(2,3,i)+k1j11(2,3,i)
318 dfi(1,nn2)=dfi(1,nn2) +k2i11(1,2,i)+k2j11(1,2,i)
319 dfi(2,nn2)=dfi(2,nn2) +k2i11(1,3,i)+k2j11(1,3,i)
320 dfi(3,nn2)=dfi(3,nn2) +k2i11(2,3,i)+k2j11(2,3,i)
321 IF (intp_d>0) THEN
322 idi = iddl_si(nn1)
323 idj = iddl(m1(i))
324 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
325 1 k1i12(1,1,i),nd )
326 idj = iddl(m2(i))
327 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
328 1 k1j12(1,1,i),nd )
329 idi = iddl_si(nn2)
330 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
331 1 k2j12(1,1,i),nd )
332 idj = iddl(m1(i))
333 CALL assfr_kij(idi ,idj ,iad_si ,jdi_si,lt_si ,
334 1 k2i12(1,1,i),nd )
335 ENDIF
336 ENDIF
337 ENDDO
338 IF (nindex<nel) THEN
339 DO i=1,nindex
340 n1(i)= n1(index(i))
341 n2(i)= n2(index(i))
342 m1(i)= m1(index(i))
343 m2(i)= m2(index(i))
344 ns(i)= ns(index(i))
345 off(i)= off(index(i))
346 DO j=1,nd
347 DO k=j,nd
348 k1i11(j,k,i)=k1i11(j,k,index(i))
349 k1j11(j,k,i)=k1j11(j,k,index(i))
350 k2i11(j,k,i)=k2i11(j,k,index(i))
351 k2j11(j,k,i)=k2j11(j,k,index(i))
352 ENDDO
353 DO k=1,nd
354 k1i12(j,k,i)=k1i12(j,k,index(i))
355 k1j12(j,k,i)=k1j12(j,k,index(i))
356 k2i12(j,k,i)=k2i12(j,k,index(i))
357 k2j12(j,k,i)=k2j12(j,k,index(i))
358 ENDDO
359 ENDDO
360 ENDDO
361 ENDIF
362 nel=nindex
363C
364C----6---------------------------------------------------------------7---------8
365 RETURN

◆ assem_int()

subroutine assem_int ( integer nd,
integer, dimension(*) ns,
integer, dimension(*) n1,
integer, dimension(*) n2,
integer, dimension(*) n3,
integer, dimension(*) n4,
integer nel,
integer, dimension(*) iddl,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
ki11,
ki12,
kj11,
kj12,
kk11,
kk12,
kl11,
kl12,
off )

Definition at line 34 of file assem_int.F.

39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER ND ,NS(*) ,N1(*) ,N2(*) ,N3(*),N4(*)
47 INTEGER
48 . NEL ,IDDL(*) ,IADK(*) ,JDIK(*)
49C REAL
51 . k_diag(*) ,k_lt(*) ,off(*),
52 . ki11(nd,nd,*),ki12(nd,nd,*),kj11(nd,nd,*),kj12(nd,nd,*),
53 . kk11(nd,nd,*),kk12(nd,nd,*),kl11(nd,nd,*),kl12(nd,nd,*)
54C-----------------------------------------------
55C L o c a l V a r i a b l e s
56C-----------------------------------------------
57C
58C-------NS,N1----
59 CALL assem_kii(ns,nel,iddl,iadk,k_diag,k_lt ,ki11,nd,off)
60 CALL assem_kii(n1,nel,iddl,iadk,k_diag,k_lt ,ki11,nd,off)
61 CALL assem_kij(ns,n1,nel,iddl,iadk,jdik,
62 . k_diag,k_lt,ki12,nd,off)
63C-------NS,N2----
64 CALL assem_kii(ns,nel,iddl,iadk,k_diag,k_lt ,kj11,nd,off)
65 CALL assem_kii(n2,nel,iddl,iadk,k_diag,k_lt ,kj11,nd,off)
66 CALL assem_kij(ns,n2,nel,iddl,iadk,jdik,
67 . k_diag,k_lt,kj12,nd,off)
68C-------NS,N3----
69 CALL assem_kii(ns,nel,iddl,iadk,k_diag,k_lt ,kk11,nd,off)
70 CALL assem_kii(n3,nel,iddl,iadk,k_diag,k_lt ,kk11,nd,off)
71 CALL assem_kij(ns,n3,nel,iddl,iadk,jdik,
72 . k_diag,k_lt,kk12,nd,off)
73C-------NS,N4----
74 CALL assem_kii(ns,nel,iddl,iadk,k_diag,k_lt ,kl11,nd,off)
75 CALL assem_kii(n4,nel,iddl,iadk,k_diag,k_lt ,kl11,nd,off)
76 CALL assem_kij(ns,n4,nel,iddl,iadk,jdik,
77 . k_diag,k_lt,kl12,nd,off)
78C----6---------------------------------------------------------------7---------8
79 RETURN
subroutine assem_kij(ni, nj, nel, iddl, iadk, jdik, k_diag, k_lt, kij, nd, off)

◆ assem_int11()

subroutine assem_int11 ( integer nd,
integer, dimension(*) n1,
integer, dimension(*) n2,
integer, dimension(*) m1,
integer, dimension(*) m2,
integer nel,
integer, dimension(*) iddl,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
k1i11,
k1i12,
k1j11,
k1j12,
k2i11,
k2i12,
k2j11,
k2j12,
off )

Definition at line 205 of file assem_int.F.

210C----6------------------------------------------
211C I m p l i c i t T y p e s
212C-----------------------------------------------
213#include "implicit_f.inc"
214C-----------------------------------------------
215C D u m m y A r g u m e n t s
216C-----------------------------------------------
217 INTEGER ND ,N1(*) ,N2(*) ,M1(*) ,M2(*)
218 INTEGER
219 . NEL ,IDDL(*) ,IADK(*) ,JDIK(*)
220C REAL
221 my_real
222 . k_diag(*) ,k_lt(*) ,off(*),
223 . k1i11(nd,nd,*),k1i12(nd,nd,*),k1j11(nd,nd,*),k1j12(nd,nd,*),
224 . k2i11(nd,nd,*),k2i12(nd,nd,*),k2j11(nd,nd,*),k2j12(nd,nd,*)
225C-----------------------------------------------
226C L o c a l V a r i a b l e s
227C-----------------------------------------------
228C
229C-------N1,M1----
230 CALL assem_kii(n1,nel,iddl,iadk,k_diag,k_lt ,k1i11,nd,off)
231 CALL assem_kii(m1,nel,iddl,iadk,k_diag,k_lt ,k1i11,nd,off)
232 CALL assem_kij(n1,m1,nel,iddl,iadk,jdik,
233 . k_diag,k_lt,k1i12,nd,off)
234C-------N1,M2----
235 CALL assem_kii(n1,nel,iddl,iadk,k_diag,k_lt ,k1j11,nd,off)
236 CALL assem_kii(m2,nel,iddl,iadk,k_diag,k_lt ,k1j11,nd,off)
237 CALL assem_kij(n1,m2,nel,iddl,iadk,jdik,
238 . k_diag,k_lt,k1j12,nd,off)
239C-------N2,M1----
240 CALL assem_kii(n2,nel,iddl,iadk,k_diag,k_lt ,k2i11,nd,off)
241 CALL assem_kii(m1,nel,iddl,iadk,k_diag,k_lt ,k2i11,nd,off)
242 CALL assem_kij(n2,m1,nel,iddl,iadk,jdik,
243 . k_diag,k_lt,k2i12,nd,off)
244C-------N2,M2----
245 CALL assem_kii(n2,nel,iddl,iadk,k_diag,k_lt ,k2j11,nd,off)
246 CALL assem_kii(m2,nel,iddl,iadk,k_diag,k_lt ,k2j11,nd,off)
247 CALL assem_kij(n2,m2,nel,iddl,iadk,jdik,
248 . k_diag,k_lt,k2j12,nd,off)
249C----6---------------------------------------------------------------7---------8
250 RETURN