34 1 X ,NRTM ,IRECT ,ITAB ,
35 2 PM ,IXS ,NBRIC ,BRICS ,
37 4 IX1 ,IX2 ,IX3 ,IX4 ,X1 ,
38 5 X2 ,X3 ,X4 ,Y1 ,Y2 ,
39 6 Y3 ,Y4 ,Z1 ,Z2 ,Z3 ,
40 7 Z4 ,N1 ,N2 ,N3 ,X0 ,
41 8 Y0 ,Z0 ,XN1 ,YN1 ,ZN1 ,
42 9 XN2 ,YN2 ,ZN2 ,XN3 ,YN3 ,
43 1 ZN3 ,XN4 ,YN4 ,ZN4 )
49 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
50 use element_mod ,
only :nixs
54#include "implicit_f.inc"
67 INTEGER :: NRTM, IRECT(4,*), ITAB(*), NBRIC, IXS(NIXS,*), BRICS(*)
68 my_real :: X(3,*), PM(NPROPM,*)
70 CHARACTER(LEN=NCHARTITLE) :: TITR
71 INTEGER,
DIMENSION(MVSIZ),
INTENT(INOUT) :: IX1,IX2,IX3,IX4
72 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X1,X2,X3,X4
73 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Y1,Y2,Y3,Y4
74 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: Z1,Z2,Z3,
75 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: N1,N2,N3
76 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: X0,Y0,Z0
77 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: xn1,yn1,zn1
78 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: xn2,yn2,zn2
79 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: xn3,yn3,zn3
80 my_real,
DIMENSION(MVSIZ),
INTENT(INOUT) :: xn4,yn4,zn4
84 INTEGER I, J, IDEB, ILAW, MID, IBRIC, I22LAW06
86 my_real,
DIMENSION(MVSIZ) :: xx1,yy1,zz1
87 my_real,
DIMENSION(MVSIZ) :: xx2,yy2,zz2
88 my_real,
DIMENSION(MVSIZ) :: xx3,yy3,zz3
89 my_real,
DIMENSION(MVSIZ) :: xx4,yy4,zz4
100 DO i=1,
min(mvsiz,nrtm-ideb)
120 DO i=1,
min(mvsiz,nrtm-ideb)
122 x0(i) = fourth*(x1(i)+x2(i)+x3(i)+x4(i))
123 y0(i) = fourth*(y1(i)+y2(i)+y3(i)+y4(i))
124 z0(i) = fourth*(z1(i)+z2(i)+z3(i)+z4(i))
144 DO i=1,
min(mvsiz,nrtm-ideb)
145 xn1(i) = yy1(i)*zz2(i) - yy2(i)*zz1(i)
146 yn1(i) = zz1(i)*xx2(i) - zz2(i)*xx1(i)
147 zn1(i) = xx1(i)*yy2(i) - xx2(i)*yy1(i)
153 DO i=1,
min(mvsiz,nrtm-ideb)
154 xn2(i) = yy2(i)*zz3(i) - yy3(i)*zz2(i)
155 yn2(i) = zz2(i)*xx3(i) - zz3(i)*xx2(i)
156 zn2(i) = xx2(i)*yy3(i) - xx3(i)*yy2(i)
162 DO i=1,
min(mvsiz,nrtm-ideb)
163 IF(ix3(i)/=ix4(i))
THEN
164 xn3(i) = yy3(i)*zz4(i) - yy4(i)*zz3(i)
165 yn3(i) = zz3(i)*xx4(i) - zz4(i)*xx3(i)
166 zn3(i) = xx3(i)*yy4(i) - xx4(i)*yy3(i)
177 DO i=1,
min(mvsiz,nrtm-ideb)
178 xn4(i) = yy4(i)*zz1(i) - yy1(i)*zz4(i)
179 yn4(i) = zz4(i)*xx1(i) - zz1(i)*xx4(i)
180 zn4(i) = xx4(i)*yy1(i) - xx1(i)*yy4(i)
186 DO i=1,
min(mvsiz,nrtm-ideb)
187 an=
max(em20,sqrt(n1(i)*n1(i)+n2(i)*n2(i)+n3(i)*n3(i)))
193 DO i=1,
min(mvsiz,nrtm-ideb)
194 x0(i)=(n1(i)*xn1(i)+n2(i)*yn1(i)+n3(i)*zn1(i))
195 z0(i)=(n1(i)*xn3(i)+n2(i)*yn3(i)+n3(i)*zn3(i))
198 IF(z0(i)==zero.AND.x0(i)==zero)
THEN
201 . anmode=aninfo_blind_1,
211 ideb=ideb+
min(mvsiz,nrtm-ideb)
227 ilaw = nint(pm(19,mid))
231 IF(ilaw == 37) i22law37 = 5
232 IF(ilaw == 51) i22law51 = m51_n0phas+4*m51_nvphas
234 IF((ilaw/=0).AND.(ilaw/=11).AND.(ilaw/=51).AND.(ilaw/=6).AND.(ilaw/=37))
THEN
240 IF(i22law06*i22law37/=0 .OR. i22law06*i22law51/=0 .OR. i22law37*i22law51/=0 )
THEN
245 CALL ancmsg(msgid = imesg,
246 . msgtype = msgerror,
247 . anmode = aninfo_blind_1,
subroutine i22err3(x, nrtm, irect, itab, pm, ixs, nbric, brics, id, titr, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, n1, n2, n3, x0, y0, z0, xn1, yn1, zn1, xn2, yn2, zn2, xn3, yn3, zn3, xn4, yn4, zn4)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)