OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
imp_k_eig.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "task_c.inc"
#include "timeri_c.inc"
#include "param_c.inc"
#include "units_c.inc"
#include "impl1_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine imp_k_eig (nddl0, nnzk0, diag_k, lt_k, lsize, pm, geo, ipm, igeo, elbuf, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, iparg, tf, npc, fr_wave, w16, bufmat, thke, bufgeo, rby, skew, x, wa, iddl, ndof, iadk, jdik, icodt, icodr, iskew, ibfv, vel, lpby, npby, itab, weight, ms, in, nrbyac, irbyac, nsc, ikinw, nmc, ipari, intbuf_tab, d_imp, lb, nint2, iint2, ikc, itask, eigipm, eigibuf, nddl, inloc, iad_elem, fr_elem, irbe3, lrbe3, frbe3, irbe2, lrbe2, elbuf_tab, stack, drape_sh4n, drape_sh3n, drapeg)

Function/Subroutine Documentation

◆ imp_k_eig()

subroutine imp_k_eig ( integer nddl0,
integer nnzk0,
diag_k,
lt_k,
integer, dimension(*) lsize,
pm,
geo,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
elbuf,
integer, dimension(*) 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(nparg,*) iparg,
tf,
integer, dimension(*) npc,
fr_wave,
w16,
bufmat,
thke,
bufgeo,
rby,
skew,
x,
wa,
integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
integer, dimension(*) icodt,
integer, dimension(*) icodr,
integer, dimension(*) iskew,
integer, dimension(nifv,*) ibfv,
vel,
integer, dimension(*) lpby,
integer, dimension(nnpby,*) npby,
integer, dimension(*) itab,
integer, dimension(*) weight,
ms,
in,
integer nrbyac,
integer, dimension(*) irbyac,
integer, dimension(*) nsc,
integer, dimension(*) ikinw,
integer nmc,
integer, dimension(npari,*) ipari,
type(intbuf_struct_), dimension(*) intbuf_tab,
d_imp,
lb,
integer nint2,
integer, dimension(*) iint2,
integer, dimension(*) ikc,
integer itask,
integer, dimension(*) eigipm,
integer, dimension(*) eigibuf,
integer nddl,
integer, dimension(*) inloc,
integer, dimension(2,*) iad_elem,
integer, dimension(*) fr_elem,
integer, dimension(*) irbe3,
integer, dimension(*) lrbe3,
frbe3,
integer, dimension(*) irbe2,
integer, dimension(*) lrbe2,
type (elbuf_struct_), dimension(ngroup) elbuf_tab,
type (stack_ply) stack,
type (drape_), dimension(numelc_drape) drape_sh4n,
type (drape_), dimension(numeltg_drape) drape_sh3n,
type (drapeg_) drapeg )

Definition at line 37 of file imp_k_eig.F.

