28 character*3 m1,m2,m3,m4,m5
29 character*5 p0,p1,p2,p3,p4,p5,p6,p8,p10,p11,p12
30 character*8 lakonf(*),date,newclock,fmat
33 character*80 matname(*)
37 integer konf(*),nk,nef,kode,i,j,ipkonf(*),indexe,inum(*),mi(*),
38 & one,ielmat(mi(3),*),null,inotr(2,*),ntrans,nout,istep,
41 real*8 co(3,*),vold(0:mi(2),*),time,pi,oner,trab(7,*),xturb(2,*),
42 & a(3,3),stn(6,*),qfn(3,*),xmach(*),xkappa(*),physcon(*)
77 write(13,
'(a5,a1)') p1,c
78 call date_and_time(date,clock)
80 newdate(1:2)=date(7:8)
82 if(date(5:6).eq.
'01')
then 83 newdate(4:11)=
'january.' 84 newdate(12:15)=date(1:4)
85 elseif(date(5:6).eq.
'02')
then 86 newdate(4:12)=
'february.' 87 newdate(13:16)=date(1:4)
88 elseif(date(5:6).eq.
'03')
then 90 newdate(10:13)=date(1:4)
91 elseif(date(5:6).eq.
'04')
then 93 newdate(10:13)=date(1:4)
94 elseif(date(5:6).eq.
'05')
then 96 newdate(8:11)=date(1:4)
97 elseif(date(5:6).eq.
'06')
then 99 newdate(9:12)=date(1:4)
100 elseif(date(5:6).eq.
'07')
then 102 newdate(9:12)=date(1:4)
103 elseif(date(5:6).eq.
'08')
then 104 newdate(4:10)=
'august.' 105 newdate(11:14)=date(1:4)
106 elseif(date(5:6).eq.
'09')
then 107 newdate(4:13)=
'september.' 108 newdate(14:17)=date(1:4)
109 elseif(date(5:6).eq.
'10')
then 110 newdate(4:11)=
'october.' 111 newdate(12:15)=date(1:4)
112 elseif(date(5:6).eq.
'11')
then 113 newdate(4:12)=
'november.' 114 newdate(13:16)=date(1:4)
115 elseif(date(5:6).eq.
'12')
then 116 newdate(4:12)=
'december.' 117 newdate(13:16)=date(1:4)
119 newclock(1:2)=clock(1:2)
121 newclock(4:5)=clock(3:4)
123 newclock(7:8)=clock(5:6)
124 write(13,
'(a5,''UUSER'')') p1
125 write(13,
'(a5,''UDATE'',14x,a20)') p1,newdate
126 write(13,
'(a5,''UTIME'',14x,a8)') p1,newclock
127 write(13,
'(a5,''UHOST'')') p1
128 write(13,
'(a5,''UPGM CalculiX'')') p1
129 write(13,
'(a5,''UDIR'')') p1
130 write(13,
'(a5,''UDBN'')') p1
134 write(13,
'(a5,a1,67x,i1)') p2,c,one
138 if(inum(i).le.0) cycle
140 write(13,100) m1,i,(co(j,i),j=1,3)
147 write(13,
'(a5,a1,67x,i1)') p3,c,one
151 if(ipkonf(i).lt.0) cycle
153 if(lakonf(i)(4:4).eq.
'2')
then 154 if((lakonf(i)(7:7).eq.
' ').or.
155 & (lakonf(i)(7:7).eq.
'H'))
then 156 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p4,p0,
157 & matname(ielmat(1,i))(1:5)
158 write(13,
'(a3,10i10)') m2,(konf(indexe+j),j=1,10)
159 write(13,
'(a3,10i10)') m2,(konf(indexe+j),j=11,12),
160 & (konf(indexe+j),j=17,19),konf(indexe+20),
161 & (konf(indexe+j),j=13,16)
162 elseif(lakonf(i)(7:7).eq.
'B')
then 163 write(13,
'(a3,i10,3a5)')m1,nactdohinv(i),p12,p0,
164 & matname(ielmat(1,i))(1:5)
165 write(13,
'(a3,3i10)') m2,konf(indexe+21),konf(indexe+23),
168 write(13,
'(a3,i10,3a5)')m1,nactdohinv(i),p10,p0,
169 & matname(ielmat(1,i))(1:5)
170 write(13,
'(a3,8i10)') m2,(konf(indexe+20+j),j=1,8)
172 elseif(lakonf(i)(4:4).eq.
'8')
then 173 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p1,p0,
174 & matname(ielmat(1,i))(1:5)
175 write(13,
'(a3,8i10)') m2,(konf(indexe+j),j=1,8)
176 elseif(lakonf(i)(4:5).eq.
'10')
then 177 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p6,p0,
178 & matname(ielmat(1,i))(1:5)
179 write(13,
'(a3,10i10)') m2,(konf(indexe+j),j=1,10)
180 elseif(lakonf(i)(4:4).eq.
'4')
then 181 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p3,p0,
182 & matname(ielmat(1,i))(1:5)
183 write(13,
'(a3,4i10)') m2,(konf(indexe+j),j=1,4)
184 elseif(lakonf(i)(4:5).eq.
'15')
then 185 if((lakonf(i)(7:7).eq.
' '))
then 186 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p5,p0,
187 & matname(ielmat(1,i))(1:5)
188 write(13,
'(a3,10i10)') m2,(konf(indexe+j),j=1,9),
190 write(13,
'(a3,5i10)') m2,(konf(indexe+j),j=14,15),
191 & (konf(indexe+j),j=10,12)
193 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p8,p0,
194 & matname(ielmat(1,i))(1:5)
195 write(13,
'(a3,6i10)') m2,(konf(indexe+15+j),j=1,6)
197 elseif(lakonf(i)(4:4).eq.
'6')
then 198 write(13,
'(a3,i10,3a5)') m1,nactdohinv(i),p2,p0,
199 & matname(ielmat(1,i))(1:5)
200 write(13,
'(a3,6i10)') m2,(konf(indexe+j),j=1,6)
201 elseif(lakonf(i)(1:1).eq.
'D')
then 202 if((konf(indexe+1).eq.0).or.(konf(indexe+3).eq.0)) cycle
203 write(13,
'(a3,i10,3a5)')m1,nactdohinv(i),p12,p0,
204 & matname(ielmat(1,i))(1:5)
205 write(13,
'(a3,3i10)') m2,konf(indexe+1),konf(indexe+3),
207 elseif(lakonf(i)(1:1).eq.
'E')
then 208 write(13,
'(a3,i10,3a5)')m1,nactdohinv(i),p11,p0,
209 & matname(ielmat(1,i))(1:5)
210 write(13,
'(a3,2i10)') m2,(konf(indexe+j),j=1,2)
219 if(filab(34)(1:4).eq.
'VF ')
then 221 write(text(25:36),
'(i12)') kode
222 write(13,
'(a132)') text
225 &
' 100CL .00000E+00 3 1' 227 write(text(25:36),
'(i12)') nout
228 write(text(8:12),
'(i5)') 100+kode
229 write(text(13:24),fmat) time
230 write(text(59:63),
'(i5)') kode
231 write(13,
'(a132)') text
233 write(13,
'(a132)') text
234 text=
' -5 V1 1 2 1 0' 235 write(13,
'(a132)') text
236 text=
' -5 V2 1 2 2 0' 237 write(13,
'(a132)') text
238 text=
' -5 V3 1 2 3 0' 239 write(13,
'(a132)') text
240 text=
' -5 ALL 1 2 0 0 1ALL' 241 write(13,
'(a132)') text
243 if((ntrans.eq.0).or.(filab(21)(6:6).eq.
'G'))
then 245 if(inum(i).le.0) cycle
246 write(13,100) m1,i,(vold(j,i),j=1,3)
250 if(inum(i).le.0) cycle
251 if(inotr(1,i).eq.0)
then 252 write(13,100) m1,i,(vold(j,i),j=1,3)
256 & vold(1,i)*a(1,1)+vold(2,i)*a(2,1)+vold(3,i)*a(3,1),
257 & vold(1,i)*a(1,2)+vold(2,i)*a(2,2)+vold(3,i)*a(3,2),
258 & vold(1,i)*a(1,3)+vold(2,i)*a(2,3)+vold(3,i)*a(3,3)
266 if(filab(35)(1:4).eq.
'PSF ')
then 268 write(text(25:36),
'(i12)') kode
269 write(13,
'(a132)') text
272 &
' 100CL .00000E+00 3 1' 274 write(text(25:36),
'(i12)') nout
275 write(text(8:12),
'(i5)') 100+kode
276 write(text(13:24),fmat) time
277 write(text(59:63),
'(i5)') kode
278 write(13,
'(a132)') text
280 write(13,
'(a132)') text
281 text=
' -5 PS 1 1 0 0' 282 write(13,
'(a132)') text
285 if(inum(i).le.0) cycle
286 write(13,100) m1,i,vold(4,i)
292 if(filab(36)(1:4).eq.
'TSF ')
then 294 write(text(25:36),
'(i12)') kode
295 write(13,
'(a132)') text
298 &
' 100CL .00000E+00 3 1' 300 write(text(25:36),
'(i12)') nout
301 write(text(8:12),
'(i5)') 100+kode
302 write(text(13:24),fmat) time
303 write(text(59:63),
'(i5)') kode
304 write(13,
'(a132)') text
306 write(13,
'(a132)') text
307 text=
' -5 TS 1 1 0 0' 308 write(13,
'(a132)') text
311 if(inum(i).le.0) cycle
312 write(13,100) m1,i,vold(0,i)
321 if(filab(23)(1:4).eq.
'MACH')
then 323 write(text(25:36),
'(i12)') kode
324 write(13,
'(a132)') text
327 &
' 100CL .00000E+00 3 1' 329 write(text(25:36),
'(i12)') nout
330 write(text(8:12),
'(i5)') 100+kode
331 write(text(13:24),fmat) time
332 write(text(59:63),
'(i5)') kode
333 write(13,
'(a132)') text
335 write(13,
'(a132)') text
336 text=
' -5 MACH 1 1 0 0' 337 write(13,
'(a132)') text
340 if(inum(i).le.0) cycle
341 write(13,100) m1,i,xmach(i)
347 if(filab(38)(1:4).eq.
'TTF ')
then 349 write(text(25:36),
'(i12)') kode
350 write(13,
'(a132)') text
353 &
' 100CL .00000E+00 3 1' 355 write(text(25:36),
'(i12)') nout
356 write(text(8:12),
'(i5)') 100+kode
357 write(text(13:24),fmat) time
358 write(text(59:63),
'(i5)') kode
359 write(13,
'(a132)') text
361 write(13,
'(a132)') text
362 text=
' -5 TT 1 1 0 0' 363 write(13,
'(a132)') text
366 if(inum(i).le.0) cycle
368 & vold(0,i)*(1.d0+(xkappa(i)-1.d0)/2*xmach(i)**2)
374 if(filab(37)(1:4).eq.
'PTF ')
then 376 write(text(25:36),
'(i12)') kode
377 write(13,
'(a132)') text
380 &
' 100CL .00000E+00 3 1' 382 write(text(25:36),
'(i12)') nout
383 write(text(8:12),
'(i5)') 100+kode
384 write(text(13:24),fmat) time
385 write(text(59:63),
'(i5)') kode
386 write(13,
'(a132)') text
388 write(13,
'(a132)') text
389 text=
' -5 PT 1 1 0 0' 390 write(13,
'(a132)') text
393 if(inum(i).le.0) cycle
394 write(13,100) m1,i,vold(4,i)*
395 & (1.d0+(xkappa(i)-1.d0)/2*xmach(i)**2)
396 & **(xkappa(i)/(xkappa(i)-1.d0))
404 if(filab(39)(1:4).eq.
'SF ')
then 406 write(text(25:36),
'(i12)') kode
407 write(text(49:60),
'(i12)') istep
408 write(13,
'(a132)') text
411 &
' 100CL .00000E+00 3 1' 413 write(text(25:36),
'(i12)') nout
414 write(text(8:12),
'(i5)') 100+kode
415 write(text(13:24),fmat) time
416 write(text(59:63),
'(i5)') kode
417 write(13,
'(a132)') text
418 text=
' -4 STRESS 6 1' 419 write(13,
'(a132)') text
420 text=
' -5 SXX 1 4 1 1' 421 write(13,
'(a132)') text
422 text=
' -5 SYY 1 4 2 2' 423 write(13,
'(a132)') text
424 text=
' -5 SZZ 1 4 3 3' 425 write(13,
'(a132)') text
426 text=
' -5 SXY 1 4 1 2' 427 write(13,
'(a132)') text
428 text=
' -5 SYZ 1 4 2 3' 429 write(13,
'(a132)') text
430 text=
' -5 SZX 1 4 3 1' 431 write(13,
'(a132)') text
433 if(inum(i).le.0) cycle
434 write(13,100) m1,i,(stn(j,i)-vold(4,i),j=1,3),
435 & stn(4,i),stn(6,i),stn(5,i)
442 if(filab(41)(1:4).eq.
'SVF ')
then 444 write(text(25:36),
'(i12)') kode
445 write(13,
'(a132)') text
448 &
' 100CL .00000E+00 3 1' 450 write(text(25:36),
'(i12)') nout
451 write(text(8:12),
'(i5)') 100+kode
452 write(text(13:24),fmat) time
453 write(text(59:63),
'(i5)') kode
454 write(13,
'(a132)') text
455 text=
' -4 VSTRES 6 1' 456 write(13,
'(a132)') text
457 text=
' -5 SXX 1 4 1 1' 458 write(13,
'(a132)') text
459 text=
' -5 SYY 1 4 2 2' 460 write(13,
'(a132)') text
461 text=
' -5 SZZ 1 4 3 3' 462 write(13,
'(a132)') text
463 text=
' -5 SXY 1 4 1 2' 464 write(13,
'(a132)') text
465 text=
' -5 SYZ 1 4 2 3' 466 write(13,
'(a132)') text
467 text=
' -5 SZX 1 4 3 1' 468 write(13,
'(a132)') text
470 if(inum(i).le.0) cycle
471 write(13,100) m1,i,(stn(j,i),j=1,4),
479 if(filab(40)(1:4).eq.
'HFLF')
then 481 write(text(25:36),
'(i12)') kode
482 write(13,
'(a132)') text
485 &
' 100CL .00000E+00 3 1' 487 write(text(25:36),
'(i12)') nout
488 write(text(8:12),
'(i5)') 100+kode
489 write(text(13:24),fmat) time
490 write(text(59:63),
'(i5)') kode
491 write(13,
'(a132)') text
493 write(13,
'(a132)') text
494 text=
' -5 F1 1 2 1 0' 495 write(13,
'(a132)') text
496 text=
' -5 F2 1 2 2 0' 497 write(13,
'(a132)') text
498 text=
' -5 F3 1 2 3 0' 499 write(13,
'(a132)') text
500 text=
' -5 ALL 1 2 0 0 1ALL' 501 write(13,
'(a132)') text
503 if(inum(i).le.0) cycle
504 write(13,100) m1,i,(qfn(j,i),j=1,3)
509 if(filab(24)(1:4).eq.
'CP ')
then 511 write(text(25:36),
'(i12)') kode
512 write(13,
'(a132)') text
515 &
' 100CL .00000E+00 3 1' 517 write(text(25:36),
'(i12)') nout
518 write(text(8:12),
'(i5)') 100+kode
519 write(text(13:24),fmat) time
520 write(text(59:63),
'(i5)') kode
521 write(13,
'(a132)') text
523 write(13,
'(a132)') text
524 text=
' -5 CP 1 1 0 0' 525 write(13,
'(a132)') text
528 if(inum(i).le.0) cycle
529 write(13,100) m1,i,(vold(4,i)-physcon(6))*2.d0/
530 & (physcon(7)*physcon(5)**2)
536 if(filab(25)(1:4).eq.
'TURB')
then 538 write(text(25:36),
'(i12)') kode
539 write(13,
'(a132)') text
542 &
' 100CL .00000E+00 3 1' 544 write(text(25:36),
'(i12)') nout
545 write(text(8:12),
'(i5)') 100+kode
546 write(text(13:24),fmat) time
547 write(text(59:63),
'(i5)') kode
548 write(13,
'(a132)') text
549 text=
' -4 TURB3DF 4 1' 550 write(13,
'(a132)') text
552 write(13,
'(a132)') text
553 text=
' -5 OM 1 1 0 0' 554 write(13,
'(a132)') text
555 text=
' -5 NU_T 1 1 0 0' 556 write(13,
'(a132)') text
557 text=
' -5 EPS 1 1 0 0' 558 write(13,
'(a132)') text
561 if(inum(i).le.0) cycle
562 write(13,100) m1,i,xturb(1,i),xturb(2,i),
563 & xturb(1,i)/xturb(2,i),xturb(1,i)*xturb(2,i)
569 100
format(a3,i10,1p,6e12.5)