27 character*3 m1,m2,m3,m4,m5
28 character*5 p0,p1,p2,p3,p4,p5,p6,p8,p10,p11,p12
29 character*8 lakon(*),date,newclock,fmat
33 character*80 matname(*)
36 integer kon(*),nk,ne,iteller,i,j,ipkon(*),indexe,ithermal,
37 & one,mi(*),ielmat(mi(3),*),null,istep,iinc,istep0,iinc0
39 real*8 co(3,*),v(0:mi(2),*),time,pi,oner
44 save iteller,istep0,iinc0
46 cfile(1:28)=
'ResultsForLastIterations.frd' 47 if((istep.eq.istep0).and.(iinc.eq.iinc0))
then 48 open(27,file=cfile,status=
'unknown',position=
'append')
51 open(27,file=cfile,status=
'unknown')
81 elseif((dlog10(time).ge.0.d0).and.(dlog10(time).lt.11.d0))
then 83 write(fmat(6:7),
'(i2)') 11-int(dlog10(time)+1.d0)
95 write(27,
'(a5,a1)') p1,c
96 call date_and_time(date,clock)
98 newdate(1:2)=date(7:8)
100 if(date(5:6).eq.
'01')
then 101 newdate(4:11)=
'january.' 102 newdate(12:15)=date(1:4)
103 elseif(date(5:6).eq.
'02')
then 104 newdate(4:12)=
'february.' 105 newdate(13:16)=date(1:4)
106 elseif(date(5:6).eq.
'03')
then 107 newdate(4:9)=
'march.' 108 newdate(10:13)=date(1:4)
109 elseif(date(5:6).eq.
'04')
then 110 newdate(4:9)=
'april.' 111 newdate(10:13)=date(1:4)
112 elseif(date(5:6).eq.
'05')
then 114 newdate(8:11)=date(1:4)
115 elseif(date(5:6).eq.
'06')
then 117 newdate(9:12)=date(1:4)
118 elseif(date(5:6).eq.
'07')
then 120 newdate(9:12)=date(1:4)
121 elseif(date(5:6).eq.
'08')
then 122 newdate(4:10)=
'august.' 123 newdate(11:14)=date(1:4)
124 elseif(date(5:6).eq.
'09')
then 125 newdate(4:13)=
'september.' 126 newdate(14:17)=date(1:4)
127 elseif(date(5:6).eq.
'10')
then 128 newdate(4:11)=
'october.' 129 newdate(12:15)=date(1:4)
130 elseif(date(5:6).eq.
'11')
then 131 newdate(4:12)=
'november.' 132 newdate(13:16)=date(1:4)
133 elseif(date(5:6).eq.
'12')
then 134 newdate(4:12)=
'december.' 135 newdate(13:16)=date(1:4)
137 newclock(1:2)=clock(1:2)
139 newclock(4:5)=clock(3:4)
141 newclock(7:8)=clock(5:6)
142 write(27,
'(a5,''UUSER'')') p1
143 write(27,
'(a5,''UDATE'',14x,a20)') p1,newdate
144 write(27,
'(a5,''UTIME'',14x,a8)') p1,newclock
145 write(27,
'(a5,''UHOST'')') p1
146 write(27,
'(a5,''UPGM CalculiX'')') p1
147 write(27,
'(a5,''UDIR'')') p1
148 write(27,
'(a5,''UDBN'')') p1
152 write(27,
'(a5,a1,67x,i1)') p2,c,one
155 write(27,100) m1,i,(co(j,i),j=1,3)
162 write(27,
'(a5,a1,67x,i1)') p3,c,one
166 if(ipkon(i).lt.0) cycle
168 if(lakon(i)(4:4).eq.
'2')
then 169 if((lakon(i)(7:7).eq.
' ').or.
170 & (lakon(i)(7:7).eq.
'H'))
then 171 write(27,
'(a3,i10,3a5)') m1,i,p4,p0,
172 & matname(ielmat(1,i))(1:5)
173 write(27,
'(a3,10i10)') m2,(kon(indexe+j),j=1,10)
174 write(27,
'(a3,10i10)') m2,(kon(indexe+j),j=11,12),
175 & (kon(indexe+j),j=17,19),kon(indexe+20),
176 & (kon(indexe+j),j=13,16)
177 elseif(lakon(i)(7:7).eq.
'B')
then 178 write(27,
'(a3,i10,3a5)')m1,i,p12,p0,
179 & matname(ielmat(1,i))(1:5)
180 write(27,
'(a3,3i10)') m2,kon(indexe+21),kon(indexe+23),
183 write(27,
'(a3,i10,3a5)')m1,i,p10,p0,
184 & matname(ielmat(1,i))(1:5)
185 write(27,
'(a3,8i10)') m2,(kon(indexe+20+j),j=1,8)
187 elseif(lakon(i)(4:4).eq.
'8')
then 188 write(27,
'(a3,i10,3a5)') m1,i,p1,p0,
189 & matname(ielmat(1,i))(1:5)
190 write(27,
'(a3,8i10)') m2,(kon(indexe+j),j=1,8)
191 elseif(lakon(i)(4:5).eq.
'10')
then 192 write(27,
'(a3,i10,3a5)') m1,i,p6,p0,
193 & matname(ielmat(1,i))(1:5)
194 write(27,
'(a3,10i10)') m2,(kon(indexe+j),j=1,10)
195 elseif(lakon(i)(4:4).eq.
'4')
then 196 write(27,
'(a3,i10,3a5)') m1,i,p3,p0,
197 & matname(ielmat(1,i))(1:5)
198 write(27,
'(a3,4i10)') m2,(kon(indexe+j),j=1,4)
199 elseif(lakon(i)(4:5).eq.
'15')
then 200 if((lakon(i)(7:7).eq.
' '))
then 201 write(27,
'(a3,i10,3a5)') m1,i,p5,p0,
202 & matname(ielmat(1,i))(1:5)
203 write(27,
'(a3,10i10)') m2,(kon(indexe+j),j=1,9),
205 write(27,
'(a3,5i10)') m2,(kon(indexe+j),j=14,15),
206 & (kon(indexe+j),j=10,12)
208 write(27,
'(a3,i10,3a5)') m1,i,p8,p0,
209 & matname(ielmat(1,i))(1:5)
210 write(27,
'(a3,6i10)') m2,(kon(indexe+15+j),j=1,6)
212 elseif(lakon(i)(4:4).eq.
'6')
then 213 write(27,
'(a3,i10,3a5)') m1,i,p2,p0,
214 & matname(ielmat(1,i))(1:5)
215 write(27,
'(a3,6i10)') m2,(kon(indexe+j),j=1,6)
216 elseif(lakon(i)(1:1).eq.
'D')
then 217 if((kon(indexe+1).eq.0).or.(kon(indexe+3).eq.0)) cycle
218 write(27,
'(a3,i10,3a5)')m1,i,p12,p0,
219 & matname(ielmat(1,i))(1:5)
220 write(27,
'(a3,3i10)') m2,kon(indexe+1),kon(indexe+3),
222 elseif(lakon(i)(1:1).eq.
'E')
then 223 write(27,
'(a3,i10,3a5)')m1,i,p11,p0,
224 & matname(ielmat(1,i))(1:5)
225 write(27,
'(a3,2i10)') m2,(kon(indexe+j),j=1,2)
233 if(ithermal.ne.2)
then 238 write(text(25:36),
'(i12)') iteller
239 write(text(25:27),
'(a3)')
'STP' 240 write(text(28:29),
'(i2)') istep
241 write(text(30:32),
'(a3)')
'INC' 242 write(text(33:36),
'(i4)') iinc
243 write(27,
'(a132)') text
246 &
' 100CL .00000E+00 3 1' 248 write(text(25:36),
'(i12)') nk
249 write(text(8:12),
'(i5)') 100+iteller
250 write(text(13:24),fmat) time
251 write(text(59:63),
'(i5)') iteller
252 write(27,
'(a132)') text
254 write(27,
'(a132)') text
255 text=
' -5 D1 1 2 1 0' 256 write(27,
'(a132)') text
257 text=
' -5 D2 1 2 2 0' 258 write(27,
'(a132)') text
259 text=
' -5 D3 1 2 3 0' 260 write(27,
'(a132)') text
261 text=
' -5 ALL 1 2 0 0 1ALL' 262 write(27,
'(a132)') text
265 write(27,100) m1,i,(v(j,i),j=1,3)
271 if(ithermal.ge.2)
then 276 write(text(25:36),
'(i12)') iteller
277 write(text(25:27),
'(a3)')
'STP' 278 write(text(28:29),
'(i2)') istep
279 write(text(30:32),
'(a3)')
'INC' 280 write(text(33:36),
'(i4)') iinc
281 write(27,
'(a132)') text
284 &
' 100CL .00000E+00 3 1' 286 write(text(25:36),
'(i12)') nk
287 write(text(8:12),
'(i5)') 100+iteller
288 write(text(13:24),fmat) time
289 write(text(59:63),
'(i5)') iteller
290 write(27,
'(a132)') text
291 text=
' -4 NDTEMP 1 1' 292 write(27,
'(a132)') text
293 text=
' -5 NT 1 1 0 0' 294 write(27,
'(a132)') text
297 write(27,100) m1,i,v(0,i)
303 100
format(a3,i10,1p,6e12.5)