38 use element_mod , only : nixtg
39
40
41
42#include "implicit_f.inc"
43
44
45
46#include "mvsiz_p.inc"
47
48
49
50#include "param_c.inc"
51
52
53
54 INTEGER FXBELM(*), IPARG(NPARG,*), IXTG(NIXTG,*), NELTG
56 . fxbsig(*), x(3,*), pm(npropm), fxbmod(*),
57 . geo(npropg,*), r(3,*)
58
59
60
61 INTEGER IG,OFFSET,FIRST,LAST,NFT,I,NG,IEL,
62 . N1,N2,N3,ISM,ITHK,,NFS
63 INTEGER MAT(MVSIZ), PROP(MVSIZ)
65 . vl(3,3,mvsiz), vrl(3,3,mvsiz)
67 . x1(mvsiz) , x2(mvsiz) , x3(mvsiz) ,
68 . y1(mvsiz) , y2(mvsiz) , y3(mvsiz) ,
69 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz) ,
70 . x31(mvsiz) , y31(mvsiz) , z31(mvsiz)
72 . d11, d12, d13, d21, d22, d23, d31, d32, d33,
73 . dr11, dr12, dr13, dr21, dr22, dr23, dr31, dr32, dr33
75 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
76 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
77 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
78 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz),
79 . kxx(mvsiz),kyy(mvsiz),kxy(mvsiz),
80 . px1g(mvsiz), py1g(mvsiz), py2g(mvsiz),
81 . px1(mvsiz) , py1(mvsiz) , py2(mvsiz),
82 . x2s(mvsiz), x3s(mvsiz), y3s(mvsiz)
84 . gstrbid(8,mvsiz),
for(5,mvsiz), mom(3,mvsiz),
85 . eint(2,mvsiz) , thk(mvsiz),
area(mvsiz),
86 . nu(mvsiz), g(mvsiz), a1(mvsiz), a2(mvsiz), gs(mvsiz)
87
88 first=1
89 DO ig=1,neltg,mvsiz
90 offset=ig-1
91 last=
min(mvsiz,neltg-offset)
92 nft=offset*9
93 nfs=offset*10
94 DO i=1,last
95 ng=fxbelm(nft+9*(i-1)+1)
96 iel=iparg(3,ng)+fxbelm(nft+9*(i-1)+2)
97 mat(i)=ixtg(1,iel)
98 prop(i)=ixtg(5,iel)
99 thk(i)=geo(1,prop(i))
100 x1(i)=zero
101 y1(i)=zero
102 z1(i)=zero
103 x2(i)=x(1,ixtg(3,iel))-x(1,ixtg(2,iel))
104 y2(i)=x(2,ixtg(3,iel))-x(2,ixtg(2,iel))
105 z2(i)=x(3,ixtg(3,iel))-x(3,ixtg(2,iel))
106 x3(i)=x(1,ixtg(4,iel))-x(1,ixtg(2,iel))
107 y3(i)=x(2,ixtg(4,iel))-x(2,ixtg(2,iel))
108 z3(i)=x(3,ixtg(4,iel))-x(3,ixtg(2,iel))
109 n1=fxbelm(nft+9*(i-1)+3)
110 n2=fxbelm(nft+9*(i-1)+4)
111 n3=fxbelm(nft+9*(i-1)+5)
112 d11=fxbmod(6*(n1-1)+1)
113 d12=fxbmod(6*(n1-1)+2)
114 d13=fxbmod(6*(n1-1)+3)
115 d21=fxbmod(6*(n2-1)+1)
116 d22=fxbmod(6*(n2-1)+2)
117 d23=fxbmod(6*(n2-1)+3)
118 d31=fxbmod(6*(n3-1)+1)
119 d32=fxbmod(6*(n3-1)+2)
120 d33=fxbmod(6*(n3-1)+3)
121 vl(1,1,i)=r(1,1)*d11+r(1,2)*d12+r(1,3)*d13
122 vl(2,1,i)=r(2,1)*d11+r(2,2)*d12+r(2,3)*d13
123 vl(3,1,i)=r(3,1)*d11+r(3,2)*d12+r(3,3)*d13
124 vl(1,2,i)=r(1,1)*d21+r(1,2)*d22+r(1,3)*d23
125 vl(2,2,i)=r(2,1)*d21+r(2,2)*d22+r(2,3)*d23
126 vl(3,2,i)=r(3,1)*d21+r(3,2)*d22+r(3,3)*d23
127 vl(1,3,i)=r(1,1)*d31+r(1,2)*d32+r(1,3)*d33
128 vl(2,3,i)=r(2,1)*d31+r(2,2)*d32+r(2,3)*d33
129 vl(3,3,i)=r(3,1)*d31+r(3,2)*d32+r(3,3)*d33
130 dr11=fxbmod(6*(n1-1)+4)
131 dr12=fxbmod(6*(n1-1)+5)
132 dr13=fxbmod(6*(n1-1)+6)
133 dr21=fxbmod(6*(n2-1)+4)
134 dr22=fxbmod(6*(n2-1)+5)
135 dr23=fxbmod(6*(n2-1)+6)
136 dr31=fxbmod(6*(n3-1)+4)
137 dr32=fxbmod(6*(n3-1)+5)
138 dr33=fxbmod(6*(n3-1)+6)
139 vrl(1,1,i)=r(1,1)*dr11+r(1,2)*dr12+r(1,3)*dr13
140 vrl(2,1,i)=r(2,1)*dr11+r(2,2)*dr12+r(2,3)*dr13
141 vrl(3,1,i)=r(3,1)*dr11+r(3,2)*dr12+r(3,3)*dr13
142 vrl(1,2,i)=r(1,1)*dr21+r(1,2)*dr22+r(1,3)*dr23
143 vrl(2,2,i)=r(2,1)*dr21+r(2,2)*dr22+r(2,3)*dr23
144 vrl(3,2,i)=r(3,1)*dr21+r(3,2)*dr22+r(3,3)*dr23
145 vrl(1,3,i)=r(1,1)*dr31+r(1,2)*dr32+r(1,3)*dr33
146 vrl(2,3,i)=r(2,1)*dr31+r(2,2)*dr32+r(2,3)*dr33
147 vrl(3,3,i)=r(3,1)*dr31+r(3,2)*dr32+r(3,3)*dr33
148 gstrbid(1,i)=zero
149 gstrbid(2,i)=zero
150 gstrbid(3,i)=zero
156 mom(1,i)=zero
157 mom(2,i)=zero
158 mom(3,i)=zero
159 px1g(i)=zero
160 py1g(i)=zero
161 py2g(i)=zero
162 ism=1
163 ithk=0
164 ENDDO
165
167 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
168 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
169 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
170 . x31 ,y31 ,z31 ,x2s ,x3s ,y3s )
171 npt=1
172 CALL ccoefi(last, pm , geo , nu ,
173 . g , a1 , a2 , gs , thk,
174 . mat , prop, npt ,
area )
176 . px1g ,py1g ,py2g ,
177 . px1 ,py1 ,py2 ,
178 . x2s ,x3s ,y3s ,
179 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
180 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
181 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
182 CALL c3defli(last ,vl ,gstrbid ,
183 . px1 ,py1 ,py2 ,
184 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
185 . exx ,eyy ,exy ,eyz ,ezx ,
area )
187 . px1 ,py1 ,py2 ,
188 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
189 . eyz ,ezx ,kxx ,kyy ,kxy ,
area )
190 ithk=0
192 . thk ,eint ,nu ,g ,a1 ,
193 . a2 ,gs ,kxx ,kyy ,kxy ,
194 . exx ,eyy ,exy ,eyz ,ezx ,
196
197 DO i=1,last
198 fxbsig(nfs+10*(i-1)+1)=
for(1,i)
199 fxbsig(nfs+10*(i-1)+2)=
for(2,i)
200 fxbsig(nfs+10*(i-1)+3)=
for(3,i)
201 fxbsig(nfs+10*(i-1)+4)=
for(4,i)
202 fxbsig(nfs+10*(i-1)+5)=
for(5,i)
203 fxbsig(nfs+10*(i-1)+6)=mom(1,i)
204 fxbsig(nfs+10*(i-1)+7)=mom(2,i)
205 fxbsig(nfs+10*(i-1)+8)=mom(3,i)
206 fxbsig(nfs+10*(i-1)+9)=eint(1,i)
207 fxbsig(nfs+10*(i-1)+10)=eint(2,i)
208 ENDDO
209 ENDDO
210
211 RETURN
subroutine c3pxpyi(jft, jlt, ismstr, px1g, py1g, py2g, px1, py1, py2, x2l, x3l, y3l, x1g, x2g, x3g, y1g, y2g, y3g, z1g, z2g, z3g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine cm1inif(jft, jlt, for, mom, ithk, thk, eint, nu, g, a1, a2, gs, kxx, kyy, kxy, exx, eyy, exy, eyz, exz, area)
subroutine ccoefi(nel, pm, geo, nu, g, a1, a2, gs, thk, mat, prop, npt, area)
subroutine c3curvi(nel, vrl, px1, py1, py2, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, eyz, ezx, kxx, kyy, kxy, area)
subroutine c3defli(nel, vl, gstr, px1, py1, py2, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, exx, eyy, exy, eyz, ezx, area)
for(i8=*sizetab-1;i8 >=0;i8--)
subroutine c3evec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x31, y31, z31, x2l, x3l, y3l)