30 . X1, X2, X3, X4, X5, X6, X7, X8,
31 . Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8,
32 . Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8,
33 . E1X, E2X, E3X, E1Y, E2Y, E3Y, E1Z, E2Z, E3Z )
37#include "implicit_f.inc"
43 . x1, x2, x3, x4, x5, x6, x7, x8,
44 . y1, y2, y3, y4, y5, y6, y7, y8,
45 . z1, z2, z3, z4, z5, z6, z7, z8,
46 . e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z
51 . p1x,p2x,p3x, p4x,p1y,p2y,p3y,p4y,p1z,p2z,p3z, p4z,
52 . rx,ry,rz,sx,sy,sz, cc,c1,c2
67 rx = p2x + p3x - p1x - p4x
68 ry = p2y + p3y - p1y - p4y
69 rz = p2z + p3z - p1z - p4z
70 sx = p3x + p4x - p1x - p2x
71 sy = p3y + p4y - p1y - p2y
72 sz = p3z + p4z - p1z - p2z
74 e3x = ry * sz - rz * sy
75 e3y = rz * sx - rx * sz
76 e3z = rx * sy - ry * sx
77 cc = one /
max(em20,sqrt(e3x*e3x + e3y*e3y + e3z*e3z
82 c1 = rx*rx + ry*ry + rz*rz
83 c2 = sx*sx + sy*sy + sz*sz
86 e1x = rx*cc+(sy*e3z-sz*e3y)
87 e1y = ry*cc+(sz*e3x-sx*e3z)
88 e1z = rz*cc+(sx*e3y-sy*e3x)
89 ELSEIF (c2 /= zero)
THEN
91 e1x = rx+(sy*e3z-sz*e3y)*cc
92 e1y = ry+(sz*e3x-sx*e3z)*cc
93 e1z = rz+(sx*e3y-sy*e3x)*cc
96 cc = sqrt(e1x*e1x + e1y*e1y + e1z*e1z)
97 IF (cc /= zero) cc = one / cc
101 e2x = e3y * e1z - e3z * e1y
102 e2y = e3z * e1x - e3x * e1z
103 e2z = e3x * e1y - e3y * e1x
subroutine scoor431(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine thsol(elbuf_tab, nthgrp2, ithgrp, iparg, ithbuf, wa, ixs, x, ipm, pm, igeo, multi_fvm, v, w, itherm, numels, nummat, numgeo, numnod, sithbuf)