OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
imp_sol_init.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"
#include "param_c.inc"
#include "scr05_c.inc"
#include "impl1_c.inc"
#include "task_c.inc"
#include "buckcom.inc"
#include "units_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine imp_sol_init (geo, npby, lpby, itab, ipari, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, elbuf, nint7, nbintc, x, dmcp, fr_elem, iad_elem, fr_i2m, iad_i2m, nprw, num_imp1, num_impl, monvol, igrsurf, fr_mv, ipm, igeo, iad_rby, fr_rby, sh4tree, sh3tree, irbe3, lrbe3, fr_rbe3m, iad_rbe3m, irbe2, lrbe2, ibfv, vel, elbuf_tab, iframe, intbuf_tab, nddl0, nnzk0, impbuf_tab)
subroutine imp_restarcp (x, v, vr, geo, igeo, dmcp, impbuf_tab)

Function/Subroutine Documentation

◆ imp_restarcp()

subroutine imp_restarcp ( x,
v,
vr,
geo,
integer, dimension(npropgi,*) igeo,
dmcp,
type (impbuf_struct_) impbuf_tab )

Definition at line 508 of file imp_sol_init.F.

509C-----------------------------------------------
510C M o d u l e s
511C-----------------------------------------------
512 USE impbufdef_mod
513C-----------------------------------------------
514C I m p l i c i t T y p e s
515C-----------------------------------------------
516#include "implicit_f.inc"
517C-----------------------------------------------
518C C o m m o n B l o c k s
519C-----------------------------------------------
520#include "com01_c.inc"
521#include "com04_c.inc"
522#include "param_c.inc"
523#include "impl1_c.inc"
524C-----------------------------------------------
525C D u m m y A r g u m e n t s
526C-----------------------------------------------
527 INTEGER
528 . IGEO(NPROPGI,*)
529C REAL
530 my_real
531 . geo(npropg,*),x(*),dmcp(*),v(*),vr(*)
532 TYPE (IMPBUF_STRUCT_) :: IMPBUF_TAB
533C-----------------------------------------------
534C L o c a l V a r i a b l e s
535C-----------------------------------------------
536 INTEGER I,J,NNDL
537C-----------------------------------------------
538 IF (idyna==0) THEN
539 CALL zeror(v,numnod)
540 IF (iroddl/=0) CALL zeror(vr,numnod)
541 CALL cp_dm(numgeo,geo,igeo,dmcp,2)
542 ENDIF
543C ----------------for restart---
544 IF (ismdisp>0) THEN
545 nndl=3*numnod
546 CALL cp_real(nndl,impbuf_tab%X_A,x)
547 END IF
548C
549 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine cp_real(n, x, xc)
Definition produt_v.F:871
subroutine cp_dm(numgeo, geo, igeo, dmcp, iflag)
Definition produt_v.F:2563
subroutine zeror(a, n)
Definition zero.F:39

◆ imp_sol_init()

subroutine imp_sol_init ( geo,
integer, dimension(nnpby,*) npby,
integer, dimension(*) lpby,
integer, dimension(*) itab,
integer, dimension(npari,*) ipari,
integer, dimension(nixs,*) ixs,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
integer, dimension(nixtg,*) ixtg,
integer, dimension(4,*) ixtg1,
integer, dimension(6,*) ixs10,
integer, dimension(12,*) ixs20,
integer, dimension(8,*) ixs16,
integer, dimension(nparg,*) iparg,
elbuf,
integer nint7,
integer nbintc,
x,
dmcp,
integer, dimension(*) fr_elem,
integer, dimension(2,*) iad_elem,
integer, dimension(*) fr_i2m,
integer, dimension(*) iad_i2m,
integer, dimension(*) nprw,
integer, dimension(*) num_imp1,
integer, dimension(ninter,nthread) num_impl,
integer, dimension(*) monvol,
type (surf_), dimension(nsurf) igrsurf,
integer, dimension(nspmd+2,nvolu) fr_mv,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
integer, dimension(*) iad_rby,
integer, dimension(*) fr_rby,
integer, dimension(*) sh4tree,
integer, dimension(*) sh3tree,
integer, dimension(*) irbe3,
integer, dimension(*) lrbe3,
integer, dimension(*) fr_rbe3m,
integer, dimension(*) iad_rbe3m,
integer, dimension(*) irbe2,
integer, dimension(*) lrbe2,
integer, dimension(*) ibfv,
vel,
type (elbuf_struct_), dimension(ngroup) elbuf_tab,
integer, dimension(liskn,*) iframe,
type (intbuf_struct_), dimension(*) intbuf_tab,
integer nddl0,
integer nnzk0,
type (impbuf_struct_), target impbuf_tab )

