module defpi implicit none real(8),parameter::pi=3.14159265358979323846D0 end module defpi program f90_PSL use defpi real(8)::ELT,ELC,ELG,ELF,ELB,ELS,LG1,LG2 real(8)::TC_1,DG_1,HG_1,D1_1,OS_1,PS_1,GH_1,GW_1 real(8)::TC_2,DG_2,HG_2,D1_2,OS_2,PS_2,GH_2,GW_2 real(8)::TC,DG,HG,D1,OS,PS character(len=50)::dummy,fnameR,fnameW character(len=10)::elstr integer::i real(8)::dh,dw,xx,yy call getarg(1,fnameR) open(11,file=fnameR,status='old') read(11,*) dummy,ELT read(11,*) dummy,ELC read(11,*) dummy,ELG read(11,*) dummy,ELF read(11,*) dummy,ELB read(11,*) dummy,ELS read(11,*) dummy,LG1 read(11,*) dummy,LG2 read(11,*) dummy,TC_1 read(11,*) dummy,DG_1 read(11,*) dummy,HG_1 read(11,*) dummy,D1_1 read(11,*) dummy,OS_1 read(11,*) dummy,PS_1 read(11,*) dummy,GH_1 read(11,*) dummy,GW_1 read(11,*) dummy,TC_2 read(11,*) dummy,DG_2 read(11,*) dummy,HG_2 read(11,*) dummy,D1_2 read(11,*) dummy,OS_2 read(11,*) dummy,PS_2 read(11,*) dummy,GH_2 read(11,*) dummy,GW_2 close(11) fnameW='_L_ps_1.txt' open(12, file=fnameW, status='replace') ! plygon for structure (solid line + pattern filling) ! outline write(12,'(2(e15.7))') 0.0D0,ELT write(12,'(2(e15.7))') 0.0D0,ELB write(12,'(2(e15.7))') 4.0D0*LG1-2.0D0,ELB write(12,'(2(e15.7))') 4.0D0*LG1,ELS write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2,ELS write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+2.0D0,ELS dh=10.0D0 xx=4.0D0*LG1+2.0D0*LG2+2.0D0 yy=ELS do i=1,10 xx=xx+0.3D0*dh yy=yy+dh write(12,'(2(e15.7))') xx,yy xx=xx+2.0D0 write(12,'(2(e15.7))') xx,yy if(ELG-1.0D0' write(12,'(2(e15.7))') 1.0D0,ELG write(12,'(2(e15.7))') 1.0D0*LG1-dw,ELG write(12,'(2(e15.7))') 1.0D0*LG1-dw,ELT-dh write(12,'(2(e15.7))') 1.0D0,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 1.0D0*LG1+dw,ELG write(12,'(2(e15.7))') 2.0D0*LG1-dw,ELG write(12,'(2(e15.7))') 2.0D0*LG1-dw,ELT-dh write(12,'(2(e15.7))') 1.0D0*LG1+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 2.0D0*LG1+dw,ELG write(12,'(2(e15.7))') 3.0D0*LG1-dw,ELG write(12,'(2(e15.7))') 3.0D0*LG1-dw,ELT-dh write(12,'(2(e15.7))') 2.0D0*LG1+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 3.0D0*LG1+dw,ELG write(12,'(2(e15.7))') 4.0D0*LG1-dw,ELG write(12,'(2(e15.7))') 4.0D0*LG1-dw,ELT-dh write(12,'(2(e15.7))') 3.0D0*LG1+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+dw,ELG write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2-dw,ELG write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2-dw,ELT-dh write(12,'(2(e15.7))') 4.0D0*LG1+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2+dw,ELG write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2-dw,ELG write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2-dw,ELT-dh write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+dw,ELG write(12,'(2(e15.7))') 5.0D0*LG1+2.0D0*LG2-dw,ELG write(12,'(2(e15.7))') 5.0D0*LG1+2.0D0*LG2-dw,ELT-dh write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 5.0D0*LG1+2.0D0*LG2+dw,ELG write(12,'(2(e15.7))') 6.0D0*LG1+2.0D0*LG2-dw,ELG write(12,'(2(e15.7))') 6.0D0*LG1+2.0D0*LG2-dw,ELT-dh write(12,'(2(e15.7))') 5.0D0*LG1+2.0D0*LG2+dw,ELT-dh write(12,'(a)') '>' write(12,'(2(e15.7))') 6.0D0*LG1+2.0D0*LG2+dw,ELG write(12,'(2(e15.7))') 7.0D0*LG1+2.0D0*LG2-dw,ELG write(12,'(2(e15.7))') 7.0D0*LG1+2.0D0*LG2-dw,ELT-dh write(12,'(2(e15.7))') 6.0D0*LG1+2.0D0*LG2+dw,ELT-dh ! crane girder write(12,'(a)') '>' write(12,'(2(e15.7))') 1.0D0,ELC write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+3.0D0*LG1-1.0D0,ELC write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+3.0D0*LG1-1.0D0,ELC-2.0D0 write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+3.0D0*LG1-2.0D0,ELC-1.0D0 write(12,'(2(e15.7))') 2.0D0,ELC-1.0D0 write(12,'(2(e15.7))') 1.0D0,ELC-2.0D0 write(12,'(2(e15.7))') 1.0D0,ELC close(12) fnameW='_L_ps_3.txt' open(12, file=fnameW, status='replace') ! line for structure (solid line) ! roof dh=2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 0.0D0,ELT write(12,'(2(e15.7))') 0.0D0,ELT+dh write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+3.0D0*LG1,ELT+dh write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+3.0D0*LG1,ELT ! top of concrete write(12,'(a)') '>' write(12,'(2(e15.7))') 1.0D0,ELT write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+3.0D0*LG1-1.0D0,ELT ! cobel dw=1.0D0 dh=2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 1.0D0*LG1-dw,ELC-2.0D0 write(12,'(2(e15.7))') 1.0D0*LG1+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 2.0D0*LG1-dw,ELC-2.0D0 write(12,'(2(e15.7))') 2.0D0*LG1+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 3.0D0*LG1-dw,ELC-2.0D0 write(12,'(2(e15.7))') 3.0D0*LG1+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1-dw,ELC-2.0D0 write(12,'(2(e15.7))') 4.0D0*LG1+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2-dw,ELC-2.0D0 write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2-dw,ELC-2.0D0 write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 5.0D0*LG1+2.0D0*LG2-dw,ELC-2.0D0 write(12,'(2(e15.7))') 5.0D0*LG1+2.0D0*LG2+dw,ELC-2.0D0 write(12,'(a)') '>' write(12,'(2(e15.7))') 6.0D0*LG1+2.0D0*LG2-dw,ELC-2.0D0 write(12,'(2(e15.7))') 6.0D0*LG1+2.0D0*LG2+dw,ELC-2.0D0 ! joint write(12,'(a)') '>' write(12,'(2(e15.7))') 2.0D0*LG1,ELB write(12,'(2(e15.7))') 2.0D0*LG1,ELT write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1,ELS write(12,'(2(e15.7))') 4.0D0*LG1,ELT write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2,ELS write(12,'(2(e15.7))') 4.0D0*LG1+2.0D0*LG2,ELT close(12) fnameW='_L_draft.txt' open(12, file=fnameW, status='replace') ! outlet of draft (broken line) dh=0.5D0*GH_1 dw=0.5D0*GW_1 yy=ELB+5.0D0+0.5D0*GH_1 xx=LG1 write(12,'(a)') '>' write(12,'(2(e15.7))') xx-dw,yy-dh write(12,'(2(e15.7))') xx-dw,yy+dh write(12,'(2(e15.7))') xx+dw,yy+dh write(12,'(2(e15.7))') xx+dw,yy-dh write(12,'(2(e15.7))') xx-dw,yy-dh xx=3.0D0*LG1 write(12,'(a)') '>' write(12,'(2(e15.7))') xx-dw,yy-dh write(12,'(2(e15.7))') xx-dw,yy+dh write(12,'(2(e15.7))') xx+dw,yy+dh write(12,'(2(e15.7))') xx+dw,yy-dh write(12,'(2(e15.7))') xx-dw,yy-dh dh=0.5D0*GH_2 dw=0.5D0*GW_2 yy=ELS+5.0D0+0.5D0*GH_2 xx=4.0D0*LG1+LG2 write(12,'(a)') '>' write(12,'(2(e15.7))') xx-dw,yy-dh write(12,'(2(e15.7))') xx-dw,yy+dh write(12,'(2(e15.7))') xx+dw,yy+dh write(12,'(2(e15.7))') xx+dw,yy-dh write(12,'(2(e15.7))') xx-dw,yy-dh close(12) fnameW='_L_cline.txt' open(12, file=fnameW, status='replace') ! center line write(12,'(a)') '>' write(12,'(2(e15.7))') 1.0D0*LG1,ELB-2.0D0 write(12,'(2(e15.7))') 1.0D0*LG1,ELG write(12,'(a)') '>' write(12,'(2(e15.7))') 3.0D0*LG1,ELB-2.0D0 write(12,'(2(e15.7))') 3.0D0*LG1,ELG write(12,'(a)') '>' write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2,ELS-2.0D0 write(12,'(2(e15.7))') 4.0D0*LG1+1.0D0*LG2,ELG close(12) fnameW='_L_arrow.txt' open(12, file=fnameW, status='replace') ! arrow yy=ELT+4.0D0 write(12,'(4(e15.7))') 0.0D0*LG1,yy,1.0D0*LG1,yy write(12,'(4(e15.7))') 1.0D0*LG1,yy,2.0D0*LG1,yy write(12,'(4(e15.7))') 2.0D0*LG1,yy,3.0D0*LG1,yy write(12,'(4(e15.7))') 3.0D0*LG1,yy,4.0D0*LG1,yy write(12,'(4(e15.7))') 4.0D0*LG1+0.0D0*LG2,yy,4.0D0*LG1+1.0D0*LG2,yy write(12,'(4(e15.7))') 4.0D0*LG1+1.0D0*LG2,yy,4.0D0*LG1+2.0D0*LG2,yy write(12,'(4(e15.7))') 4.0D0*LG1+2.0D0*LG2,yy,5.0D0*LG1+2.0D0*LG2,yy write(12,'(4(e15.7))') 5.0D0*LG1+2.0D0*LG2,yy,6.0D0*LG1+2.0D0*LG2,yy write(12,'(4(e15.7))') 6.0D0*LG1+2.0D0*LG2,yy,7.0D0*LG1+2.0D0*LG2,yy yy=ELT+8.0D0 write(12,'(4(e15.7))') 0.0D0*LG1,yy,2.0D0*LG1,yy write(12,'(4(e15.7))') 2.0D0*LG1,yy,4.0D0*LG1,yy write(12,'(4(e15.7))') 4.0D0*LG1,yy,4.0D0*LG1+2.0D0*LG2,yy write(12,'(4(e15.7))') 4.0D0*LG1+2.0D0*LG2,yy,7.0D0*LG1+2.0D0*LG2,yy close(12) fnameW='_L_text1.txt' open(12, file=fnameW, status='replace') ! text1 xx=0.5D0*LG1 yy=ELT+5.0D0 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 xx=1.0D0*LG1+0.5D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 xx=2.0D0*LG1+0.5D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 xx=3.0D0*LG1+0.5D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 xx=4.0D0*LG1+0.5D0*LG2 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG2 xx=4.0D0*LG1+1.0D0*LG2+0.5D0*LG2 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG2 xx=4.0D0*LG1+2.0D0*LG2+0.5D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 xx=5.0D0*LG1+2.0D0*LG2+0.5D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 xx=6.0D0*LG1+2.0D0*LG2+0.5D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',LG1 yy=ELT+9.0D0 xx=1.0D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',2.0D0*LG1 xx=3.0D0*LG1 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',2.0D0*LG1 xx=4.0D0*LG1+1.0D0*LG2 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',2.0D0*LG2 xx=5.5D0*LG1+2.0D0*LG2 write(12,'(2(e15.7),3(i3),a3,f8.3)') xx,yy,8,0,0,'BC',3.0D0*LG1 close(12) fnameW='_L_line.txt' open(12, file=fnameW, status='replace') ! line yy=ELT+2.0D0 write(12,'(4(e15.7))') 0.0D0*LG1,yy,0.0D0*LG1,yy+7.0D0 write(12,'(4(e15.7))') 2.0D0*LG1,yy,2.0D0*LG1,yy+7.0D0 write(12,'(4(e15.7))') 4.0D0*LG1,yy,4.0D0*LG1,yy+7.0D0 write(12,'(4(e15.7))') 4.0D0*LG1+2.0D0*LG2,yy,4.0D0*LG1+2.0D0*LG2,yy+7.0D0 write(12,'(4(e15.7))') 7.0D0*LG1+2.0D0*LG2,yy,7.0D0*LG1+2.0D0*LG2,yy+7.0D0 write(12,'(4(e15.7))') 1.0D0*LG1,yy,1.0D0*LG1,yy+3.0D0 write(12,'(4(e15.7))') 3.0D0*LG1,yy,3.0D0*LG1,yy+3.0D0 write(12,'(4(e15.7))') 4.0D0*LG1+1.0D0*LG2,yy,4.0D0*LG1+1.0D0*LG2,yy+3.0D0 write(12,'(4(e15.7))') 5.0D0*LG1+2.0D0*LG2,yy,5.0D0*LG1+2.0D0*LG2,yy+3.0D0 write(12,'(4(e15.7))') 6.0D0*LG1+2.0D0*LG2,yy,6.0D0*LG1+2.0D0*LG2,yy+3.0D0 xx=-15.0D0 write(12,'(4(e15.7))') xx,ELB+3.0D0,0.0D0,ELB+3.0D0 write(12,'(4(e15.7))') xx,TC_1,0.0D0,TC_1 write(12,'(4(e15.7))') xx,ELF ,0.0D0,ELF write(12,'(4(e15.7))') xx,ELG ,0.0D0,ELG write(12,'(4(e15.7))') xx,ELC ,0.0D0,ELC write(12,'(4(e15.7))') xx,ELT ,0.0D0,ELT xx=7.0D0*LG1+2.0D0*LG2 write(12,'(4(e15.7))') 4.0D0*LG1-2.0D0 ,ELB,xx,ELB write(12,'(4(e15.7))') 4.0D0*LG1+2.0D0*LG2,ELS,xx,ELS close(12) fnameW='_L_text2.txt' open(12, file=fnameW, status='replace') ! text2 (EL) dh=0.5D0 xx=-15.0D0 yy=ELB+3.0D0; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BL',elstr yy=TC_1; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BL',elstr yy=ELF; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BL',elstr yy=ELG; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BL',elstr yy=ELC; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BL',elstr yy=ELT; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BL',elstr xx=7.0D0*LG1+2.0D0*LG2 yy=ELB; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BR',elstr yy=ELS; elstr='';write(elstr,'(f7.3)') yy; elstr='EL.'//trim(adjustl(elstr)) write(12,'(2(e15.7),3(i3),a3,a11)') xx,yy+dh,8,0,0,'BR',elstr close(12) ! turbine drawing (solid line + white filling) dummy='L_tb1';call TURBINE(ELF,ELB,TC_1,DG_1,HG_1,D1_1,OS_1,PS_1,dummy) dummy='L_tb2';call TURBINE(ELF,ELS,TC_2,DG_2,HG_2,D1_2,OS_2,PS_2,dummy) fnameW='_L_tb.bat' open(12, file=fnameW, status='replace') elstr='';write(elstr,'(f4.1)') LG1 do i=1,6 write (dummy,'("_L_tb1_",i1.1,".txt")') i write(12,'(a)') 'gawk "{print $1+'//trim(adjustl(elstr)) & //',$2}" '//trim(adjustl(dummy)) //' | psxy -R -JX -Gwhite -W3 -O -K >> %fig%' end do elstr='';write(elstr,'(f4.1)') 3.0D0*LG1 do i=1,6 write (dummy,'("_L_tb1_",i1.1,".txt")') i write(12,'(a)') 'gawk "{print $1+'//trim(adjustl(elstr)) & //',$2}" '//trim(adjustl(dummy)) //' | psxy -R -JX -Gwhite -W3 -O -K >> %fig%' end do elstr='';write(elstr,'(f4.1)') 4.0D0*LG1+LG2 do i=1,6 write (dummy,'("_L_tb2_",i1.1,".txt")') i write(12,'(a)') 'gawk "{print $1+'//trim(adjustl(elstr)) & //',$2}" '//trim(adjustl(dummy)) //' | psxy -R -JX -Gwhite -W3 -O -K >> %fig%' end do close(12) stop contains subroutine TURBINE(ELF,ELB,TC,DG,HG,D1,OS,PS,fn) real(8),intent(in)::ELF,ELB real(8),intent(in)::TC,DG,HG,D1,OS,PS character(len=50),intent(in)::fn real(8),parameter::theta=5.0D0/180.0D0*pi real(8)::DB,y,r,d,l,wk integer::i character(len=50)::fnameW !(1) generator fnameW='_'//trim(adjustl(fn))//'_1.txt' open(12, file=fnameW, status='replace') write(12,'(2(e15.7))') -0.5D0*DG,ELF-HG write(12,'(2(e15.7))') 0.5D0*DG,ELF-HG write(12,'(2(e15.7))') 0.5D0*DG,ELF write(12,'(2(e15.7))') -0.5D0*DG,ELF write(12,'(2(e15.7))') -0.5D0*DG,ELF-HG close(12) !(2) axis fnameW='_'//trim(adjustl(fn))//'_2.txt' open(12, file=fnameW, status='replace') wk=1.0D0 write(12,'(2(e15.7))') -0.5D0*wk,TC write(12,'(2(e15.7))') 0.5D0*wk,TC write(12,'(2(e15.7))') 0.5D0*wk,ELF-HG write(12,'(2(e15.7))') -0.5D0*wk,ELF-HG write(12,'(2(e15.7))') -0.5D0*wk,TC close(12) !(3) draft tube fnameW='_'//trim(adjustl(fn))//'_3.txt' open(12, file=fnameW, status='replace') DB=ELB+3.0D0 y=TC-DB r=(D1+2.0D0*y*tan(theta))/2.0D0/(1.0D0+tan(theta)) l=y-r write(12,'(2(e15.7))') -0.5D0*D1,TC write(12,'(2(e15.7))') -r,TC-l do i=1,180 wk=dble(i)/180.0D0*pi write(12,'(2(e15.7))') -r*cos(wk),-r*sin(wk)+(TC-l) end do write(12,'(2(e15.7))') 0.5D0*D1,TC close(12) !(4) turbine fnameW='_'//trim(adjustl(fn))//'_4.txt' open(12, file=fnameW, status='replace') wk=D1/3.0D0 write(12,'(2(e15.7))') -(OS-0.5D0*PS),-0.5*wk+TC write(12,'(2(e15.7))') (OS-0.5D0*PS),-0.5*wk+TC write(12,'(2(e15.7))') (OS-0.5D0*PS), 0.5*wk+TC write(12,'(2(e15.7))') -(OS-0.5D0*PS), 0.5*wk+TC close(12) !(5) turbine inlet fnameW='_'//trim(adjustl(fn))//'_5.txt' open(12, file=fnameW, status='replace') r=0.5D0*PS do i=1,359 wk=dble(i)/180.0D0*pi write(12,'(2(e15.7))') -OS+r*cos(wk),TC+r*sin(wk) end do close(12) !(6) casing fnameW='_'//trim(adjustl(fn))//'_6.txt' open(12, file=fnameW, status='replace') r=0.7D0*0.5D0*PS do i=1,359 wk=dble(i)/180.0D0*pi write(12,'(2(e15.7))') (OS-0.5D0*PS+r)+r*cos(wk),TC+r*sin(wk) end do close(12) end subroutine TURBINE end program f90_PSL