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