Definition at line 50 of file imp_sol_init.F.

63C-----------------------------------------------
64C M o d u l e s
65C-----------------------------------------------
66 USE elbufdef_mod
67 USE intbufdef_mod
68 USE groupdef_mod
69 USE message_mod
71 use element_mod , only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
72C-----------------------------------------------
73C I m p l i c i t T y p e s
74C-----------------------------------------------
75#include "implicit_f.inc"
76C-----------------------------------------------
77C C o m m o n B l o c k s
78C-----------------------------------------------
79#include "com01_c.inc"
80#include "com04_c.inc"
81#include "com08_c.inc"
82#include "param_c.inc"
83#include "scr05_c.inc"
84#include "impl1_c.inc"
85#include "task_c.inc"
86#include "buckcom.inc"
87#include "units_c.inc"
88C-----------------------------------------------------------------
89C D u m m y A r g u m e n t s
90C-----------------------------------------------
91 INTEGER NDDL0,NNZK0,IPARG(NPARG,*),FR_ELEM(*) ,IAD_ELEM(2,*)
92 INTEGER NPBY(NNPBY,*),LPBY(*),ITAB(*)
93 INTEGER NINT7,NBINTC,IPARI(NPARI,*),
94 . FR_I2M(*),IAD_I2M(*),FR_RBY(*),IAD_RBY(*)
95 INTEGER MONVOL(*),
96 . FR_MV(NSPMD+2,NVOLU),NPRW(*),FR_RBE3M(*),IAD_RBE3M(*)
97 INTEGER IPM(NPROPMI,*),IGEO(NPROPGI,*),IFRAME(LISKN,*)
98 INTEGER
99 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*), IXT(NIXT,*), IXP(NIXP,*),
100 . IXR(NIXR,*), IXTG(NIXTG,*),IXS10(6,*),IXS20(12,*),
101 . IXS16(8,*),IXTG1(4,*),IRBE3(*),LRBE3(*),
102 . SH4TREE(*), SH3TREE(*),
103 . IRBE2(*),LRBE2(*),IBFV(*),NUM_IMP1(*),NUM_IMPL(NINTER,NTHREAD)
104C REAL
105 my_real
106 . geo(npropg,*),elbuf(*),vel(*),x(*),dmcp(*)
107 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
108 TYPE (INTBUF_STRUCT_) INTBUF_TAB(*)
109 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
110 TYPE (IMPBUF_STRUCT_) ,TARGET :: IMPBUF_TAB
111C-----------------------------------------------
112C L o c a l V a r i a b l e s
113C-----------------------------------------------
114 INTEGER I,J,K,N,M,L,NDOFI,NDOFJ,NKINE,NMIJ2,IP,NPN,NPP,IER1,
115 . LI1,LI2,LI3,LI4,LI5,LI6,LI7,LI8,LI9,LI10,LI11,LI12,
116 . LIF,LI13,LI14,LI15,LI16,LI17,IER2
117 INTEGER NTMP,L1,NNDLNKINE,NNMAX,NKMAX,NNDL
118 INTEGER, POINTER :: NDDL,NNZK,NRBYAC,NINT2,NMC,NMC2,NMONV
119 INTEGER, DIMENSION(:) ,POINTER :: IADK,JDIK,IDDL,NDOF,INLOC,LSIZE,I_IMP,
120 . IRBYAC,NSC,IINT2,NKUD,IMONV,IKINW
121 my_real, DIMENSION(:) ,POINTER :: diag_k,lt_k,diag_m,lt_m,lb,
122 . lb0,bkud,d_imp,elbuf_c,bufmat_c,
123 . x_c,dd,ddr
124C=======================================================================
125 IF (n2d>0) THEN
126 IF(ispmd==0)THEN
127 CALL ancmsg(msgid=161,anmode=aninfo)
128 ENDIF
129C CALL ARRET(2)
130 ENDIF
131 IF (iresp==1) THEN
132 IF(ispmd==0)THEN
133 CALL ancmsg(msgid=162,anmode=aninfo)
134 ENDIF
135 CALL arret(2)
136 ENDIF
137#ifndef MPI
138 IF (neig>0) THEN
139 IF(ispmd==0)THEN
140 CALL ancmsg(msgid=294,anmode=aninfo)
141 ENDIF
142 CALL arret(2)
143 END IF
144 IF (nbuck>0) THEN
145 IF(ispmd==0)THEN
146 CALL ancmsg(msgid=295,anmode=aninfo)
147 ENDIF
148 CALL arret(2)
149 END IF
150#endif
151c
152 ALLOCATE(impbuf_tab%IDDL(numnod))
153 ALLOCATE(impbuf_tab%NDOF(numnod))
154 ALLOCATE(impbuf_tab%INLOC(numnod))
155 ALLOCATE(impbuf_tab%IRBYAC(2*nrbykin))
156 ALLOCATE(impbuf_tab%NSC(nrbykin))
157 ALLOCATE(impbuf_tab%IINT2(ninter))
158 ALLOCATE(impbuf_tab%NKUD(nfxvel))
159 ALLOCATE(impbuf_tab%IMONV(nvolu))
160 nddl => impbuf_tab%NDDL
161 nnzk => impbuf_tab%NNZK
162 nrbyac => impbuf_tab%NRBYAC
163 nint2 => impbuf_tab%NINT2
164 nmc => impbuf_tab%NMC
165 nmc2 => impbuf_tab%NMC2
166 nmonv => impbuf_tab%NMONV
167 iddl => impbuf_tab%IDDL
168 ndof => impbuf_tab%NDOF
169 inloc => impbuf_tab%INLOC
170 lsize => impbuf_tab%LSIZE
171 i_imp => impbuf_tab%I_IMP
172 irbyac => impbuf_tab%IRBYAC
173 nsc => impbuf_tab%NSC
174 nsc = 0
175 iint2 => impbuf_tab%IINT2
176 nkud => impbuf_tab%NKUD
177 imonv => impbuf_tab%IMONV
178 CALL dim_glob_k(
179 1 geo ,npby ,lpby ,itab ,nrbyac ,
180 2 irbyac ,nint2 ,iint2 ,ipari ,
181 3 ixs ,ixq ,ixc ,ixt ,
182 4 ixp ,ixr ,ixtg ,ixtg1 ,ixs10 ,
183 5 ixs20 ,ixs16 ,iparg ,ndof ,
184 6 iddl ,nddl ,nnzk ,elbuf ,inloc ,
185 7 lsize ,fr_elem ,iad_elem ,fr_i2m ,iad_i2m ,
186 8 nprw ,nmonv ,imonv ,monvol ,igrsurf ,
187 9 fr_mv ,ipm ,igeo ,iad_rby ,
188 a fr_rby ,sh4tree ,sh3tree ,irbe3 ,lrbe3 ,
189 b fr_rbe3m ,iad_rbe3m ,irbe2 ,lrbe2 ,ibfv ,
190 c vel ,elbuf_tab ,iframe ,intbuf_tab )
191 s_iadk=nddl+1
192 s_jdik=nnzk
193 nddl0 = nddl
194 nnzk0 = nnzk
195 ALLOCATE(impbuf_tab%IADK(s_iadk))
196 ALLOCATE(impbuf_tab%JDIK(s_jdik))
197 iadk => impbuf_tab%IADK
198 jdik => impbuf_tab%JDIK
199c S_ISIJ=IMPBUF_TAB%LSIZE(4)
200c S_IMIJ=IMPBUF_TAB%LSIZE(5)
201c S_NSS=IMPBUF_TAB%LSIZE(1)
202c S_ISS=IMPBUF_TAB%LSIZE(3)
203c S_ISIJ2=IMPBUF_TAB%LSIZE(7)
204c S_NSS2=IMPBUF_TAB%LSIZE(2)
205c S_ISS2=IMPBUF_TAB%LSIZE(6)
206c S_NSC2=NINT2
207c S_NROWK=IMPBUF_TAB%LSIZE(8)
208c S_ICOK=(LSIZE(8)-LCOKM)*LSIZE(9)
209c S_ICOKM=LCOKM*LSIZE(10)
210c S_NMIJ2=4*LSIZE(11)
211c S_NSS3=IMPBUF_TAB%LSIZE(14)
212c S_ISB2=IMPBUF_TAB%LSIZE(15)
213c S_NSRB2=IMPBUF_TAB%LSIZE(16)
214C
215 nkine = lsize(8)
216 nnmax = lsize(9)
217 nkmax = lsize(10)
218 nmij2 = lsize(11)
219 npn = lsize(12)
220 npp = lsize(13)
221C
222c ALLOCATE(IMPBUF_TAB%ISIJ(S_ISIJ))
223c ALLOCATE(IMPBUF_TAB%IMIJ(S_IMIJ))
224c ALLOCATE(IMPBUF_TAB%NSS(S_NSS))
225c ALLOCATE(IMPBUF_TAB%ISIJ2(S_ISIJ2))
226c ALLOCATE(IMPBUF_TAB%NSS2(S_NSS2))
227c ALLOCATE(IMPBUF_TAB%ISS2(S_ISS2))
228c ALLOCATE(IMPBUF_TAB%NSC2(S_NSC2))
229c ALLOCATE(IMPBUF_TAB%ISS2(S_ISS2))
230c ALLOCATE(IMPBUF_TAB%NROWK(S_NROWK))
231c ALLOCATE(IMPBUF_TAB%ICOK(S_ICOK))
232c ALLOCATE(IMPBUF_TAB%ICOKM(S_ICOKM))
233c ALLOCATE(IMPBUF_TAB%NMIJ2(S_NMIJ2))
234c ALLOCATE(IMPBUF_TAB%NSS3(S_NSS3))
235c ALLOCATE(IMPBUF_TAB%ISB2(S_ISB2))
236c ALLOCATE(IMPBUF_TAB%NSRB2(S_NSRB2))
237C----finally not to splite IKINW, otherwise too many changes
238 li1 =1
239 li2 = li1+lsize(4)
240 li3 = li2+lsize(5)
241 li4 = li3+lsize(1)
242 li5 = li4+lsize(3)
243 li6 = li5+lsize(7)
244 li7 = li6+lsize(2)
245 li8 = li7+lsize(6)
246 li9 = li8+nint2
247 li10 = li9+lsize(8)
248 li11 = li10+(lsize(8)-lcokm)*lsize(9)
249 li12 = li11+lcokm*lsize(10)
250 li13 = li12+4*lsize(11)
251 li14 = li13+lsize(14)
252 li15 = li14+lsize(15)
253 lif = li15+lsize(16)
254 s_ikinw = lif
255 ALLOCATE(impbuf_tab%IKINW(s_ikinw))
256 ikinw => impbuf_tab%IKINW
257 CALL ind_glob_k(npby ,lpby ,
258 1 itab ,nrbyac ,irbyac ,nsc ,ikinw(li1),
259 2 nmc ,ikinw(li2),ikinw(li3),ikinw(li4),nint2 ,
260 3 iint2 ,ipari ,intbuf_tab,ikinw(li8),ikinw(li5),
261 4 ikinw(li6),ikinw(li7),iparg ,elbuf ,elbuf_tab ,
262 5 ixs ,ixq ,ixc ,ixt ,ixp ,
263 6 ixr ,ixtg ,ixtg1 ,ixs10 ,ixs20 ,
264 7 ixs16 ,iddl ,ndof ,iadk ,
265 8 jdik ,nddl ,nnzk ,lsize(9) ,lsize(8) ,
266 9 inloc ,lsize(10),ikinw(li9),ikinw(li10),ikinw(li11),
267 a lsize(11) ,ikinw(li12),li1 ,lsize(12) ,lsize(13) ,
268 b fr_elem ,iad_elem ,ipm ,igeo ,irbe3 ,
269 c lrbe3 ,ikinw(li13),fr_i2m ,iad_i2m ,fr_rbe3m ,
270 d iad_rbe3m ,irbe2 ,lrbe2 ,ikinw(li14),ikinw(li15))
271 ntmp=max(nkmax,nnmax)
272 IF (iroddl/=0) THEN
273 maxb = min(6*(ntmp+1),nddl)
274 maxb1 = min(6*(nnmax+1),nddl)
275 ELSE
276 maxb = min(3*(ntmp+1),nddl)
277 maxb1 = min(3*(nnmax+1),nddl)
278 ENDIF
279 maxb0 = maxb
280 nndl=3*numnod
281c IF (IMON>0) CALL STOPTIME(TIMERS,31)
282 IF(ispmd==0)THEN
283 WRITE(istdo,*)
284 WRITE(istdo,*)' **************************'
285 WRITE(istdo,*)' ** IMPLICIT OPTION USED **'
286 WRITE(istdo,*)' **************************'
287 WRITE(istdo,*)
288 ENDIF
289C-----integer : 1:IKC,2:IKUD,3:W_DDL,4:IADM,5:JDIM,6:NDOFI,7:IDDLI,8:INBUF_C
290 IF(nfxvel>0.AND.neig==0)THEN
291 l1=nfxvel*max(3,maxb)
292 ELSE
293 l1=0
294 ENDIF
295 s_ikc=nddl+6
296 s_ikud=l1
297C -----------W_DDL is reserved anyway------
298 s_w_ddl=nddl
299 max_l = 0
300 IF (nmonv>0.AND.isolv>=3.AND.neig==0) THEN
301 IF(ispmd==0)THEN
302 CALL ancmsg(msgid=163,anmode=aninfo)
303 ENDIF
304 CALL arret(2)
305 ENDIF
306C ----- ---------
307 IF ((isolv==1.OR.isolv>4).AND.n_pat>1) THEN
308 CALL fil_span0(nrbyac,irbyac,npby,iddl,ndof,nddl)
309 CALL dim_span(n_pat,nddl,iadk,jdik,max_l,maxb1)
310 s_iadm=nddl+1
311 ELSE
312 s_iadm=0
313 ENDIF
314 s_jdim=max_l
315 ALLOCATE(impbuf_tab%IKC(s_ikc))
316 ALLOCATE(impbuf_tab%IKUD(s_ikud))
317 ALLOCATE(impbuf_tab%W_DDL(s_w_ddl))
318 ALLOCATE(impbuf_tab%IADM(s_iadm))
319 ALLOCATE(impbuf_tab%JDIM(s_jdim))
320 s_ndofi=numnod
321 s_iddli=0
322 nint7 = 0
323 s_cand_n = 0
324 s_cand_e = 0
325 s_indsubt= 0
326 IF (ninter/=0.AND.neig==0) THEN
327 CALL dim_int7(ninter,ipari ,intbuf_tab ,nint7)
328 IF (nint7>0) THEN
329 IF (isolv==4) THEN
330 CALL ancmsg(msgid=214,anmode=aninfo)
331 CALL arret(2)
332 ENDIF
333 s_cand_n = nint7*nthread !NS_IMP
334 s_cand_e = s_cand_n !NE_IMP
335 s_indsubt= s_cand_n !IND_IMP
336 s_iddli=numnod
337 ENDIF
338 ENDIF
339 ALLOCATE(impbuf_tab%CAND_N(s_cand_n))
340 ALLOCATE(impbuf_tab%CAND_E(s_cand_e))
341 ALLOCATE(impbuf_tab%INDSUBT(s_indsubt),stat=ier1)
342 s_inbuf_c =0
343 ALLOCATE(impbuf_tab%NDOFI(s_ndofi))
344 ALLOCATE(impbuf_tab%IDDLI(s_iddli))
345 ALLOCATE(impbuf_tab%INBUF_C(s_inbuf_c))
346 IF (nspmd>1.AND.nbintc>0) CALL imp_frii(ninter)
347c IIF=II9
348C-----reel : 1,2,3,4:DIAG_K,LT_K,DIAG_M,LT_M,5,6:LB,DB,7:BKUD,8,9:D_IMP,DR_IMP
349C---- 10,11,12:ELBUF_C,BUFMAT_C,X_C,13,14:DD,DDR,15,16:X_actual,free
350C-----------17-21:FEXT,DG,DGR,DI,DIR;(Riks arc-length);22:BUFIN_C,23,24:AC,ACR,
351 s_diag_k=nddl
352 s_lt_k=nnzk
353 s_diag_m=nddl
354 s_lt_m=max(nnzk,max_l)
355 s_lb=nddl
356 IF (iline/=1.AND.tt==zero.AND.isprb==0) THEN
357 IF (nmonv>0) isigini=1
358 ELSE
359 isigini=0
360 ENDIF
361 IF ((isprb==1.OR.isigini==1.OR.ilintf>0)
362 . .AND.neig==0) THEN
363 s_lb0=nddl
364 ELSE
365 s_lb0=0
366 ENDIF
367 s_bkud=l1
368 s_d_imp=nndl
369 IF (iroddl/=0.AND.neig==0) THEN
370 s_dr_imp=nndl
371 ELSE
372 s_dr_imp=0
373 ENDIF
374 IF (iline/=1) THEN
376 s_x_c=nndl
377 s_dd=nndl
378 IF (iroddl/=0) THEN
379 s_ddr=nndl
380 ELSE
381 s_ddr=0
382 ENDIF
383 ELSEIF (ilintf>0) THEN
385 s_x_c=nndl
386 s_dd=0
387 s_ddr=0
388 ELSE
389 s_elbuf_c=0
390 s_bufmat_c=0
391 s_x_c=0
392 s_dd=0
393 s_ddr=0
394 ENDIF
395 s_x_a=0
396 IF (neig==0) THEN
397 IF (ismdisp>0) s_x_a=nndl
398 ENDIF
399C-----------17-21:FEXT,DG,DGR,DG0,DGR0;(Riks arc-length);22:BUFIN_C,23,24:AC,ACR,
400 s_fext=0
401 s_dg=0
402 s_dgr=0
403 s_dg0=0
404 s_dgr0=0
405 IF (idtc==3) THEN
406 s_fext=nddl
407 IF (iroddl/=0) THEN
408 s_dg=nndl
409 s_dgr=nndl
410 s_dg0=nndl
411 s_dgr0=nndl
412 ELSE
413 s_dg=nndl
414 s_dg0=nndl
415 ENDIF
416 ENDIF
417 s_bufin_c=0
418 s_ac=0
419 s_acr=0
420 IF (neig==0) THEN
421 s_ac=nndl
422 IF (iroddl/=0) s_acr=nndl
423 ENDIF
424C
425 ALLOCATE(impbuf_tab%DIAG_K(s_diag_k))
426 ALLOCATE(impbuf_tab%LT_K(s_lt_k))
427 ALLOCATE(impbuf_tab%DIAG_M(s_diag_m))
428 ALLOCATE(impbuf_tab%LT_M(s_lt_m))
429 ALLOCATE(impbuf_tab%LB(s_lb))
430 ALLOCATE(impbuf_tab%LB0(s_lb0))
431 ALLOCATE(impbuf_tab%BKUD(s_bkud))
432 ALLOCATE(impbuf_tab%D_IMP(s_d_imp))
433 ALLOCATE(impbuf_tab%DR_IMP(s_dr_imp))
434 ALLOCATE(impbuf_tab%ELBUF_C(s_elbuf_c))
435 ALLOCATE(impbuf_tab%BUFMAT_C(s_bufmat_c))
436 ALLOCATE(impbuf_tab%X_C(s_x_c))
437 ALLOCATE(impbuf_tab%DD(s_dd))
438 ALLOCATE(impbuf_tab%DDR(s_ddr))
439 ALLOCATE(impbuf_tab%X_A(s_x_a))
440 ALLOCATE(impbuf_tab%FEXT(s_fext))
441 ALLOCATE(impbuf_tab%DG(s_dg))
442 ALLOCATE(impbuf_tab%DGR(s_dgr))
443 ALLOCATE(impbuf_tab%DG0(s_dg0))
444 ALLOCATE(impbuf_tab%DGR0(s_dgr0))
445 ALLOCATE(impbuf_tab%BUFIN_C(s_bufin_c))
446 ALLOCATE(impbuf_tab%AC(s_ac))
447 ALLOCATE(impbuf_tab%ACR(s_acr),stat=ier2)
448c
449 IF (ier1/=0.OR.ier2/=0) THEN
450 CALL ancmsg(msgid=19,anmode=aninfo,
451 . c1='FOR IMPLICIT')
452 CALL arret(2)
453 ENDIF
454C---------INITIALISATION------
455 impbuf_tab%D_IMP=zero
456 impbuf_tab%IKC=0
457 nddl0 = nddl
458 nnzk0 = nnzk
459 isetk=1
460 idsc=1
461C---------IT(TOTAL),ITC,IWAIT,IDIV,R02,EIMP,E02-,Ichang-----
462 i_imp=0
463 it_bcs = 0
464 it_pcg = 0
465 impbuf_tab%R_IMP(1:25)=zero
466C ---- X_actual,V_zero-----
467 IF (neig==0) THEN
468 IF (s_x_a>0) CALL cp_real(nndl,x,impbuf_tab%X_A)
469 IF (idyna==0) CALL cp_dm(numgeo,geo,igeo,dmcp,1)
470 END IF
471C----i--initialisation for for travers nodes detection-----
472 IF (ninter/=0.AND.neig==0) THEN
473 nt_imp1=0
474 DO i=1,ninter
475 num_imp1(i)=0
476 ENDDO
477 DO j=1,nthread
478 DO i=1,ninter
479 num_impl(i,j)=0
480 ENDDO
481 ENDDO
482 ENDIF
483 CALL imp_trans0(impbuf_tab%R_IMP,impl_s0)
484 IF (iline/=1) CALL zero1(impbuf_tab%DD,nndl)
485c IBUCK= IBUCKL
486 IF (nbuck>0.AND.bisolv==2) THEN
487 WRITE(istdo,'(A)')
488 .' !! BISOLV =2 REQUIRES OPTION /IMPL/GRAPH IN RADIOSS STARTER'
489 WRITE(iout,'(A)')
490 .' !! BISOLV =2 REQUIRES OPTION /IMPL/GRAPH IN RADIOSS STARTER'
491 CALL spmd_mstop()
492 RETURN
493 ENDIF
494C
495 RETURN
subroutine imp_trans0(r_imp, nr)
Definition wrrest.F:399
subroutine zero1(r, n)
subroutine imp_frii(ninter)
Definition imp_fri.F:456
subroutine fil_span0(nrbyac, irbyac, npby, iddl, ndof, nddl)
subroutine dim_span(nn, nddl, iadk, jdik, l_nz, ndmax)
subroutine dim_int7(ninter, ipari, intbuf_tab, nnmax)
subroutine dim_glob_k(geo, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, ipari, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, ndof, iddl, nddl, nnzk, elbuf, inloc, lsize, fr_elem, iad_elem, fr_i2m, iad_i2m, nprw, nmonv, imonv, monvol, igrsurf, fr_mv, ipm, igeo, iad_rby, fr_rby, sh4tree, sh3tree, irbe3, lrbe3, fr_rbe3m, iad_rbe3m, irbe2, lrbe2, ibfv, vel, elbuf_tab, iframe, intbuf_tab)
subroutine ind_glob_k(npby, lpby, itab, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, nint2, iint2, ipari, intbuf_tab, nsc2, isij2, nss2, iss2, iparg, elbuf, elbuf_tab, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iddl, ndof, iadk, jdik, nddl, nnzk, nnmax, nkine, inloc, nkmax, nrowk, icok, icokm, nmc2, imij2, irk, npn, npp, fr_elem, iad_elem, ipm, igeo, irbe3, lrbe3, iss3, fr_i2m, iad_i2m, fr_rbe3m, iad_rbe3m, irbe2, lrbe2, isb2, nsrb2)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
integer s_elbuf_c
integer s_bufmat_c
integer s_inbuf_c
integer s_bufin_c
integer s_indsubt
subroutine buf_dim1(l1, lt)
Definition produt_v.F:973
subroutine spmd_mstop()
Definition spmd_mstop.F:33
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:895
subroutine arret(nn)
Definition arret.F:86