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 44 of file s4ke3.F.

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