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