implicit real*8 (a-h, o-z) dimension o(3000000),p(3000000),q(3000000),& &x(3000000),y(3000000),z(3000000),& & mesh(1000000,11),narabi(10000,10000) !----------------------------------------------------------------------------- read*, mx read*, my read*, mz read*, nk read*, ny read*, nz read*, nset !節点数の読み込み do i=1,nset read*, mesh(i,1),mesh(i,2),mesh(i,3),mesh(i,4),mesh(i,5),mesh(i,6),mesh(i,7),mesh(i,8),mesh(i,9) end do !上弦材の共有節点を出力 !---------------------------------------------------------------------------- !1点目まで do i=1,(0.5*mz/14-1)*mx*my+mx*(0.5*my-1) print *,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do !end do ! !-------------------------------------------------------------------------------------------------------------------------------- ! !1点目 print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',12*nz+33*nz+1,',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !--------------------------------------------------------------------------------------------------------------------------------- !1〜2点目 ! do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+2,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx print *,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do !--------------------------------------------------------------------------------------------------------------------------------- !2点目 print *,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',12*nz+33*nz+1& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !---------------------------------------------------------------------------------------------------------------------------------- !2〜3点目 do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)-2 print *,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do !---------------------------------------------------------------------------- !3点目 print *,mesh(i,1),',',mesh(i,2),',',12*nz+33*nz+1,',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !---------------------------------------------------------------------------- !3〜4点目 do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1),((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2) print *,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do !----------------------------------------------------------------------------- !4点目 print *,mesh(i,1),',',12*nz+33*nz+1,',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !----------------------------------------------------------------------------- ! if ( mx > my ) then do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)& &+(mx+1)*my-1 print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do else do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)& &+(mx+1)*my-1 print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do end if !------------------------------------------------------------------------------------------------------------------------ ! !1点目 do j=1,3 print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',12*nz*(j+1)+33*nz+1,',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !-------------------------------------------------------------------------------------------------------------------------- !1〜2点目 ! if ( mx > my ) then do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)& &+(mx+1)*my-1+2& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)& &+(mx+1)*my-1+mx& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do else do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)& &+(mx+1)*my-1+2& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)& &+(mx+1)*my-1+mx& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do end if !-------------------------------------------------------------------------------------------------------------------------- !2点目 print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',12*nz*(j+1)+33*nz+1& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !--------------------------------------------------------------------------------------------------------------------------- !2〜3点目 if ( mx > my ) then do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)-2& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do else do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)-2& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do end if !------------------------------------------------------------------------------------------------------------------------------- !3点目 print *,mesh(i,1),',',mesh(i,2),',',12*nz*(j+1)+33*nz+1,',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !-------------------------------------------------------------------------------------------------------------------------------- !3〜4点目 if ( mx > my ) then do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)+mx-2& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do else do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)+mx-2& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do end if !------------------------------------------------------------------------------------------------------------------------------- !4点目 print *,mesh(i,1),',',12*nz*(j+1)+33*nz+1,',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) !-------------------------------------------------------------------------------------------------------------------------------- ! !do j=1,2 if ( mx > my ) then do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)+mx& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)+mx+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1& &+((2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do else do i=((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)+mx& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1)& &,((0.5*mz/14-1)*mx*my+mx*(0.5*my-1))+mx+2+mx*(my-1)+(mx-2)+2+(2*my*(mz/14)-(2*my+1))*mx-(my+1)+(mx+1)*my-1+mx+2& &+mx*(my-1)+mx+(2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1& &+((2*mx*(mz/14)-(2*mx+1))*my-(mx+1)+(mx+1)*my-1+mx+2+mx*(my-1)+mx)*(j-1) print*,mesh(i,1),',',mesh(i,2),',',mesh(i,3),',',mesh(i,4),',',mesh(i,5)& &,',',mesh(i,6),',',mesh(i,7),',',mesh(i,8),',',mesh(i,9) end do end if end do ! end