第1回 (2009/10/2) 航空宇宙機設計製図Ⅱ 2009年度 九州大学 工学部 機械航空工学科 航空宇宙工学コース 3年後期 金曜3限 谷 泰寛 ver. 2009/9/30 2 本日の内容 ・講義の概要 ・CADについて ・プログラミングの基礎〜行列計算 ・課題1の解説 ・計算機の利用方法 3 本講義の目的 航空宇宙機の設計で使用されるCAD(コンピュータ支援設計)システ ムに関して、 ・製図に関する3次元空間の理解とその処理方法 ・コンピュータグラフィックスの基礎 ・Fortranによるプログラム作成方法 を習得することを目的とする。 4 本講義の進め方 講義 + 情報講義室で実際にプログラム作成 + 各自が作成したCG図についてプレゼンテーション ・情報講義室2は、毎週金曜日3~5限目の間は確保 ・講義等で使用されていない時間も自由に使用可能 (講義室に時間割が貼ってある) 5 過去の作品 H20年度 古志悟君の作品 (B767-200ER) 6 過去の作品 H20年度 田川真君の作品 (SpaceShip One) H20年度 神園仁志君の作品 (EF2000) 7 過去の作品 H20年度 井本鷹重君の作品 (F-14A) 8 講義計画 10/02 講義:課題1 → 10/23提出 11/27 自習 10/09 自習 12/04 講義:課題3 → 1/22プレゼン 10/16 自習 12/11 自習 10/23 講義:課題2 → 12/04提出 12/18 自習 10/30 自習 12/25 自習 11/06 自習 1/08 自習 11/13 自習 1/15 自習 (11/20 九大祭で休講) 1/22 プレゼンテーション 9 講義資料の配付 資料は、web上にて配布 (講義時のスライド、プログラム類) http://stl-www.aero.kyushu-u.ac.jp/member/tani/seizu2/seizu2.html ・基本的にペーパーレス化 ・課題もメールで提出 10 設計・製造におけるコンピュータ利用 航空機製造業務の流れ 図面・部品表 研究開発 製造指示書 生産計画 工程計画 設計・解析 資材計画 資材調達 部品製作組 立 図面、部品表のデジタル化 検 査 飛行試験 納 品 各種工学解析(構造解析、熱・流体解析など) 生産管理業務の合理化・効率化 NC機械、検査システムのためのデータ自動作成 ⇒ コンピュータ利用により、品質向上、期間短縮、 失敗による後戻り防止、などが可能となる 11 CADの例 http://www.systemplan.co.jp/plan_jpn/handling/cadcam/mc/mc_top.htm 12 CADの例 http://www.systemplan.co.jp/plan_jpn/handling/cadcam/mc/mc_top.htm 13 2次元CADの例 AutoCAD 14 3次元CAD CATIA 仏、Dassault Systems社(http://www.3ds.com/jp/)が開発 航空宇宙分野で標準 → 他分野でも幅広く使用 製品開発の全工程を支援 ⇒ コンカレント・エンジニアリング その他の3次元CAD; Pro/Engineer, NX, AutoCAD など 15 CATIAの使用例 http://www.erau.edu/pr/technology/software.html 16 CATIAの使用例 http://www.nextcraft.com/technology_index.html 用語 17 CAD Computer Aided Design 製品の形状、その他の属性データからなるモデルをコンピュータ内部に作成し、解 析・処理することによって進める設計。 CAE Computer Aided Engineering CADの過程でコンピュータ内部に作成されたモデルを利用して各種シミュレーション、 技術解析など工学的な検討を行うこと。MSC/NASTRAN、ANSYS、PATRAN、 Fluent、STAR-CDなど。 CAM Computer Aided Manufacturing コンピュータ内部に表現されたモデルに基づいて生産に必要な各種情報を生成する こと、およびそれに基づいて進める生産の方式。NC工作機械用プログラムの出力 など。 CAT Computer Aided Testing コンピュータによって製品又はその一部分を試験したり検査したりすること。CNC化 された3次元測定機など。 ※JIS B3401, JIS X0024より一部抜粋 18 プログラミングの基礎 手始めに、3次元座標変換のために必要となる、 行列計算のプログラミングを行う。 対象物 投影面 視点 19 プログラミング言語 言語の種類 : Fortran, c, Pascal, Java など コンパイラとインタプリタの違い Compiler: プログラムを機械語に翻訳した実行ファイルを作成 Interpreter: プログラムを逐次解釈しながら実行 Fortran Formula Translator 科学技術計算に適した言語として広く使用 FORTRAN66, FORTRAN77, Fortran90, Fortran95, Fortran2003, (Fortran2008)・・・ 20 ベクトルの内積 ベクトルとの内積 B b1 b2 b3 b4 A a1 a2 a3 a4 ベクトル A,B の内積 : A B a1 a2a3 A B d b1 b2 a4 b3 b4 4 d aibi i1 21 ベクトルの内積 program dproduct ! Dot Product of A and B implicit none integer i, n double precision d, a(10), b(10) write read write read write read (*,*) (*,*) (*,*) (*,*) (*,*) (*,*) "No. of Elements = " n "A(i) = " (a(i), i = 1, n) "B(i) = " (b(i), i = 1, n) 変数、配列の型宣言 ベクトルの要素の読み込み d = 0.0D0 do i = 1, n d = d + a(i) * b(i) end do ベクトルの内積の計算 write(*,'(" AB = ", 1P,E15.5)') d 計算結果の出力 end program 22 わかりやすいプログラム プログラムがいくつかのまとまった部分から出来ている場合、各部分 をパッケージ化しておくと分かりやすいプログラムとなる。 作業A call a 作業A サブルーチン a 作業B call b 作業B 作業C 作業C* 作業A call c サブルーチン b call a 作業C call c* サブルーチン c 主プログラム 作業の流れ パッケージ化 作業C* サブルーチン c* 23 ベクトルの内積 program dproduct ! Dot Product of A and B subroutine vmul ( d, a, b, n ) implicit none integer i, n double precision d, a(10), b(10) implicit none integer i, n double precision d, a(10), b(10) write read write read write read d = 0.0D0 do i = 1, n d = d + a(i) * b(i) end do (*,*) (*,*) (*,*) (*,*) (*,*) (*,*) "No. of Elements = " n "A(i) = " (a(i), i = 1, n) "B(i) = " (b(i), i = 1, n) call vmul ( d, a, b, n ) write(*,'(" AB = ", 1P, E15.5)') d end program end subroutine 24 行列演算(1) 行列とベクトルとの掛け算 a11 a12 a1n c1 A c an1 ann cn Ac d di d1 d dn n a c ij j j 1 課題(1) 25 行列演算(2) n元連立一次方程式の解法 a11x1 a12x2 a1n xn b1 a21x1 a22x2 a2n xn b2 an1 x1 an 2 x2 annxn bn Ax b A: 係数行列、x:解ベクトル、b:定数項ベクトル 各種の解法 ガウスの消去法 ガウス・ジョルダン法 ガウス・ザイデル法 a A a 11 n1 a a x b , x , b x b a 12 1n 1 1 nn n n 26 行列演算(2) ガウスの消去法 (前進消去、後退代入) a11x1 a12x2 a1n xn b1 a21x1 a22x2 a2n xn b2 an1 x1 an 2 x2 annxn bn a11x1 a12x2 a1n xn b1 1 a22 x2 a21n xn b21 1 1 1 an 2 x2 ann xn bn aij1 aij a1 j a11ai1 bi1 bi b1 a11ai1 i 2, 3,, n; j 2, 3,, n 第1式に ai1 / a11 を乗じたものを 第 i 番目の式より引く。 (第1式を用いて第2 ~ n 式から x1 を 消去することに相当する。) 27 行列演算(2) ガウスの消去法 (前進消去、後退代入) a11x1 a12x2 a1n xn b1 1 a22 x2 a21n xn b21 1 an12 x2 ann xn bn1 ・ ・ ・ a x b a11x1 a12x2 1n n 1 1 a22 x2 a21n xn b21 ann1n2 1 xn1 ann1n2 xn bnn2 n1 ann xn bnn1 n1 b xn nn1 ann 課題(2) 28 課題 1 (1) 行列[A]とベクトル{c}のかけ算を行い、ベクトル{d}を求め るプログラムを作成せよ。また、実際に数値を与えた計算を 実行し、その計算結果を示しなさい。 [A]{c}={d} (2) ガウスの消去法により連立一次方程式の解を求めるプログ ラムを作成せよ。また、実際に数値を与えた計算を実行し、 その計算結果を示しなさい。 [A]{x}={b} ・提出日: 2009年10月23日(金)講義開始前まで ・提出物: プログラム説明書、プログラムリスト、計算結果をまとめて Microsoft Word形式のファイルとして提出 ・提出先: [email protected] 宛てに電子メールにより提出のこと. ファイル名は「自分の氏名1.doc」とすること.例えば、「谷泰寛1.doc」 29 計算機の利用方法 本講義における使用計算機 ・情報講義室 iMac G5, OS: Mac OS X 10.5 ・ホスト計算機 ah.s.kyushu-u.ac.jp OS : Redhat Enterprise Linux Version 5 ・ホスト計算機は、学内LANを経由してiMacから接続する。 (同様に、自宅等のPCからも接続可能だが、X環境が必要) ・計算は、ホスト計算機上で実行。(iMacは端末として利用) ・ホスト計算機上に各人に割り当てられたディレクトリは、Mac上の ディレクトリとしてマウントされている。 情報講義室のiMacではVMwareという仮想環境ソフトウエア上でWindows Vista も利用できますが、ここではMac OS X上での操作として講義を進めます。 30 Operating System (OS)について Operating System ワークステーション(WS) Unix, Linux など パーソナルコンピュータ(PC) MS-DOS, Windows Vista, XP, Mac OS Xなど その他 OS/360, TRONなど 本講義で使用する計算機 ホスト計算機 ( Red Hat Enterprise Linux ) 情報講義室 iMac ( Mac OS X ) 31 PCからネットワーク接続 ①ssh 「Terminal」「Tera Term」 network アプリケーションサーバ ah.s.kyushu-u.ac.jp 通信 ② X Window System 「X11」 NEC Express5800/120Rh-1 通信 32 教育情報システムのハードウエア 計 算 機 の 種 類 機 種 主 な 仕 様 利用者用端末パソコン Apple iMac MB323J/A CPU Intel Core 2 Duo E8135(2.4GHz) GPU ATI Radeon HD 2400XT メモリ 4GB HDD 250GB 光学式ドライブ SuperDrive 画面解像度 1680×1050 空きUSB端子 2 ネットワーク 10BASE-T/100BASE-TX/1000BASE-T その他 Apple Keyboard,Apple Mighty Mouse,ヘッドセット アダプタ ホスト 計算機 アプリケーション 用サーバ NEC Express5800/120Rh-1 CPU Intel Xeon E5205(1.86GHz)×2 メモリ 8GB ネットワーク 10BASE-T/100BASE-TX/1000BASE-T 情報提供用サー バ NEC Express5800/120Rh-1 CPU Intel Xeon E5205(1.86GHz)×2 メモリ 9GB ネットワーク 10BASE-T/100BASE-TX/1000BASE-T ファイルサーバ NEC iStorage NV5400 CPU Intel Xeon 5110(1.6GHz)×2×2ノード メモリ 4GB×2ノード HDD 2.5TB(実効) ネットワーク 10BASE-T/100BASE-TX/1000BASE-T 詳細は、九州大学情報統括本部(http://www.cc.kyushu-u.ac.jp/ec/info/)を参照のこと。 33 計算機の利用方法 パソコン(iMac)のログイン・ログアウト方法 (利用ガイド, pp.6) 34 計算機の利用方法 アプリケーションの起動方法① : Dockから起動 (利用ガイド, pp.7) 35 計算機の利用方法 アプリケーションの起動方法② : Finderから起動 36 計算機の利用方法 ホスト計算機へのログイン方法 (Mac OS X上) ① 文字端末としての利用 ・「アプリケーション」→「ユーティリティ」→「ターミナル」を起動 「ssh ah.s.kyushu-u.ac.jp」と打ち込み、enterキー ② X端末としての利用 ・「アプリケーション」→「ユーティリティ」→「X11」を起動 → xtermが開く 「ssh -X ah.s.kyushu-u.ac.jp」と打込み、enterキー 情報講義室では、ログインIDの入力が不要だが、自宅等からの接続には必要。 「ssh -X -l loginID ah.s.kyushu-u.ac.jp」と打ち込み、enterキー。 ・いずれの場合も、接続されたら、パスワードの入力を行う。 37 基本的なLinux(UNIX)のコマンド(1) ls ls [ファイル1] [ファイル2] ls [ディレクトリ] ls -l [ディレクトリ] 現在のディレクトリの内容を表示 指定したファイル名の一覧を表示 指定したディレクトリの内容を表示 指定したディレクトリ内のファイルの属性の表示 pwd cd [ディレクトリ] cd 現在のディレクトリ名を表示 指定したディレクトリにカレントディレクトリを変更 ホームディレクトリへ移動 cat [ファイル] more [ファイル] 指定したファイルの内容を表示 指定したファイルの内容をenterキーで進めながら表示 cp [ファイル1] [ファイル2] rm [ファイル1] rmdir [ディレクトリ] rm -r [ディレクトリ] ファイル1の内容をファイル2にコピー 指定したファイルを削除 指定したディレクトリを削除(ディレクトリが空の場合) 指定したディレクトリを削除する。(ディレクトリ内の内容も削除) 38 基本的なLinux(UNIX)のコマンド(2) mv [ファイル1] [ファイル2] mv [ファイル] [ディレクトリ] mkdir [ディレクトリ] ファイル名を[ファイル1]から[ファイル2]へ変更 指定したファイルを指定したディレクトリへ移動 ディレクトリを指定したディレクトリ名で作成 chmod ファイル・ディレクトリのパーミッション変更 ps kill [プロセス番号] プロセスの状態を表示 指定したプロセスを強制終了 ex [ファイル] emacs [ファイル] vi [ファイル] view [ファイル] ラインエディタ テキストエディタ テキストエディタ テキストエディタ (Read only mode) man [コマンド名] 指定したコマンドのマニュアルの表示 39 エディタについて プログラムの編集にあたっては、エディタソフトを利用する。 Linux(UNIX)上のエディタ ・・・ vi, emac など Macのエディタ ・・・ テキストエディット, emacs, Wordなど 使用上の注意 vi 「X11」からは日本語表示できないため、表示が崩れる模様 emacs 「ターミナル」から使用する場合は、現在のウインドウ内での 編集となる。FinderからMac上のemacsやテキストエディット で編集することも可能。 40 エディタviの基本的なコマンド(1) vi <ファイル名> ファイルを読み込んで起動 :q :wq :q! ZZ :w :w <ファイル名> 終了 保存して終了 保存せずに強制終了 終了(変更は保存して終了) 上書保存 編集中のデータを<ファイル名>の ファイルに保存 ESC : i a I A O o コマンドモードへ移行 exモードへ移行 カーソルの左隣へ挿入 カーソルの右隣へ挿入 行の先頭に挿入 行の末尾に挿入 カーソル行の上に1行空けて挿入 カーソル行の下に1行空けて挿入 h j k l 0 b w H M L nG カーソルを1文字左へ移動 カーソルを1行下へ移動 カーソルを1行上へ移動 カーソルを1文字右へ移動 カーソル行の左端へ移動 左隣の単語の先頭へ移動 右隣の単語の先頭へ移動 画面最上行へ移動 画面中央行へ移動 画面最下行へ移動 ファイルの先頭からn行目へ移動 cntl+f cntl+b cntl+d cntl+u cntl+l cntl+g 1ページ分下に画面を移動 1ページ分上に画面を移動 半ページ分下に画面を移動 半ページ分上に画面を移動 画面を再描画 行数、カーソル行位置を表示 41 エディタviの基本的なコマンド(2) /<文字列> <文字列>を順方向に検索 x X dd dw shift+d d^ カーソル上一文字削除 カーソル左一文字削除 カーソル行削除 カーソル位置から現単語末尾ま で削除 カーソル位置から左削除 カーソル位置から右削除 r R カーソル上一文字置換 カーソル位置から複数文字置換 yw yy P p カーソル位置の単語をコピー カーソル行をコピー カーソル行の上にペースト カーソル行の下にペースト . u :set number :set nonumber :h 直前のコマンドの繰返し 直前に実行したコマンドの取消し 行番号を表示 行番号を非表示 ヘルプを表示 42 Fortranプログラムのコンパイル ホスト計算機上には、以下のFortranコンパイラが用意されています。 ifort : Intel Fortran 77/90/95 コンパイラ f77 : GNU Fortran 77 コンパイラ f95 : GNU Fortran 95 コンパイラ コンパイル・リンク方法(ソースプログラムを計算機が実行可能な形式に翻訳) ifort test.f90 test.f90をFortran90でコンパイルし、a.outを作成 ifort test.f90 -o test.x test.f90をFortran90でコンパイルし、test.xを作成 f77 test.f test.fをFortran77でコンパイルし、a.outを作成 f95 test.f90 test.f90をFortran95をコンパイルし、a.outを作成 f95 test.f90 test2.f90 test.f90とtest2.f90をFortran95でコンパイルし、a.outを作成 f95 test.f90 test2.o 実行方法 a.out または test.x test.f90をFortran95でコンパイルしtest2.oとリンク、a.outを作成 あるいは、 ./a.out または ./test/x 43 計算機の利用上の注意 ・講義室の機材は丁寧に扱うこと。 ・人の迷惑や邪魔にならないように注意すること。(特に自習時) ・IDやパスワードは他人に教えない/忘れないこと。 ・利用を終えたら、必ずlogoutすること。(電源はそのまま) ・ホスト計算機は多くの人が同時に利用しているので、無限ループ等 に陥ったプログラムは停止すること。
© Copyright 2024 ExpyDoc