30 use element_mod , only : nixs,nixq
31
32
33
34
35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "com04_c.inc"
43#include "param_c.inc"
44
45
46
47 INTEGER IXS(NIXS,NUMELS),IXQ(NIXQ,NUMELQ),ICODE(*),NALE(*)
49
50
51
52 INTEGER I, J, MT, MLAW, JTUR,IC,IC1,IC2,IC3,IC4
53
54 IF(numels>0)THEN
55 DO 10 i=1,numels
56 mt=ixs(1,i)
57 IF(mt>0) THEN
58 mlaw=nint(pm(19,mt))
59 jtur=nint(pm(70,mt))
60
61 IF((mlaw==6.AND.jtur/=0) .OR. mlaw==46) THEN
62 DO 11 j=2,9
63 IF(nale(ixs(j,i))==0)ixs(1,i)=-iabs(ixs(1,i))
64 11 CONTINUE
65 ENDIF
66 ENDIF
67 10 CONTINUE
68 ENDIF
69
70 IF(numelq>0)THEN
71 DO 20 i=1,numelq
72 mt=ixq(1,i)
73 IF(mt>0) THEN
74 mlaw=nint(pm(19,mt))
75 jtur=nint(pm(70,mt))
76
77 IF((mlaw==6.AND.jtur/=0) .OR. mlaw==46) THEN
78 DO 21 j=2,5
79 IF(nale(ixq(j,i))==0)ixq(1,i)=-iabs(ixq(1,i))
80 21 CONTINUE
81 ENDIF
82 ENDIF
83 20 CONTINUE
84
85 DO i=1,numelq
86 mt=ixq(1,i)
87 IF(mt < 1)cycle
88 mlaw=nint(pm(19,mt))
89 jtur=nint(pm(70,mt))
90 DO j=2,5
91 IF((mlaw==6.AND.jtur/=0) .OR. mlaw==46)THEN
92 ic=icode(ixq(j,i))
93 ic1=ic/512
94 ic2=(ic-512*ic1)/64
95 ic3=(ic-512*ic1-64*ic2)/8
96 ic4=(ic-512*ic1-64*ic2-8*ic3)
97 IF(ic1==3.OR.ic1==7.OR.ic4==3.OR.ic4==7)
98 . ixq(1,i)=-iabs(ixq(1,i))
99 ENDIF
100 ENDDO
101 ENDDO
102
103 ENDIF
104
105 RETURN