53C-----------------------------------------------
54C M o d u l e s
55C-----------------------------------------------
56 USE elbufdef_mod
57 USE intbufdef_mod
58 USE stack_mod
59 USE drape_mod
60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C C o m m o n B l o c k s
66C-----------------------------------------------
67#include "com01_c.inc"
68#include "com04_c.inc"
69#include "task_c.inc"
70#include "timeri_c.inc"
71#include "param_c.inc"
72#include "units_c.inc"
73#include "impl1_c.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77 INTEGER NDDL0, NNZK0, LSIZE(*), IPM(NPROPMI,*),IGEO(NPROPGI,*),
78 . IXS(*), IXQ(NIXQ,*), IXC(NIXC,*), IXT(NIXT,*),
79 . IXP(NIXP,*), IXR(NIXR,*), IXTG(NIXTG,*),
80 . IXTG1(4,*), IPARG(NPARG,*),
81 . NPC(*), IDDL(*), NDOF(*), IADK(*),JDIK(*),
82 . ICODT(*), ICODR(*), ISKEW(*), IBFV(NIFV,*),
83 . LPBY(*), NPBY(NNPBY,*), ITAB(*),
84 . WEIGHT(*), NRBYAC, IRBYAC(*), NSC(*), IKINW(*), NMC,
85 . IPARI(NPARI,*), NINT2, IINT2(*), IKC(*),
86 . ITASK, EIGIPM(*), EIGIBUF(*), NDDL, INLOC(*),
87 . IAD_ELEM(2,*), FR_ELEM(*),IRBE3(*),LRBE3(*),IRBE2(*),
88 . LRBE2(*)
90 . diag_k(*), lt_k(*), pm(npropm,*), geo(npropg,*),
91 . elbuf(*), tf(*), w16(*), bufmat(*),
92 . thke(*), bufgeo(*),rby(*),
93 . skew(lskew,*), x(3,*), wa(*), vel(lfxvelr,*), ms(*),
94 . in(*), d_imp(3,*), lb(*), fr_wave(*),frbe3(*)
95 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP) :: ELBUF_TAB
96 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
97 TYPE (STACK_PLY) :: STACK
98 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE), DRAPE_SH3N(NUMELTG_DRAPE)
99 TYPE (DRAPEG_) :: DRAPEG
100C-----------------------------------------------
101C L o c a l V a r i a b l e s
102C-----------------------------------------------
103 INTEGER NNZK, I, L1, L2, L3, LI1, LI2, LI3, LI4, LI5,
104 . LI6, LI7, LI8, ETAG(NUMNOD), NN, IBID1, IBID2, NT_RW,
105 . NMC2, LI9, LI10, LI11, LI12, NNMAX, NKMAX,IBID3,LI13,
106 . LI14,LI15
107 my_real
108 . rbid
109C=======================================================================
110 DO i=1,numnod
111 etag(i)=0
112 ENDDO
113 nn=eigipm(10)
114 DO i=1,nn
115 etag(eigibuf(i))=1
116 ENDDO
117 DO i=1,nddl0
118 lb(i)=zero
119 ENDDO
120C Pas de vitesse imposee (ni de rigid wall) en analyse modale
121 nfxvel=0
122 nt_rw=0
123C
124 nddl = nddl0
125 nnzk = nnzk0
126 DO i=1,nddl
127 diag_k(i)=zero
128 ENDDO
129 DO i=1,nnzk
130 lt_k(i)=zero
131 ENDDO
132 nmc2=lsize(11)
133 l1 = 1+nixs*numels
134 l2 = l1+6*numels10
135 l3 = l2+12*numels20
136 li1 =1
137 li2 = li1+lsize(4)
138 li3 = li2+lsize(5)
139 li4 = li3+lsize(1)
140 li5 = li4+lsize(3)
141 li6 = li5+lsize(7)
142 li7 = li6+lsize(2)
143 li8 = li7+lsize(6)
144 li9 = li8+nint2
145 li10 = li9+lsize(8)
146 li11 = li10+(lsize(8)-nrbyac)*lsize(9)
147 li12 = li11+nrbyac*lsize(10)
148 li13 = li12+4*lsize(11)
149 li14 = li13+lsize(14)
150 li15 = li14+lsize(15)
151C
152 ngdone = 1
153 CALL imp_glob_k(
154 1 pm ,geo ,ipm ,igeo ,elbuf ,
155 2 ixs ,ixq ,ixc ,ixt ,ixp ,
156 3 ixr ,ixtg ,ixtg1 ,ixs(l1) ,
157 4 ixs(l2) ,ixs(l3) ,iparg ,tf ,npc ,
158 5 fr_wave ,w16 ,bufmat ,thke ,bufgeo ,
159 6 rby ,skew ,x ,
160 7 wa ,iddl ,ndof ,diag_k ,lt_k ,
161 8 iadk ,jdik ,ikg ,etag ,elbuf_tab ,
162 9 stack ,drape_sh4n, drape_sh3n ,drapeg )
163C /---------------/
164 CALL my_barrier
165C /---------------/
166 CALL upd_glob_k(
167 1 icodt ,icodr ,iskew ,ibfv ,npc ,
168 2 tf ,vel ,rbid ,
169 3 rby ,x ,skew ,lpby ,npby ,
170 4 itab ,weight ,ms ,in ,nrbyac ,
171 5 irbyac ,nsc ,ikinw(li1),nmc ,ikinw(li2),
172 6 ikinw(li3),ikinw(li4),nint2 ,iint2 ,ikinw(li8),
173 7 ikinw(li5),ikinw(li6),ikinw(li7),ipari ,intbuf_tab,
174 8 nddl ,nnzk ,iadk ,jdik ,
175 9 diag_k ,lt_k ,ndof ,iddl ,ikc ,
176 a d_imp ,lb ,ibid1 ,ibid2 ,rbid ,
177 b nmc2 ,ikinw(li12),nt_rw ,rbid ,ibid3 ,
178 c irbe3 ,lrbe3 ,frbe3 ,ikinw(li13),irbe2 ,
179 d lrbe2 ,ikinw(li14),ikinw(li15))
180 IF (nspmd>1) THEN
181 CALL upd_fr_k(
182 1 iadk ,jdik ,ndof ,ikc ,iddl ,
183 2 inloc ,fr_elem ,iad_elem ,nddl )
184 ENDIF
185C
186 nnmax=lsize(9)
187 nkmax=lsize(10)
188 CALL pr_infok(nddl0, nnzk0, nddl, nnzk, max(nnmax,nkmax))
189C------------
190 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine upd_fr_k(iadk, jdik, ndof, ikc, iddl, inloc, fr_elem, iad_elem, nddl)
Definition imp_fri.F:4091
subroutine imp_glob_k(pm, geo, ipm, igeo, elbuf, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ixtg1, ixs10, ixs20, ixs16, iparg, tf, npc, fr_wave, w16, bufmat, thke, bufgeo, rby, skew, x, wa, iddl, ndof, k_diag, k_lt, iadk, jdik, ikgeo, etag, elbuf_tab, stack, drape_sh4n, drape_sh3n, drapeg)
Definition imp_glob_k.F:62
subroutine pr_infok(nddl0, nnzk0, nddl, nnzk, nnmax)
Definition imp_solv.F:2140
#define max(a, b)
Definition macros.h:21
subroutine my_barrier
Definition machine.F:31
subroutine upd_glob_k(icodt, icodr, iskew, ibfv, npc, tf, vel, xframe, rby, x, skew, lpby, npby, itab, weight, ms, in, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, nint2, iint2, nsc2, isij2, nss2, iss2, ipari, intbuf_tab, nddl, nnz, iadk, jdik, diag_k, lt_k, ndof, iddl, ikc, ud, b, nkud, ikud, bkud, nmc2, imij2, nt_rw, rd, lj, irbe3, lrbe3, frbe3, iss3, irbe2, lrbe2, isb2, nsrb2)
Definition upd_glob_k.F:66