OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s4ke3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com04_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s4ke3 (pm, geo, ixs, x, gbuf, etag, iddl, ndof, k_diag, k_lt, iadk, jdik, nel, ipm, igeo, ikgeo, bufmat, nft, mtn, ismstr, jhbe, irep, isorth, iformdt)

Function/Subroutine Documentation

◆ s4ke3()

subroutine s4ke3 ( pm,
geo,
integer, dimension(nixs,*) ixs,
x,
type(g_bufel_) gbuf,
integer, dimension(*) etag,
integer, dimension(*) iddl,
integer, dimension(*) ndof,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
integer nel,
integer, dimension(npropmi,*) ipm,
integer, dimension(npropgi,*) igeo,
integer ikgeo,
bufmat,
integer, intent(in) nft,
integer, intent(in) mtn,
integer, intent(in) ismstr,
integer, intent(in) jhbe,
integer, intent(in) irep,
integer, intent(in) isorth,
integer, intent(in) iformdt )

Definition at line 43 of file s4ke3.F.

50C-----------------------------------------------
51C M o d u l e s
52C-----------------------------------------------
53 USE elbufdef_mod
54C-----------------------------------------------
55C I m p l i c i t T y p e s
56C-----------------------------------------------
57#include "implicit_f.inc"
58C-----------------------------------------------
59C G l o b a l P a r a m e t e r s
60C-----------------------------------------------
61#include "mvsiz_p.inc"
62C-----------------------------------------------
63C C o m m o n B l o c k s
64C-----------------------------------------------
65#include "com04_c.inc"
66#include "param_c.inc"
67C-----------------------------------------------
68C D u m m y A r g u m e n t s
69C-----------------------------------------------
70 INTEGER, INTENT(IN) :: IFORMDT
71 INTEGER, INTENT(IN) :: NFT
72 INTEGER, INTENT(IN) :: MTN
73 INTEGER, INTENT(IN) :: ISMSTR
74 INTEGER, INTENT(IN) :: JHBE
75 INTEGER, INTENT(IN) :: IREP
76 INTEGER, INTENT(IN) :: ISORTH
77 INTEGER IXS(NIXS,*), IKGEO
78C
79 INTEGER NEL ,IPM(NPROPMI,*),IGEO(NPROPGI,*),
80 . ETAG(*),IDDL(*) ,NDOF(*) ,IADK(*) ,JDIK(*)
81C
83 . pm(npropm,*), geo(npropg,*), x(*),
84 . k11(9,mvsiz) ,k12(9,mvsiz) ,k13(9,mvsiz) ,k14(9,mvsiz) ,
85 . k22(9,mvsiz) ,k23(9,mvsiz) ,k24(9,mvsiz) ,k33(9,mvsiz) ,
86 . k34(9,mvsiz) ,k44(9,mvsiz) , off(mvsiz) ,bufmat(*) ,
87 . k_diag(*) ,k_lt(*)
88 TYPE(G_BUFEL_) :: GBUF
89C-----------------------------------------------
90C L o c a l V a r i a b l e s
91C-----------------------------------------------
92 INTEGER LCO, NF1, IFLAG, NB3S, I,IS,IAD0,IBID,NBGAMA,IBID1
93 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),PID,IADBUF,IKORTH
95 . rx(mvsiz) , ry(mvsiz) , rz(mvsiz) ,
96 . sx(mvsiz) , sy(mvsiz) , sz(mvsiz) ,
97 . tx(mvsiz) , ty(mvsiz) , tz(mvsiz) ,
98 . e1x(mvsiz) , e1y(mvsiz) , e1z(mvsiz) ,
99 . e2x(mvsiz) , e2y(mvsiz) , e2z(mvsiz) ,
100 . e3x(mvsiz) , e3y(mvsiz) , e3z(mvsiz) ,
101 . voln(mvsiz), deltax(mvsiz), bid(1)
102C----------------
103 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ)
104 my_real
105 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
106 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
107 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
108 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
109 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
110 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz)
111C 12
112 my_real
113 . hh(2,mvsiz),dd(9,mvsiz),gg(mvsiz),dm(9,mvsiz),gm(9,mvsiz),
114 . dgm(9,mvsiz),dg(9,mvsiz),g33(9,mvsiz),gama(mvsiz,6)
115C----HH(1,):lamda,HH(2,):G
116 DOUBLE PRECISION
117 . VOLDP(MVSIZ)
118C-----------------------------------------------
119C S o u r c e L i n e s
120C-----------------------------------------------
121 IF (isorth>0) THEN
122 ikorth=1
123 ELSE
124 ikorth=0
125 ENDIF
126C-----------
127 nf1=nft+1
128C-----------
129 CALL s4coork(
130 1 x, ixs(1,nf1),x1, x2,
131 2 x3, x4, y1, y2,
132 3 y3, y4, z1, z2,
133 4 z3, z4, gbuf%OFF, off,
134 5 gbuf%SMSTR,nc1, nc2, nc3,
135 6 nc4, ngl, mxt, ngeo,
136 7 k11, k12, k13, k14,
137 8 k22, k23, k24, k33,
138 9 k34, k44, nel, ismstr)
139 CALL s4derit3(
140 1 off, voln, ngl, deltax,
141 2 mxt, x1, x2, x3,
142 3 x4, y1, y2, y3,
143 4 y4, z1, z2, z3,
144 5 z4, px1, px2, px3,
145 6 px4, py1, py2, py3,
146 7 py4, pz1, pz2, pz3,
147 8 pz4, rx, ry, rz,
148 9 sx, sy, sz, tx,
149 a ty, tz, pm, voldp,
150 b nel, iformdt)
151 CALL sreploc3(
152 1 rx, ry, rz, sx,
153 2 sy, sz, tx, ty,
154 3 tz, e1x, e2x, e3x,
155 4 e1y, e2y, e3y, e1z,
156 5 e2z, e3z, nel)
157 IF (isorth == 0) THEN
158 DO i=1,nel
159 gama(i,1) = one
160 gama(i,2) = zero
161 gama(i,3) = zero
162 gama(i,4) = zero
163 gama(i,5) = one
164 gama(i,6) = zero
165 ENDDO
166 ELSE
167 CALL sorthdir3(
168 1 rx, ry, rz, sx,
169 2 sy, sz, tx, ty,
170 3 tz, e1x, e2x, e3x,
171 4 e1y, e2y, e3y, e1z,
172 5 e2z, e3z, gbuf%GAMA,gama,
173 6 nel, irep)
174 CALL morthlock3(1,nel ,gama,e1x,e2x,e3x,
175 + e1y,e2y ,e3y ,e1z,e2z,e3z)
176 ENDIF
177c
178 IF (mtn>=28) THEN
179 iadbuf = ipm(7,mxt(1))
180 ELSE
181 iadbuf = 1
182 ENDIF
183 CALL mmats(1 ,nel ,pm ,mxt ,hh ,
184 . mtn ,ikorth ,ipm ,igeo ,gama ,
185 . bufmat(iadbuf) ,dm ,dgm ,gm ,
186 . jhbe ,gbuf%SIG ,bid ,ibid1 ,nel )
187 ibid = 0
188 ibid1 = 1
189 CALL mmstifs(
190 1 pm, mxt, hh, voln,
191 2 ibid, dd, gg, dg,
192 3 g33, dm, gm, dgm,
193 4 ikorth, gbuf%SIG,ibid1, ibid1,
194 5 ibid1, nel, jhbe, mtn)
195 CALL s4cumg3(
196 1 px1, px2, px3, px4,
197 2 py1, py2, py3, py4,
198 3 pz1, pz2, pz3, pz4,
199 4 k11, k12, k13, k14,
200 5 k22, k23, k24, k33,
201 6 k34, k44, dd, gg,
202 7 dg, g33, ikorth, nel)
203C----------------------------
204C geometrical stiffness (membrane only)
205C----------------------------
206 IF (ikgeo>0) THEN
207 CALL s4kgeo3(
208 1 gbuf%SIG,voln, px1, px2,
209 2 px3, px4, py1, py2,
210 3 py3, py4, pz1, pz2,
211 4 pz3, pz4, k11, k12,
212 5 k13, k14, k22, k23,
213 6 k24, k33, k34, k44,
214 7 nel)
215 ENDIF
216
217 IF (neig>0) CALL s8eoff(
218 1 1, nel, ixs(1,nf1), etag, off)
219 CALL assem_s4(
220 1 ixs(1,nf1),nel ,iddl ,ndof ,k_diag,
221 2 k_lt ,iadk ,jdik ,k11 ,k12 ,
222 3 k13 ,k14 ,k22 ,k23 ,k24 ,
223 4 k33 ,k34 ,k44 ,off )
224C
225 RETURN
subroutine assem_s4(ixs, nel, iddl, ndof, k_diag, k_lt, iadk, jdik, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, off)
Definition assem_s4.F:36
#define my_real
Definition cppsort.cpp:32
subroutine mmats(jft, jlt, pm, mat, hh, mtn, iorth, ipm, igeo, gama, uparam, cc, cg, g33, jhbe, sig, eps, nppt, nel)
Definition mmats.F:45
subroutine mmstifs(pm, mat, hh, vol, icsig, dd, gg, dg, g33, dm, gm, dgm, iorth, sig, ir, is, it, nel, jhbe, mtn)
Definition mmstifs.F:44
subroutine morthlock3(lft, llt, gama, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition morthlock3.F:31
subroutine s4coork(x, ixs, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, offg, off, sav, nc1, nc2, nc3, nc4, ngl, mxt, ngeo, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, nel, ismstr)
Definition s4coork.F:38
subroutine s4cumg3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, dd, gg, dg, g33, iksup, nel)
Definition s4cumg3.F:41
subroutine s4derit3(off, det, ngl, deltax, mxt, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, rx, ry, rz, sx, sy, sz, tx, ty, tz, pm, voldp, nel, iformdt)
Definition s4derit3.F:43
subroutine s4kgeo3(sig, vol, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, nel)
Definition s4kgeo3.F:38
subroutine s8eoff(jft, jlt, ixs, etag, off)
Definition s8eoff.F:33
subroutine sorthdir3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, gama0, gama, nel, irep)
Definition sorthdir3.F:42
subroutine sreploc3(rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition sreploc3.F:32