5 &(xmul,x,y,z,ikle1,ikle2,ikle3,ikle4,
6 & nelem,nelmax,w1,w2,w3,w4,formul,npoin2,nelem2,ielm1)
65 INTEGER,
INTENT(IN) :: NELEM,NELMAX,NPOIN2,NELEM2,IELM1
66 INTEGER,
INTENT(IN) :: IKLE1(nelmax),IKLE2(nelmax)
67 INTEGER,
INTENT(IN) :: IKLE3(nelmax),IKLE4(nelmax)
69 DOUBLE PRECISION,
INTENT(IN) :: X(*),Y(*),Z(*)
70 DOUBLE PRECISION,
INTENT(INOUT) :: W1(nelmax)
71 DOUBLE PRECISION,
INTENT(INOUT) :: W2(nelmax)
72 DOUBLE PRECISION,
INTENT(INOUT) :: W3(nelmax)
73 DOUBLE PRECISION,
INTENT(INOUT) :: W4(nelmax)
74 DOUBLE PRECISION,
INTENT(IN) :: XMUL
76 CHARACTER(LEN=16),
INTENT(IN) :: FORMUL
80 DOUBLE PRECISION XSUR24,X2,X3,X4,Y2,Y3,Y4,Z2,Z3,Z4,H1,H2,H3,H4
82 INTEGER I1,I2,I3,I4,IELEM,IP,I12D,I22D,I32D,I42D,IELEM2D
91 IF(formul(1:7).EQ.
'MASBAS ')
THEN 115 & (x2*(y3*z4-y4*z3)+y2*(x4*z3-x3*z4)+z2*(x3*y4-x4*y3))*xsur24
116 w2(ielem) = w1(ielem)
117 w3(ielem) = w1(ielem)
118 w4(ielem) = w1(ielem)
124 ELSEIF(formul(1:7).EQ.
'MASBAS2'.AND.ielm1.EQ.51)
THEN 139 ip=(min(i1,i2,i3,i4)-1)/npoin2 +1
143 i12d=mod(i1-1,npoin2)+1
144 i22d=mod(i2-1,npoin2)+1
145 i32d=mod(i3-1,npoin2)+1
146 i42d=mod(i4-1,npoin2)+1
152 h1=z(ip*npoin2+i12d)-z((ip-1)*npoin2+i12d)
153 h2=z(ip*npoin2+i22d)-z((ip-1)*npoin2+i22d)
154 h3=z(ip*npoin2+i32d)-z((ip-1)*npoin2+i32d)
155 h4=z(ip*npoin2+i42d)-z((ip-1)*npoin2+i42d)
170 ielem2d=mod(ielem-1,nelem2)+1
173 it1=ikle1(ielem2d)+(ip-1)*npoin2
174 it2=ikle2(ielem2d)+(ip-1)*npoin2
175 it3=ikle3(ielem2d)+(ip-1)*npoin2
186 coef=(x2*y3-x3*y2)*xsur24
200 WRITE(
lu,*)
'UNKNOWN FORMULA IN VC00TT:',formul
201 WRITE(
lu,*)
'WITH ELEMENT:',ielm1
subroutine vc00tt(XMUL, X, Y, Z, IKLE1, IKLE2, IKLE3, IKLE4, NELEM, NELMAX, W1, W2, W3, W4, FORMUL, NPOIN2, NELEM2, IELM1)