33
34
35
36#include "implicit_f.inc"
37
38
39
40#include "mvsiz_p.inc"
41
42
43
44 INTEGER LFT ,LLT
46 . fric,off(*),scalk,tnj(3,mvsiz)
48 . ki11(3,3,mvsiz),kj11(3,3,mvsiz),
49 . kk11(3,3,mvsiz),kl11(3,3,mvsiz),ki12(3,3,mvsiz),
50 . kj12(3,3,mvsiz),kk12(3,3,mvsiz),kl12(3,3,mvsiz)
51 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: n1,n2,n3,stif
52 my_real,
DIMENSION(MVSIZ),
INTENT(IN) :: h1,h2,h3,h4
53
54
55
56 INTEGER I, J1, J, K,IG,ISF,NN,NS,JLTF,NE,L
58 . s2,fac,facf, h0, la1, la2, la3, la4,fact(mvsiz),
59 . d1,d2,d3,d4,a1,a2,a3,a4,kn(4,mvsiz),q(3,3,mvsiz)
61 . prec,q11,q12,q13,q22,q23,q33,h00,vtx,vty,vtz,vt,
62 . kt1,kt2,kt3,kt4,q1,q2
63
64
65 DO i=lft,llt
66 fac=stif(i)*scalk
67 kn(1,i)=fac*h1(i)
68 kn(2,i)=fac*h2(i)
69 kn(3,i)=fac*h3(i)
70 kn(4,i)=fac*h4(i)
71 ENDDO
72
73 DO i=lft,llt
74 q11=n1(i)*n1(i)
75 q12=n1(i)*n2(i)
76 q13=n1(i)*n3(i)
77 q22=n2(i)*n2(i)
78 q23=n2(i)*n3(i)
79 q33=n3(i)*n3(i)
80 ki11(1,1,i)=kn(1,i)*q11
81 ki11(1,2,i)=kn(1,i)*q12
82 ki11(1,3,i)=kn(1,i)*q13
83 ki11(2,2,i)=kn(1,i)*q22
84 ki11(2,3,i)=kn(1,i)*q23
85 ki11(3,3,i)=kn(1,i)*q33
86 kj11(1,1,i)=kn(2,i)*q11
87 kj11(1,2,i)=kn(2,i)*q12
88 kj11(1,3,i)=kn(2,i)*q13
89 kj11(2,2,i)=kn(2,i)*q22
90 kj11(2,3,i)=kn(2,i)*q23
91 kj11(3,3,i)=kn(2,i)*q33
92 kk11(1,1,i)=kn(3,i)*q11
93 kk11(1,2,i)=kn(3,i)*q12
94 kk11(1,3,i)=kn(3,i)*q13
95 kk11(2,2,i)=kn(3,i)*q22
96 kk11(2,3,i)=kn(3,i)*q23
97 kk11(3,3,i)=kn(3,i)*q33
98 kl11(1,1,i)=kn(4,i)*q11
99 kl11(1,2,i)=kn(4,i)*q12
100 kl11(1,3,i)=kn(4,i)*q13
101 kl11(2,2,i)=kn(4,i)*q22
102 kl11(2,3,i)=kn(4,i)*q23
103 kl11(3,3,i)=kn(4,i)*q33
104 ENDDO
105
106 IF (fric>zero) THEN
107
108 fac= fric*scalk
109 DO i=lft,llt
110 q(1,1,i)=tnj(1,i)
111 q(1,2,i)=tnj(2,i)
112 q(1,3,i)=tnj(3,i)
113 q(3,1,i)=n1(i)
114 q(3,2,i)=n2(i)
115 q(3,3,i)=n3(i)
116 q(2,1,i)=q(3,2,i)*q(1,3,i)-q(3,3,i)*q(1,2,i)
117 q(2,2,i)=q(3,3,i)*q(1,1,i)-q(3,1,i)*q(1,3,i)
118 q(2,3,i)=q(3,1,i)*q(1,2,i)-q(3,2,i)*q(1,1,i)
119 fact(i)=stif(i)*fac
120 ENDDO
121
122 DO j=1,3
123 DO k=j,3
124 DO i=lft,llt
125 q1 =q(1,j,i)*q(1,k,i)
126 q2 =q(2,j,i)*q(2,k,i)
127 fac=fact(i)*(q1+q2)
128 kt1=fac*h1(i)
129 ki11(j,k,i)=ki11(j,k,i)+kt1
130 kt2=fac*h2(i)
131 kj11(j,k,i)=kj11(j,k,i)+kt2
132 kt3=fac*h3(i)
133 kk11(j,k,i)=kk11(j,k,i)+kt3
134 kt4=fac*h4(i)
135 kl11(j,k,i)=kl11(j,k,i)+kt4
136 ENDDO
137 ENDDO
138 ENDDO
139 END IF
140
141 DO j=1,3
142 DO k=j,3
143 DO i=lft,llt
144 ki12(j,k,i)=-ki11(j,k,i)
145 kj12(j,k,i)=-kj11(j,k,i)
146 kk12(j,k,i)=-kk11(j,k,i)
147 kl12(j,k,i)=-kl11(j,k,i)
148 ENDDO
149 ENDDO
150 ENDDO
151 DO j=1,3
152 DO k=j+1,3
153 DO i=lft,llt
154 ki12(k,j,i)=-ki11(j,k,i)
155 kj12(k,j,i)=-kj11(j,k,i)
156 kk12(k,j,i)=-kk11(j,k,i)
157 kl12(k,j,i)=-kl11(j,k,i)
158 ENDDO
159 ENDDO
160 ENDDO
161
162 DO i=lft,llt
163 off(i)=one
164 ENDDO
165
166 RETURN