OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
q4ke2.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| q4ke2 ../engine/source/elements/solid_2d/quad4/q4ke2.f
25!||--- called by ------------------------------------------------------
26!|| imp_glob_k0 ../engine/source/implicit/imp_glob_k.F
27!||--- calls -----------------------------------------------------
28!|| assem_q4 ../engine/source/implicit/assem_q4.f
29!|| mmat_h1 ../engine/source/elements/solid/solide8z/mmat_h1.F
30!|| mmats ../engine/source/elements/solid/solide8z/mmats.F
31!|| mmstifs ../engine/source/elements/solid/solide8z/mmstifs.F
32!|| q4deri2 ../engine/source/elements/solid_2d/quad4/q4deri2.F
33!|| q4deric2 ../engine/source/elements/solid_2d/quad4/q4deric2.F
34!|| q4kega2 ../engine/source/elements/solid_2d/quad4/q4kega2.F
35!|| q4kel2 ../engine/source/elements/solid_2d/quad4/q4kel2.F
36!|| q4kep2 ../engine/source/elements/solid_2d/quad4/q4kep2.f
37!|| q4kerot2 ../engine/source/elements/solid_2d/quad4/q4kerot2.F
38!|| qcoor2 ../engine/source/elements/solid_2d/quad/qcoor2.F
39!|| qrcoor2 ../engine/source/elements/solid_2d/quad/qrcoor2.F
40!|| qvolu2 ../engine/source/elements/solid_2d/quad/qvolu2.F
41!|| s8zsigp3 ../engine/source/elements/solid/solide8z/s8zsigp3.F
42!||--- uses -----------------------------------------------------
43!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
44!|| element_mod ../common_source/modules/elements/element_mod.F90
45!||====================================================================
46 SUBROUTINE q4ke2(
47 1 PM, GEO, IXQ, X,
48 2 ELBUF_STR,NEL, LIAD, ICP,
49 3 ICSIG, ETAG, IDDL, NDOF,
50 4 K_DIAG, K_LT, IADK, JDIK,
51 5 NPG, IPM, IGEO, IKGEO,
52 6 BUFMAT, NFT, MTN, JMULT,
53 7 JHBE, JCVT, IGTYP, ISORTH,
54 8 ISMSTR)
55C-----------------------------------------------
56C M o d u l e s
57C-----------------------------------------------
58 USE elbufdef_mod
59 use element_mod , only : nixq
60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C G l o b a l P a r a m e t e r s
66C-----------------------------------------------
67#include "mvsiz_p.inc"
68C-----------------------------------------------
69C C o m m o n B l o c k s
70C-----------------------------------------------
71#include "com01_c.inc"
72#include "param_c.inc"
73C-----------------------------------------------
74C D u m m y A r g u m e n t s
75C-----------------------------------------------
76 INTEGER, INTENT(IN) :: ISMSTR
77 INTEGER, INTENT(IN) :: NFT
78 INTEGER, INTENT(IN) :: MTN
79 INTEGER, INTENT(IN) :: JMULT
80 INTEGER, INTENT(IN) :: JHBE
81 INTEGER, INTENT(IN) :: JCVT
82 INTEGER, INTENT(IN) :: IGTYP
83 INTEGER, INTENT(IN) :: ISORTH
84 INTEGER IXQ(NIXQ,*), ICP, ICSIG, IKGEO
85 INTEGER NEL, LIAD, NPG,
86 . ipm(npropmi,*), igeo(npropgi,*), etag(*), iddl(*),
87 . ndof(*), iadk(*), jdik(*)
89 . pm(npropm,*), geo(npropg,*), x(3,*),
90 . bufmat(*), k_diag(*), k_lt(*)
91 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
92C-----------------------------------------------
93c FUNCTION: elemental stiffness of Q4 element
94c ARGUMENTS: (I: input, O: output, IO: input & output, W: workspace)
95c TYPE NAME FUNCTION
96c I PM(),GEO() material and geometrical property data
97c I IXQ(7,NUM_QUAD) connectivity and mid,pid integer data
98c I X(3,NUMNOD) coordinates
99c I NEL number of quad element in this group
100c I ICP flag for constant pressure
101c I ^ICSG flag for solid shell usage
102c I ^ETAG() for eigein value computation usage
103c I IDDL() position for nodal DOFs
104c I NDOF() number of nodal DOFs
105c I K_DIAG() diagonal K
106c I K_LT() off-diagonal K
107c I IADK() position for K
108c I JDIK() position for K
109c I NPG flag for number of integration points
110c I IPM(NPROPMI,*) material property data (integer)
111c I IGEO(NPROPGI,*) geometrical property data (integer)
112c I IKGEO flag for geometric stiffness computation method
113c I BUFMAT() buffer for material constitution computation
114C-----------------------------------------------
115C L o c a l V a r i a b l e s
116C-----------------------------------------------
117 INTEGER I, J, EP
118C
119 INTEGER IKORTH,IADBUF,ICPG,IPREDU
120C
121 INTEGER IAD0
122C INDEX OF ELEMENT INFORMATION IN GLOBAL TABLE "IXQ"
123 INTEGER LCO
124C SN OF THE FIRST ELEMENT OF THE GROUP IN GLOBAL STORAGE
125 INTEGER NF1
126C MATERIAL SN, CONNECTIVITY, ID, PROPERTY SN OF ELEMENTS
127 INTEGER MXT(MVSIZ),
128 + NC1(MVSIZ),NC2(MVSIZ),NC3(MVSIZ),NC4(MVSIZ),
129 + ngl(mvsiz),ngeo(mvsiz)
130C NUMBER AND INDEXES OF INTEGRATION POINTS
131 INTEGER NNPT,NPTR,NPTS,IR,IS,IT,IP
132C
133C ELEMENT D/A FLAG
134C NODAL COORDINATES (t+i)
135C DIFFERENCES OF "Y", "Z"
136C SUMMERIES OF "Y"
137C SHAPE DERIVATIVES (dNi/dY, dNi/dZ, Ni/r) AT CENTER
138C AREA, VOLUME/(THICKNESS .OR. 2*PI)
139C SHAPE DERIVATIVES (dNi/dY, dNi/dZ) AT INTEGRATION POINT
140C (W*|J| .OR. r'* W*|J|) AT INTEGRATION POINT
141C STIFFNESS MATRIX
142C TRANSFORMATION MATRIX [R] FOR CO-ROTATIONAL CASE
143C {X}=[R]{X'} <=> {X'}=T([R]){X}
144C [K]=[R][K']T([R])
145 my_real
146 + offg(mvsiz),off(mvsiz),gama(mvsiz,6),
147 + y1(mvsiz),y2(mvsiz),y3(mvsiz),y4(mvsiz),
148 + z1(mvsiz),z2(mvsiz),z3(mvsiz),z4(mvsiz),
149 + y12(mvsiz),y34(mvsiz),y13(mvsiz),y24(mvsiz),
150 + y14(mvsiz),y23(mvsiz),
151 + z12(mvsiz),z34(mvsiz),z13(mvsiz),z24(mvsiz),
152 + z14(mvsiz),z23(mvsiz),
153 + y234(mvsiz),y124(mvsiz),yavg(mvsiz),
154 + pyc1(mvsiz),pyc2(mvsiz),pzc1(mvsiz),pzc2(mvsiz),
155 + ay(mvsiz),
156 + aire(mvsiz),volu(mvsiz),
157 + py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
158 + pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
159 + airn(mvsiz),voln(mvsiz),
160 + k11(2,2,mvsiz),k12(2,2,mvsiz),k13(2,2,mvsiz),k14(2,2,mvsiz),
161 + k22(2,2,mvsiz),k23(2,2,mvsiz),k24(2,2,mvsiz),
162 + k33(2,2,mvsiz),k34(2,2,mvsiz),k44(2,2,mvsiz),
163 + k11u(2,2,mvsiz),k12u(2,2,mvsiz),k13u(2,2,mvsiz),k14u(2,2,mvsiz),
164 + k22u(2,2,mvsiz),k23u(2,2,mvsiz),k24u(2,2,mvsiz),
165 + k33u(2,2,mvsiz),k34u(2,2,mvsiz),k44u(2,2,mvsiz),
166 + k11l(2,2,mvsiz),k12l(2,2,mvsiz),k13l(2,2,mvsiz),k14l(2,2,mvsiz),
167 + k22l(2,2,mvsiz),k23l(2,2,mvsiz),k24l(2,2,mvsiz),
168 + k33l(2,2,mvsiz),k34l(2,2,mvsiz),k44l(2,2,mvsiz),
169 + r11(mvsiz),r12(mvsiz),r13(mvsiz),
170 + r21(mvsiz),r22(mvsiz),r23(mvsiz),
171 + r31(mvsiz),r32(mvsiz),r33(mvsiz)
172C
173C MATERIAL PARAMETERS
174 my_real
175 . nu(mvsiz),c1,e0(mvsiz),fac(mvsiz),bid(1),
176 . hh(2,mvsiz),hh1(2,mvsiz),
177 . dm(9,mvsiz),dgm(9,mvsiz),gm(9,mvsiz),
178 . dd(9,mvsiz),dg(9,mvsiz),gg(mvsiz),g33(9,mvsiz),
179 . byz1(mvsiz),byz2(mvsiz),byz3(mvsiz),byz4(mvsiz),
180 . bzy1(mvsiz),bzy2(mvsiz),bzy3(mvsiz),bzy4(mvsiz),
181 + nuu(mvsiz)
182C
183C USED ONLY FOR SUBROUTINE INTERFACE
184 my_real
185 + vd2(mvsiz),vis(mvsiz),
186 + rx(mvsiz),ry(mvsiz),rz(mvsiz),
187 + sx(mvsiz),sy(mvsiz),sz(mvsiz)
188C
189 my_real
190 + wi,ksi,eta
191 my_real
192 + w_gauss(9,9),a_gauss(9,9)
193 TYPE(g_bufel_) ,POINTER :: GBUF
194 TYPE(L_BUFEL_) ,POINTER :: LBUF
195c
196 DATA W_GAUSS /
197 1 2. ,0. ,0. ,
198 1 0. ,0. ,0. ,
199 1 0. ,0. ,0. ,
200 2 1. ,1. ,0. ,
201 2 0. ,0. ,0. ,
202 2 0. ,0. ,0. ,
203 3 0.555555555555556,0.888888888888889,0.555555555555556,
204 3 0. ,0. ,0. ,
205 3 0. ,0. ,0. ,
206 4 0.347854845137454,0.652145154862546,0.652145154862546,
207 4 0.347854845137454,0. ,0. ,
208 4 0. ,0. ,0. ,
209 5 0.236926885056189,0.478628670499366,0.568888888888889,
210 5 0.478628670499366,0.236926885056189,0. ,
211 5 0. ,0. ,0. ,
212 6 0.171324492379170,0.360761573048139,0.467913934572691,
213 6 0.467913934572691,0.360761573048139,0.171324492379170,
214 6 0. ,0. ,0. ,
215 7 0.129484966168870,0.279705391489277,0.381830050505119,
216 7 0.417959183673469,0.381830050505119,0.279705391489277,
217 7 0.129484966168870,0. ,0. ,
218 8 0.101228536290376,0.222381034453374,0.313706645877887,
219 8 0.362683783378362,0.362683783378362,0.313706645877887,
220 8 0.222381034453374,0.101228536290376,0. ,
221 9 0.081274388361574,0.180648160694857,0.260610696402935,
222 9 0.312347077040003,0.330239355001260,0.312347077040003,
223 9 0.260610696402935,0.180648160694857,0.081274388361574/
224 DATA a_gauss /
225 1 0. ,0. ,0. ,
226 1 0. ,0. ,0. ,
227 1 0. ,0. ,0. ,
228 2 -.577350269189626,0.577350269189626,0. ,
229 2 0. ,0. ,0. ,
230 2 0. ,0. ,0. ,
231 3 -.774596669241483,0. ,0.774596669241483,
232 3 0. ,0. ,0. ,
233 3 0. ,0. ,0. ,
234 4 -.861136311594053,-.339981043584856,0.339981043584856,
235 4 0.861136311594053,0. ,0. ,
236 4 0. ,0. ,0. ,
237 5 -.906179845938664,-.538469310105683,0. ,
238 5 0.538469310105683,0.906179845938664,0. ,
239 5 0. ,0. ,0. ,
240 6 -.932469514203152,-.661209386466265,-.238619186083197,
241 6 0.238619186083197,0.661209386466265,0.932469514203152,
242 6 0. ,0. ,0. ,
243 7 -.949107912342759,-.741531185599394,-.405845151377397,
244 7 0. ,0.405845151377397,0.741531185599394,
245 7 0.949107912342759,0. ,0. ,
246 8 -.960289856497536,-.796666477413627,-.525532409916329,
247 8 -.183434642495650,0.183434642495650,0.525532409916329,
248 8 0.796666477413627,0.960289856497536,0. ,
249 9 -.968160239507626,-.836031107326636,-.613371432700590,
250 9 -.324253423403809,0. ,0.324253423403809,
251 9 0.613371432700590,0.836031107326636,0.968160239507626/
252C-----------------------------------------------
253C S o u r c e L i n e s
254C-----------------------------------------------
255 gbuf => elbuf_str%GBUF
256 IF (isorth == 0) THEN
257 DO i=1,nel
258 gama(i,1) = one
259 gama(i,2) = zero
260 gama(i,3) = zero
261 gama(i,4) = zero
262 gama(i,5) = one
263 gama(i,6) = zero
264 ENDDO
265 ELSE
266 DO i=1,nel
267 gama(i,1) = gbuf%GAMA(i )
268 gama(i,2) = gbuf%GAMA(i + nel)
269 gama(i,3) = gbuf%GAMA(i + 2*nel)
270 gama(i,4) = gbuf%GAMA(i + 3*nel)
271 gama(i,5) = gbuf%GAMA(i + 4*nel)
272 gama(i,6) = gbuf%GAMA(i + 5*nel)
273 ENDDO
274 ENDIF
275 iad0 = 1
276 IF (isorth > 0) iad0 = 1 + 6*nel
277 IF (igtyp == 21.OR.igtyp == 22) THEN
278 ikorth=2
279 ELSEIF (isorth>0) THEN
280 ikorth=1
281 ELSE
282 ikorth=0
283 ENDIF
284C
285 lco = 1 + nixq*nft
286 nf1 = 1 + nft
287C
288C GATHER NODAL INFORMATION &
289C COMPUTE INTRINSIC ROTATION FOR CO-ROTATIONAL CASE &
290C PROJECT NODAL COORDINATES INTO CO-ROTATIONAL SYSTEM
291 IF (jcvt==0) THEN
292 CALL qcoor2(
293 1 x, ixq(1,nf1),y1, y2,
294 2 y3, y4, z1, z2,
295 3 z3, z4, nc1, nc2,
296 4 nc3, nc4, ngl, mxt,
297 5 ngeo, vd2, vis, nel)
298 ELSE
299 CALL qrcoor2(
300 1 x, ixq(1,nf1),y1, y2,
301 2 y3, y4, z1, z2,
302 3 z3, z4, nc1, nc2,
303 4 nc3, nc4, ngl, mxt,
304 5 ngeo, vd2, r11, r12,
305 6 r13, r21, r22, r23,
306 7 r31, r32, r33, gama,
307 8 y234, y124, vis, nel,
308 9 isorth)
309 ENDIF
310C
311C COMPUTE FAC(*) FOR PRESSURE ACCORDING TO PLASTICITY STATE
312C---- now assumed strain is used, no effect for Isolid17
313 DO i=1,nel
314 nu(i)=min(half,pm(21,mxt(i)))
315 c1 =pm(32,mxt(i))
316 e0(i) =three*(one-two*nu(i))*c1
317 ENDDO
318 IF(icp==2) THEN
319 CALL s8zsigp3(1 ,nel ,gbuf%SIG,e0 ,gbuf%PLA,
320 2 fac ,gbuf%G_PLA,nel )
321 DO i=1,nel
322 nuu(i)=nu(i)+(half-nu(i))*fac(i)
323 ENDDO
324 ELSEIF(icp==1) THEN
325 DO i=1,nel
326 nuu(i)=half
327 ENDDO
328 ELSE
329 DO i=1,nel
330 nuu(i)=zero
331 ENDDO
332 ENDIF
333C COMPUTE AREA & VOLUME/THICKNESS
334 CALL qvolu2(
335 1 gbuf%OFF,aire, volu, ngl,
336 2 y1, y2, y3, y4,
337 3 z1, z2, z3, z4,
338 4 y234, y124, nel, jmult,
339 5 jcvt)
340C
341 IF(n2d==1) THEN
342 DO i=1,nel
343 yavg(i) = x(2,nc1(i))+x(2,nc2(i))+x(2,nc3(i))+x(2,nc4(i))
344 ENDDO
345 ENDIF
346C COMPUTE SHAPE DERIVATIVES AT ELEMENT CENTER
347 CALL q4deric2(
348 1 y1, y2, y3, y4,
349 2 z1, z2, z3, z4,
350 3 y12, y34, y13, y24,
351 4 y14, y23, z12, z34,
352 5 z13, z24, z14, z23,
353 6 pyc1, pyc2, pzc1, pzc2,
354 7 aire, volu, yavg, rx,
355 8 ry, rz, sx, sy,
356 9 sz, nel, jhbe)
357C
358C COMPUTE VOLUME/(2*PI) FOR AXISYMMETRIC CASE
359C
360C
361 icpg = 0
362 IF(icpg==2) icpg = 1
363C
364C
365 nptr = 2
366 npts = 2
367 nnpt = nptr*npts
368C
369 IF (mtn>=28) THEN
370 iadbuf = ipm(7,mxt(1))
371 ELSE
372 iadbuf = 1
373 ENDIF
374 CALL mmats(1 ,nel ,pm ,mxt ,hh ,
375 . mtn ,ikorth ,ipm ,igeo ,gama ,
376 . bufmat(iadbuf) ,dm ,dgm ,gm ,
377 . jhbe ,gbuf%SIG ,bid ,nnpt ,nel )
378 CALL mmat_h1(
379 1 hh, hh1, fac, icpg,
380 2 ipredu, nel, mtn, ismstr,
381 3 jhbe)
382C
383 DO i=1,nel
384 offg(i) = gbuf%OFF(i)
385 ENDDO
386C
387 DO ep=1,nel
388 DO j=1,2
389 DO i=1,2
390 k11(i,j,ep)=zero
391 k12(i,j,ep)=zero
392 k13(i,j,ep)=zero
393 k14(i,j,ep)=zero
394 k22(i,j,ep)=zero
395 k23(i,j,ep)=zero
396 k24(i,j,ep)=zero
397 k33(i,j,ep)=zero
398 k34(i,j,ep)=zero
399 k44(i,j,ep)=zero
400 k11u(i,j,ep)=zero
401 k12u(i,j,ep)=zero
402 k13u(i,j,ep)=zero
403 k14u(i,j,ep)=zero
404 k22u(i,j,ep)=zero
405 k23u(i,j,ep)=zero
406 k24u(i,j,ep)=zero
407 k33u(i,j,ep)=zero
408 k34u(i,j,ep)=zero
409 k44u(i,j,ep)=zero
410 k11l(i,j,ep)=zero
411 k12l(i,j,ep)=zero
412 k13l(i,j,ep)=zero
413 k14l(i,j,ep)=zero
414 k22l(i,j,ep)=zero
415 k23l(i,j,ep)=zero
416 k24l(i,j,ep)=zero
417 k33l(i,j,ep)=zero
418 k34l(i,j,ep)=zero
419 k44l(i,j,ep)=zero
420 ENDDO
421 ENDDO
422 ENDDO
423C
424C ENTER THE INTEGRATION POINTS LOOP -->
425 it = 1
426 DO 100 ir=1,nptr
427 DO 200 is=1,npts
428 lbuf => elbuf_str%BUFLY(1)%LBUF(ir,is,1)
429C
430C INITIALIZE WEIGHTING FACTORS
431 ip = ir + (is-1)*nptr
432 ksi = a_gauss(ir,nptr)
433 eta = a_gauss(is,npts)
434 wi = w_gauss(ir,nptr)*w_gauss(is,npts)
435C
436C COMPUTE JACOBIAN & SHAPE DERIVATIVES AT INTEGRATION POINT
437 CALL q4deri2(
438 1 offg, off, ksi, eta,
439 2 wi, yavg, y12, y34,
440 3 y13, y24, y14, y23,
441 4 z12, z34, z13, z24,
442 5 z14, z23, py1, py2,
443 6 py3, py4, pz1, pz2,
444 7 pz3, pz4, pyc1, pyc2,
445 8 pzc1, pzc2, byz1, byz2,
446 9 byz3, byz4, bzy1, bzy2,
447 a bzy3, bzy4, airn, voln,
448 b nuu, nel, jhbe)
449C-------------add BYZj... later
450C
451 CALL mmstifs(
452 1 pm, mxt, hh1, voln,
453 2 icsig, dd, gg, dg,
454 3 g33, dm, gm, dgm,
455 4 ikorth, lbuf%SIG,ir, is,
456 5 it, nel, jhbe, mtn)
457C
458 CALL q4kel2(
459 1 py1, py2, py3, py4,
460 2 pz1, pz2, pz3, pz4,
461 3 pyc1, pyc2, pzc1, pzc2,
462 4 ay, r22, r23, k11,
463 5 k12, k13, k14, k22,
464 6 k23, k24, k33, k34,
465 7 k44, k11u, k12u, k13u,
466 8 k14u, k22u, k23u, k24u,
467 9 k33u, k34u, k44u, k11l,
468 a k12l, k13l, k14l, k22l,
469 b k23l, k24l, k33l, k34l,
470 c k44l, dd, gg, dg,
471 d g33, ikorth, icpg, offg,
472 e nel, jcvt)
473C
474c IF (IKGEO<0) THEN
475c CALL Q4KEG2(
476c 1 PY1,PY2,PY3,PY4,
477c 2 PZ1,PZ2,PZ3,PZ4,AY,
478c 3 K11,K12,K13,K14,K22,
479c 4 K23,K24,K33,K34,K44,
480c 5 EV(NB2),VOLN,OFFG)
481c ENDIF
482C
483200 CONTINUE
484100 CONTINUE
485C EXIT THE INTEGRATION POINTS LOOP <--
486C
487 IF (ipredu > 0) THEN
488 CALL q4kep2(
489 1 pyc1, pyc2, pzc1, pzc2,
490 2 ay, r22, r23, k11,
491 3 k12, k13, k14, k22,
492 4 k23, k24, k33, k34,
493 5 k44, hh, volu, fac,
494 6 icpg, offg, nel, jcvt)
495 ENDIF
496C
497c IF (IKGEO>0) THEN
498 IF (ikgeo/=0) THEN
499 CALL q4kega2(
500 1 pyc1, pyc2, pzc1, pzc2,
501 2 ay, k11, k12, k13,
502 3 k14, k22, k23, k24,
503 4 k33, k34, k44, gbuf%SIG,
504 5 volu, offg, nel)
505 ENDIF
506C
507c IF (N2D==1 .AND. JHBE==17) THEN
508c CALL Q4ASYM(1, NEL, K11, K11U, K11L)
509c CALL Q4ASYM(1, NEL, K22, K22U, K22L)
510c CALL Q4ASYM(1, NEL, K33, K33U, K33L)
511c CALL Q4ASYM(1, NEL, K44, K44U, K44L)
512c CALL Q4ASYM(1, NEL, K12, K12U, K12L)
513c CALL Q4ASYM(1, NEL, K13, K13U, K13L)
514c CALL Q4ASYM(1, NEL, K14, K14U, K14L)
515c CALL Q4ASYM(1, NEL, K23, K23U, K23L)
516c CALL Q4ASYM(1, NEL, K24, K24U, K24L)
517c CALL Q4ASYM(1, NEL, K34, K34U, K34L)
518c ENDIF
519C
520 IF (jcvt/=0) THEN
521 CALL q4kerot2(
522 1 r22, r32, r23, r33,
523 2 k11, k12, k13, k14,
524 3 k22, k23, k24, k33,
525 4 k34, k44, nel)
526 ENDIF
527C
528C IF (NEIG>0) THEN
529C CALL Q4EOFF(1, NEL, IXQ(1,NF1), ETAG, OFFG)
530C ENDIF
531C
532 CALL assem_q4(
533 1 ixq(1,nf1),nel ,iddl ,ndof ,k_diag,
534 2 k_lt ,iadk ,jdik ,k11 ,k12 ,
535 3 k13 ,k14 ,k22 ,k23 ,k24 ,
536 4 k33 ,k34 ,k44 ,offg )
537C
538 RETURN
539 END
subroutine assem_q4(ixq, nel, iddl, ndof, k_diag, k_lt, iadk, jdik, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, off)
Definition assem_q4.F:38
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
subroutine mmat_h1(hh, hh1, fac, icp, ipredu, nel, mtn, ismstr, jhbe)
Definition mmat_h1.F:34
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 q4deric2(y1, y2, y3, y4, z1, z2, z3, z4, y12, y34, y13, y24, y14, y23, z12, z34, z13, z24, z14, z23, pyc1, pyc2, pzc1, pzc2, aire, volu, yavg, rx, ry, rz, sx, sy, sz, nel, jhbe)
Definition q4deric2.F:39
subroutine q4ke2(pm, geo, ixq, x, elbuf_str, nel, liad, icp, icsig, etag, iddl, ndof, k_diag, k_lt, iadk, jdik, npg, ipm, igeo, ikgeo, bufmat, nft, mtn, jmult, jhbe, jcvt, igtyp, isorth, ismstr)
Definition q4ke2.F:55
subroutine q4kega2(py1, py2, pz1, pz2, ay, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, sig, air, off, nel)
Definition q4kega2.F:36
subroutine q4kel2(py1, py2, py3, py4, pz1, pz2, pz3, pz4, pyc1, pyc2, pzc1, pzc2, ay, r22, r23, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, k11u, k12u, k13u, k14u, k22u, k23u, k24u, k33u, k34u, k44u, k11l, k12l, k13l, k14l, k22l, k23l, k24l, k33l, k34l, k44l, dd, gg, dg, g33, iksup, icp, off, nel, jcvt)
Definition q4kel2.F:46
subroutine q4kep2(py1, py2, pz1, pz2, ay, r22, r23, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, hh, air, fac, icp, off, nel, jcvt)
Definition q4kep2.F:37
subroutine q4kerot2(r22, r32, r23, r33, k11, k12, k13, k14, k22, k23, k24, k33, k34, k44, nel)
Definition q4kerot2.F:35
subroutine qvolu2(off, aire, volu, ngl, y1, y2, y3, y4, z1, z2, z3, z4, y234, y124, nel, jmult, jcvt)
Definition qvolu2.F:43
subroutine s8zsigp3(lft, llt, sig, e0, defp, fac, g_pla, nel)
Definition s8zsigp3.F:37
subroutine q4deri2(vol, ksi, eta, wi, y12, y34, y13, y24, y14, y23, z12, z34, z13, z24, z14, z23, y1, y2, y3, y4, yavg, ihbe, ngl)
Definition q4deri2.F:36
subroutine qcoor2(x, ixq, ngl, mxt, pid, ix1, ix2, ix3, ix4, y1, y2, y3, y4, z1, z2, z3, z4, sy, sz, ty, tz)
Definition qcoor2.F:38
subroutine qrcoor2(x, ixq, ngl, mxt, pid, ix1, ix2, ix3, ix4, y1, y2, y3, y4, z1, z2, z3, z4, sy, sz, ty, tz, e1y, e1z, e2y, e2z)
Definition qrcoor2.F:35