PC 数 学 活 用 法 テキスト 静 岡 大 学 工 学 部 物 質 工 学 科 木 村 元 彦 前 澤 昭 礼 著
第 章 VBA 活 用 法 目 的 開 発 製 造 現 場 で 大 活 躍 できる 全 ての 分 野 のエンジニアは PCを 用 いた 計 算 計 測 制 御 の 技 術 を 持 っていなければならない マイクロソフト 社 のエクセルには 非 常 に 使 用 しやすい Visual を 基 Basic 本 としたプログラミング 機 能 VBA(Visual Basic )がある for 前 Alications 期 の 情 報 処 理 やデータ 処 理 およびシミュレーションの 授 業 で 学 習 した VBAの 機 能 をさらに 活 用 できる 能 力 を 修 得 することを 目 的 とする - ユーザーフォームを 用 いたプログラム VBAを 使 用 するために 開 発 Visual Basic を 選 択 し VBE(Visual Basic )の Editor window を 表 示 させる 挿 入 ユーザーフォーム を 選 択 すると 図 のようなユーザーフォームが 作 成 される また 同 時 に プロジェクトエクスプローラ 内 に UserForm が 表 示 される 図 のように ツールボックスから CommandButton をつ TextBox をつ ユーザーフォームに 作 成 する
CommandButton をクリックして 以 下 のプログラムを 入 力 する Private Sub End CommandButton_Click() TextBox.Text こんにちは" = " Sub CommandButton をクリックして 以 下 のプログラムを 入 力 する Private Sub End End Sub CommandButton_Click() これらのプログラムを 入 力 した 状 態 を 図 に 示 す フォームの 表 示 とコード(プログラム)の 表 示 を 切 り 替 えるためには プロジェクトエクスプローラ 内 の UserForm が 選 択 されている 状 態 で (コードの 表 示 )あるいは (オブジェクトの 表 示 ) をクリックすればよい VBEの window の ( 実 行 )をクリックして プログラムを 実 行 してみる CommandButton をクリッ クすると TextBox に こんにちは が 表 示 される エラーがあった 場 合 には (リセット)をクリ ックして 誤 りを 訂 正 する ここで プロジェクトエクスプローラ 内 の Sheet Sheet などを 選 択 してから (コードの 表
示 )を 選 択 すると それぞれのシートに 対 応 したコードの window が 表 示 される すなわち エクセルの VBAには 各 シート This Work Book ユーザーフォーム 標 準 モジュール( 後 述 する) の4 種 類 のプログラムを 別 々に 記 述 できる 場 所 があることを 理 解 せよ 情 報 処 理 の 授 業 のときに プログラムを 記 述 したのは Sheet に 対 応 するコードwindow であった さて この 状 態 で 開 発 マクロ としてみても 図 のように マクロは 表 示 されない つまり エクセルVBAでは ユーザーフォームは エクセルの Sheet とは 別 の window であることが 判 る 作 成 したユーザーフォームを エクセルのファイルの 読 み 込 みと 同 時 に 表 示 できると 便 利 である その 場 合 には プロジェクトエクスプローラ 内 の This Workbook を 選 択 し (コードの 表 示 )をク リックする そして コードを 表 記 する 上 の 部 分 にあるオブジェクトボックス ( 左 側 )で Workbook を 選 択 し プロシージャボックス( 右 側 )で oen を 選 択 する 以 下 のコードを 書 く 3
Private Sub Workbook_Oen() rform.show Use End Sub ファイルを 保 存 し エクセルを 一 旦 終 了 してから 再 度 ファイルを 開 いてみよ 作 成 したユーザー フォームが 自 動 的 に 表 示 されることを 確 認 せよ なお ユーザーフォームを 削 除 したい 場 合 には プロジェクトエクスプローラ 内 で UserForm を 右 クリックし UserForm の 解 放 を 選 択 すると 作 成 したUserForm に 関 するフォームとコードの 全 てを 消 去 することができる - 標 準 モジュールを 用 いたプログラム VBEの window を 開 き 挿 入 標 準 モジュール を 選 択 すると 図 のようなwindow が 生 成 さ れる 4
以 下 のコードを 入 力 する Sub End test() Cells(, 3) = 3 Cells(, 静 岡 大 学 " 4) = " Sub ( 実 行 )をクリックして プログラムを 実 行 し エクセルの Sheet の 中 に 3 と 静 岡 大 学 が 表 示 されることを 確 認 せよ Sheet に 表 示 されたものを 消 去 してから VBEのコードをつぎのように 変 更 して 再 度 実 行 してみ よ Sub End test() Sheet.Cells(, 3) = 3 Sheet3.Cells(, 静 岡 大 学 " 4) = " Sub 今 度 は Sheet とSheet 3の 中 のセルに 表 示 される このように VBAでは 全 ての Sheet やユー ザーフォーム 等 に 対 して 操 作 をすることができる Sub test() と End までのプログラムを プロシージャ と Sub 呼 ぶ この 状 態 で 開 発 マクロ をクリックしてみる すると 図 のように 標 準 モジュール 内 に 書 かれたプロシージャは エ クセルのマクロの 一 部 になっていることが 判 る -で 学 習 した ユーザーフォームを 使 用 したプロ シージャ 以 外 は 全 てマクロとして 表 示 される (なお Office3 以 前 では sheet に 作 成 された VBAプログラムは マクロとして 表 示 されない ) 5
-3 変 数 の 扱 い ユーザーフォームを 作 成 し CommandButton をつとTextBox6 つを 設 定 し 以 下 のコードを 入 力 せよ Dim re Private Sub CommandButton_Click() vis = Val(TextBox.Text) 6
dens = Val(TextBox.Text) vel = Val(TextBox3.Text) dia = Val(TextBox4.Text) re = dens * vel * dia / vis End TextBox5.Text = re Sub Private Sub CommandButton_Click() Select Case re Case Is > 4: 乱 流 " TextBox6.Text = " Case Is > 3: 遷 移 TextBox6.Text 域 " = " Case Else: 層 流 TextBox6.Text " = " End Select End Sub ( 実 行 )をクリックして プログラムを 実 行 し 家 庭 用 水 道 管 に 流 れる 水 の Reynolds 数 を 求 めて みる ( 粘 土 :mpa, 密 度 kg/m3, 流 速. ~m/s, 内 径.3m ) 正 しく 計 算 されることを 確 認 したら ファイルを 適 当 なファイル 名 で 保 存 してから コードの 先 頭 行 にある dim を re 削 除 してから 再 度 実 行 してみよ 今 度 は Reynolds 数 は 計 算 されるが 判 定 が 正 しくなされないことが 判 る この 原 因 は 変 数 はプロシージャ 内 部 でのみ 有 効 なためである 先 頭 のプロシージャの 外 部 ( 上 部 )に dim と 定 re 義 をすることによって reという 変 数 は 全 てのプロシージャで 共 通 に 使 用 することのできる グローバル 変 数 となる プロシージャ 内 でのみ 有 効 な 変 数 は ローカル 変 数 と 呼 ぶ つぎに Private Sub CommandButton_Click() の 次 の 行 に 以 下 のように 変 数 vel を 整 数 として 7
定 義 してから 実 行 してみよ 流 速 が m/s 未 満 の 範 囲 では Reynolds 数 がゼロとなることを 確 認 せ よ Private Sub CommandButton_Click() Dim vel As Integer vis = Val(TextBox.Text) このように 変 数 に 型 を 指 定 することができる 変 数 の 型 には 以 下 のものがある 数 値 計 算 な ど 計 算 精 度 が 要 求 されるものには Double ( 倍 精 度 変 数 )を 使 用 する 必 要 がある また ループ 回 数 を 指 定 する 変 数 には 整 数 型 実 数 型 文 字 列 型 Integer -3,768 ~3,767 の 範 囲 整 数 値 Long -,47,483,648 ~,47,483,647 の 整 数 値 Single -3.483E38 ~-.498E -45の 負 の 値.498E -45~3.483 E38の 正 の 値 Double -.79769334863E38 ~-4.94656458447E -34の 負 の 値 4.94656458447E -34~.79769334863E38 の 正 の 値 String ~GBの 範 囲 のテキスト 例 : Dim ABC As String 5 文 字 以 内 * の 文 5 字 列 バイト 型 Byte ~55の 整 数 値 ブール 型 Boolean 真 (True )または 偽 (False) 日 付 型 Date 西 暦 年 月 日 ~ 西 暦 9999 年 月 3 日 通 貨 型 Currency -9,337,3,685,477.588 ~9,337,3,685,477.587 の 整 数 値 バリアント 型 Variant データ 型 を 明 示 しない( 型 が 適 宜 変 化 する) -4 デバッグ 前 項 の Reynolds 数 を 計 算 する 例 題 のファイルをロードし UserForm に 対 するコードを 表 示 させ よ Private Sub CommandButton _Click() 内 にある dens = Val(TextBox.Text) の 行 をクリック してから ファンクションキーF9を 押 す これによって この 行 にブレイクポイントが 設 定 される UserForm を 実 行 すると ブレイクポイントで 一 時 停 止 することを 確 認 せよ 動 作 が 停 止 すると コードの 停 止 した 行 部 分 が 黄 色 で 表 示 される このとき コード 内 の 変 数 vis に マウスのカーソルを 乗 せてみると vis に 代 入 されている 値 が 表 示 されることを 確 認 せよ ファンクションキーF8を 押 すたびに 一 行 ずつ 実 行 され 実 行 された 部 分 の 変 数 の 数 値 が 変 化 す ることを 確 認 せよ(ステップインと 呼 ぶ) ブレイクポイントを 解 除 するためには ブレイクポイントの ある 行 内 で 再 度 F9をクリックすればよい このように ブレイクポイントとステップインを 活 用 することによって 作 成 したコードの 誤 りを 簡 単 に 見 つけることができる 8
-5 DoEvents プログラムを 暴 走 させない 方 法 エクセルをデザインモードとし 図 のように Sheet に CommandButton をつと Textbox をつ 設 定 し 以 下 のコードを 入 力 せよ Private Sub End CommandButton_Click() For i = To DoEvents Range("B") = i Next i Sub Private Sub End End Sub CommandButton_Click() 9
デザインモードを 終 了 して CommandButton をクリックすると Sheet のセルの 数 値 が 変 化 し 秒 間 程 度 で 停 止 する 再 度 CommandButton をクリックし その 直 後 にCommandButton をク
リックすると プログラムが 終 了 することを 確 認 せよ つぎに コード 内 の DoEvents の 直 前 ( 左 側 )に ( 半 角 のクォーテション)を 付 けて コメント に 変 更 せよ (コメント 部 分 は 実 行 されない ) 再 度 CommandButton をクリックし 続 いて CommandButton をクリックしてみよ 今 度 は 停 止 させることができないことを 確 認 せよ 今 作 成 したプログラムは For ~Next 文 であるので 所 定 回 数 の 後 にプログラムは 停 止 するが Do~Loo 文 を 用 いた 場 合 には 無 限 ループとなり システムを 強 制 終 了 させる 必 要 がある DoEvents は 繰 り 返 しや slee 文 などの 命 令 を 使 用 する 際 に プログラムを 暴 走 から 予 防 する 有 効 な 方 法 である また エクセルでグラフを 描 画 する 場 合 にも DoEvents を 挿 入 することによって 計 算 経 過 をグラフ 表 示 させることができる グラフ 表 示 では DoEvents を 挿 入 していないと 最 終 結 果 しか 表 示 されない -6 Function 文 の 使 用 法 Sheet に CommandButton をつ 設 定 し 図 のように Sheet のセルにデータを 入 力 せよ 次 に Sheet に 対 応 するコードウインドウに 以 下 のコマンドを 入 力 せよ Private Sub CommandButton_Click() vis = Cells(3, ) den = Cells(4, ) vel = Cells(5, ) dia = Cells(6, ) End Cells(7, ) = re(vis, den, vel, dia) Sub Function re(a, a, a3, a4) a re * = a3 * a4 / a End Function
デザインモードを 終 了 し CommandButton をクリックすると セル A7に Reynolds 数 が 表 示 される このように Function 文 を 使 用 すると 任 意 の 関 数 を 作 成 することができる この 例 において 変 数 a~a4を 引 数 (ひきすう)と 呼 ぶ また Function からの 計 算 結 果 を 返 値 (かえりち)と 呼 ぶ 引 数 や 返 値 の 変 数 型 宣 言 をすることができる ( 本 来 は 宣 言 をすべきであるが 理 解 を 簡 単 にする 目 的 でここでは 宣 言 をしていない ) -7 マクロの 記 録 の 利 用 エクセルには マクロの 記 録 という 機 能 が 付 属 している 複 雑 な 操 作 に 対 するマクロを 作 成 す る 際 この 機 能 は 非 常 に 便 利 である 図 のように Sheet に 適 当 なデータを 入 力 してから マクロ の 記 録 をクリックし 図 のようにセルに 色 を 付 けたり 枠 を 付 けたりしてから 記 録 終 了 をクリック せよ セルの 塗 りつぶしと 枠 を 元 に 戻 してから 開 発 マクロ と 指 定 し Macro を 実 行 すると 記 録 された 内 容 が 実 行 される 同 様 にして Macro の 内 容 を 編 集 によって 見 ることができるば かりか この 標 準 モジュール 内 に 自 動 的 に 作 成 されたプロシージャを 適 宜 コピーして 他 のプロシ ージャで 利 用 することができる この 方 法 を 用 いれば グラフ 作 成 や 印 刷 などエクセルの 多 くの 複 雑 な 操 作 を 自 作 のプロシージャの 中 に 使 用 することができる また マクロの 命 令 を 思 い 出 せな いときにも 実 際 にエクセルのセルを 使 用 して 操 作 し これを 記 録 することによって マクロの 命 令 を 簡 単 に 調 べることもできる
3
レポート 課 題 ていれば 57re.xls である ) 以 下 に 示 すように 流 速 を ScrollBar で ~ m/s の 間 で 変 化 させたとき Reynolds 数 を 自 動 計 算 して 流 れのパターン( 層 流 遷 移 域 乱 流 )を 判 定 するユーザーフォームとそのコー ドを 作 成 せよ また エクセルのファイルを 読 み 込 むと 同 時 にユーザーフォームが 表 示 され かつ 計 算 を 連 続 実 行 するようにせよ 提 出 期 限 本 日 中 ( 深 夜 4 時 まで) レポート 提 出 方 法 レポート 提 出 用 の Webページから 提 出 するこ と htt://ka3serv.eng.shizuoka.ac.j/reortdata / ファイルは Excel97-3 形 式 ( 拡 張 子 が xls ) で 保 存 し ファイル 名 は 学 籍 番 号 8ケタ + re とせよ 例 えば 57 の 学 生 の 場 合 には 57re となる ( 拡 張 子 まで 表 示 され 4
第 章 行 列 目 的 開 発 製 造 現 場 で 大 活 躍 できる 全 ての 分 野 のエンジニアは PCで 行 列 を 応 用 する 能 力 が 必 要 である 会 社 での 仕 事 ( 研 究 開 発 )において 連 立 方 程 式 の 解 法 や 座 標 変 換 などでは 行 列 を 利 用 して 計 算 をすると 効 率 が 非 常 に 高 くなることが 多 い マイクロソフト 社 のエクセルには 行 列 を 計 算 する 機 能 がある この 機 能 を 知 らないと 損 である - 行 列 式 の 値 Sheet の 適 当 な 場 所 ( 図 では A:C4に 3 行 3 列 の 行 列 を 作 成 せよ ( 数 値 は 適 当 で 良 い ) 別 の 適 当 なセルに 行 列 式 の 値 を 求 める 関 数 =MDETER M(A:C4) を 入 力 せよ 行 列 の 範 囲 指 定 は SUMなどで 範 囲 を 指 定 するときと 同 様 に マウスで 範 囲 選 択 をすることができる - 転 置 行 列 転 置 行 列 を 求 める 操 作 は 少 々 複 雑 である 以 下 の 操 作 を 順 番 に 実 施 すること セル AからC3に 適 当 な 行 3 列 の 行 列 を 作 成 せよ セルEをクリックし =TRANSPOSE( A:C3 )と 入 力 し エンターを 押 す すると Eのセルの 表 示 は #VALUE! となる このとき 行 列 の 範 囲 はマウスで 選 択 可 能 である 3 転 置 行 列 が 出 力 されるセル E~F4を 選 択 する 4 数 式 バーをクリックする ( 図 示 した 状 態 ) 5 Ctlr キーと Shift キーを 同 時 に 押 しながら Enter キーを 押 す 重 要! この 操 作 によって 行 列 が 目 的 セルに 展 開 される 5
なお 得 られた 行 列 を 削 除 する 際 には 全 てのセルを 同 時 に 削 除 する 必 要 がある ( 個 別 のセ ルは 削 除 できない ) 6
-3 逆 行 列 逆 行 列 を 求 める 操 作 は 転 置 行 列 を 求 める 操 作 とほぼ 同 様 である ( 当 然 ながら 関 数 は 異 なる) 以 下 の 操 作 を 順 に 行 う セル A~C3に 3 行 3 列 の 行 列 を 入 力 せよ (ランダムな 数 値 を 入 力 せよ ) セル Eをクリックし =MINVERSE(A:C4) と 入 力 し エンターを 押 す すると Eのセルに のみ 逆 行 列 の 値 が 表 示 される このとき 行 列 の 範 囲 はマウスで 選 択 可 能 である 3 逆 行 列 が 出 力 されるセル E~G4を 選 択 する 4 数 式 バーをクリックする ( 図 示 した 状 態 ) 5 Ctlr キーと Shift キーを 同 時 に 押 しながら Enter キーを 押 す 重 要! この 操 作 によって 行 列 が 目 的 セルに 展 開 される 7
-4 行 列 の 積 行 列 の 積 は MMULT 関 数 を 使 用 する 使 用 法 は TRANSPOS E や MINVERSE 関 数 と 同 様 である 図 を 参 考 にして 実 施 せよ 行 列 を 展 開 する 際 には 同 様 に Ctlr キーと Shift キーを 同 時 に 押 しながら Enter キーを 押 す 8
-5 連 立 次 方 程 式 を 解 く 逆 行 列 と 行 列 の 積 を 使 用 すると 連 立 次 方 程 式 の 解 を 極 めて 簡 単 に 求 めることができる こ こでは 例 として 以 下 の 連 立 次 方 程 式 の 解 を 求 める 8X+ Y- 3Z - = X - Y+ Z = -7X + YZ = この 連 立 次 方 程 式 を 行 列 を 用 いて 表 現 する 8-3 X - - Y = -7 Z これをAX=Bで 表 現 すれば 解 は X=A-Bとなる すなわち 連 立 一 次 方 程 式 の 係 数 の 行 列 の 逆 行 列 を 求 め これに 連 立 一 次 方 程 式 の 右 辺 の 行 列 との 積 を 求 めればよい 図 のように 連 立 一 次 方 程 式 の 係 数 と 右 辺 の 数 値 を 入 力 し 解 を 出 力 させるセル( 図 では G) に =MMULT(MINVERSE(A :C4),E:E4) を 入 力 する 前 項 までと 同 様 に 解 の 行 列 を 展 開 せよ この 例 では X=,Y=,Z=3が 解 である 9
-6 座 標 変 換 行 列 の 積 を 用 いると 座 標 変 換 ができる ここでは 一 例 として 原 点 を 中 心 とした 図 形 の 回 転 を 試 す 元 の 座 標 値 (x,y) に 対 して 角 度 θだけ 回 転 した 座 標 (x,y )は x cos( θ) sin( x = y θ) sin( cos( θ) y で 求 められる 3 4 5 6 7 図 のように Sheet の 行 目 と3 行 目 に 変 換 元 となる 座 標 値 (x,y) の 組 み 合 わせを 組 作 成 せよ 図 の 例 では y = としている セル x AとA3には XとYと 項 目 を 記 入 しておく セ ル A5とA6も 同 様 セル C~Dに cos( θ)あるいは sin( 等 に 相 当 する 式 を 入 力 せよ 例 えばセル Cは =COS(B8/36**PI()) とせよ セル B5をクリックし =MMULT($C$:$D$,B:B3) と 入 力 し Enter キーを 押 す 数 式 バーをクリックしてから Ctlr キーと Shift キーを 同 時 に 押 しながら Enter キーを 押 し て セル B5とB6に 行 列 を 展 開 する セル B5とB6を 選 択 し その 書 式 をセル C5~L6にコピーする デザインモードで Sheet に つの CommandButton を 設 定 し 以 下 のコードを 入 力 する デザインモードを 終 了 し CommandButton をクリックし 図 形 が 回 転 することを 確 認 せよ
Private Sub CommandButton_Click() For i = To 36 Ste DoEvents End Cells(8, ) = i inext Sub Private Sub End End Sub CommandButton_Click()
レポート 課 題 最 後 の 例 題 に 改 造 を 加 え 適 当 な 文 字 や 図 形 を 回 転 させるファイルを 作 成 せよ レポート 提 出 方 法 レポート 提 出 用 の Webページから 提 出 すること htt://ka3serv.eng.shizuoka.ac.j/reo rtdata/ ファイルは Excel97-3 形 式 ( 拡 張 子 が xls )で 保 存 し ファイル 名 は 学 籍 番 号 8ケタ + re とせよ 例 えば 57 の 学 生 の 場 合 には 57re となる ( 拡 張 子 まで 表 示 されていれば 57re.xls である ) 提 出 期 限 本 日 中 ( 深 夜 時 まで)
第 3 章 フーリエ 級 数 とフーリエ 変 換 目 的 開 発 製 造 現 場 で 大 活 躍 できる 全 ての 分 野 のエンジニアは 信 号 処 理 や 制 御 の 能 力 が 必 要 である 交 流 信 号 を 扱 う 際 には 時 間 軸 を 基 準 に 考 えるだけでなく 周 波 数 を 基 準 に 考 えることの できる 能 力 が 必 要 となる 本 章 では 時 間 によって 変 化 する 信 号 を 周 波 数 成 分 として 分 析 すること のできる Fourier 級 数 および Fourier 変 換 をコンピュータ シミュレーションによって 視 覚 的 に 学 習 することを 目 的 とする フーリエ 変 換 は 極 めて 基 本 的 な 概 念 であり 工 学 を 学 ぶ 学 生 諸 君 は フー リエ 変 換 を 理 解 していないと 就 職 してから 会 社 での 仕 事 で 恥 をかくことになる []Fourier 級 数 時 間 と 共 に 周 期 で 変 動 する 関 数 f(t) は () 式 の Fourier 級 数 で 表 現 することができる これを 実 験 的 に 確 認 してみる 操 作 方 法 エクセルのファイル フーリエ 級 数.xls を 開 く マクロを 含 んでいるので マクロを 有 効 にする このプログラムは () 式 のグラフを 描 画 するだけの 単 純 なものである () 式 の 係 数 an およびb n として 表 ~ 表 7に 示 したパラメータを 入 力 して どのような 周 期 波 形 が 合 成 できるか 図 示 せよ Reset でグラフ 等 を 初 期 化 できる f ( t a ) = t + a cos + a t + b sin + b t cos + t sin + + a + b n n nt cos + nt sin + ( ) 表 波 形 合 成 パラメータNo. n 3 4 5 6 7 8 9 cos 5 sin - 表 波 形 合 成 パラメータNo. n 3 4 5 6 7 8 9 cos sin - 5 表 3 波 形 合 成 パラメータNo.3 n 3 4 5 6 7 8 9 cos 5 sin - 5 3
表 4 波 形 合 成 パラメータNo.4 n 3 4 5 6 7 8 9 cos 3 - -. -. -.6 sin -.5 表 5 波 形 合 成 パラメータNo.5 n 3 4 5 6 7 8 9 cos 5 - -. -.9 -.5 -.3 sin - 表 6 波 形 合 成 パラメータNo.6 n 3 4 5 6 7 8 9 cos 5-3.73.3 -.585.38 -.56 sin - -.33.33 -.33.33 -.33 表 7 波 形 合 成 パラメータNo.7 n 3 4 5 6 7 8 9 cos9.6-.33 -.33 -.33 -.33 -.33 -.33 -.33 -.33 -.33 -.33 sin- -3.73 -.57 -.3-.754 -.585 -.468 -.38 -.3 -.56 -.9 []Fourier 変 換 任 意 の 周 期 関 数 f(t) に 対 して コンピュータを 使 用 することによって () 式 の 係 数 an およびb n を 簡 単 に 求 めることができる 係 数 a n およびb n は () 式 から 判 るように f(t) の 周 波 数 成 分 毎 の 強 度 を 表 現 したものである すなわち 関 数 f(t) は 周 波 数 を 変 数 とした 係 数 an およびb n を 用 い て 離 散 的 に 表 現 することができる つまり 時 間 を 変 数 とする 周 期 関 数 f(t) を 周 波 数 を 変 数 とす る 関 数 F(f) として 表 現 することができることが 推 測 できる 時 間 を 変 数 とした 関 数 f(t) を 周 波 数 を 変 数 とした 関 数 F(f) に 変 換 することをFourier 変 換 という また その 反 対 に 周 波 数 を 変 数 とした 関 数 F(f) を 時 間 を 変 数 とした 関 数 f(t) に 変 換 することを 逆 Fourier 変 換 という []で 試 した 操 作 は 逆 Fourier 変 換 を 実 施 したことになる 操 作 方 法 3 エクセルのファイル fft.xls を 開 く マクロを 含 んでいるので マクロを 有 効 にする 周 期 関 数 f(t) をデータ 番 号 番 から3 番 の 3 点 のデータで 離 散 的 に 入 力 する 入 力 する 周 期 関 数 として 表 8に 示 したものを 適 用 する コマンドボタン FFT を 押 すと FFTがマクロで 実 行 されるので 計 算 結 果 を 入 力 と 共 にグラフ で 描 け 4
表 8 関 数 f (t) cos( πt) cos(4 πt) 3 cos(8 πt) 4 sin(4 πt) 5 cos( πt) +sin(4 πt) 6 sin( πt) 秒 < t <.5.5 t < 秒 7 t 秒 < t < 表 9 周 波 数 波 形 波 形 波 形 3 波 形 4 実 数 虚 数 実 数 虚 数 実 数 虚 数 実 数 虚 数 5-3 -. 4 5 -.9 6 7 -.5 8 9 -.3 3 4 5 6 5
[3] 逆 Fourier 変 換 周 期 関 数 f(t) を 構 成 する 周 波 数 成 分 (すなわち 周 波 数 を 変 数 とする 関 数 F(f) )を 指 定 し これか ら 時 間 を 変 数 とした 関 数 f(t) を 求 めることを 逆 Fourier 変 換 という 逆 Fourier 変 換 を 幾 つかの 例 で 体 験 してみる 操 作 方 法 3 エクセルのファイル fft.xls を 開 く マクロを 含 んでいるので マクロを 有 効 にする 表 9に 示 した 周 波 数 データを 入 力 し 逆 FFTを 実 行 する コントロールボタン 逆 FFT を 押 す と 逆 FFTがマクロで 実 行 されるので 計 算 結 果 を 画 面 にて 確 認 せよ 逆 FFTを 実 施 した 結 果 に 対 して FFTを 実 施 しても 元 の 周 波 数 データが 変 化 しないことを 確 認 せよ FFTとは Fast Fourier ( 高 速 フーリエ Transform 変 換 )の 略 であり サンプル 数 がのべき 乗 で あるときにFour ier 変 換 を 極 めて 短 時 間 に 計 算 できるアルゴリズムである サンプル 数 がのべき 乗 でない 場 合 には DFT;Discrete Fourier ( 離 散 フーリエ Transform 変 換 )にて 計 算 しなければなら ない データ 数 が Nのとき DFTではおよそN 回 の 計 算 が 必 要 であるが FFTでは (N/)log N 回 の 計 算 ですむ レポート 提 出 方 法 全 ての 結 果 (グラフ)を 適 切 な 項 目 名 と 共 に Wordに 張 り 付 け ファイルを 提 出 する 提 出 先 は 授 業 用 の Web 提 出 ページである htt://ka3serv.eng.shi zuoka.ac.j/reortdata/ ファイル 名 は 学 籍 番 号 8ケタ + re3 Word97-3 の 形 式 で 提 出 すること 提 出 期 限 実 習 実 施 日 を 含 めて 日 以 内 参 考 :Fourier 変 換 式 の 導 出 () 式 の 係 数 an およびb n は つぎのように 求 めることができる 先 ず a を 求 める () 式 の 両 辺 をt=からt= の 範 囲 で 積 分 する a t t ò f ( t) dt = + cos + cos + ò dt a ò dt a ò dt + b ò t sin dt + b ò t sin dt + + b nt sin dt + 右 辺 は その 第 項 を 除 き 全 てゼロとなるので a は (3) 式 のようになる 6 n ò + a n ò nt cos dt + ()
a = ò f ( t) dt (3) nt つぎに a n を 求 める () 式 の 両 辺 にcos を 乗 じてから その 両 辺 をt=からt= の 範 囲 で 積 分 する ò nt a f ( t) cos dt = 右 辺 は a n = + b ò ò ò cos ò nt cos dt + a t nt sin cos dt + nt = nt f ( t)cos dt ò t nt cos cos dt + + b n ò nt nt sin cos dt + + a n ò cos nt + を 含 む 項 を 除 き 全 てゼロとなるので a n は(5) 式 のようになる (5) これは n=のとき (3) 式 の a と 同 値 となるので ( n ³ ) つぎに b n を 求 める () 式 の 両 辺 に 積 分 する ò nt a f ( t)sin dt = 右 辺 は b n = + b ò ò ò cos ò nt sin dt + a t nt sin sin dt + nt = nt f ( t)sin dt 以 上 をまとめると () 式 は で 有 効 となる nt sin を 乗 じてから その 両 辺 をt=からt= の 範 囲 で ò t nt cos sin dt + + b n ò sin の 項 を 除 き 全 てゼロとなる (7) nt dt + + a a ( ) å æ nt nt ö f t = + çan cos + bn sin (8) n= è ø と 書 き 換 えられ その 係 数 an およびb n は (5) 式 および(7) 式 で 求 められる nt an = ò f ( t)cos dt ( n ³ ) (5) b n = ò nt f ( t)sin dt ( n ³ ) (7) n ò (6) (4) nt nt cos sin dt + ix -ix ix -ix e + e e - e cos x =, sin x = を 用 いれば これら(8)(5 )および(7) 式 はつぎのように 表 現 できる 7
a f ( t) = + å n= nit / -nit / nit / æ e + e e - e çan + bn è -nit / ö ø (9) a f ( t) = + c å n= æ an - ibn nit / an + ib ç e + è n e -nit / ö ø () a an - ibn an + ibn = cn = c- n = () と 定 義 すれば f ( t) = å n= - C n e nit () C n = ò - f ( t) e nit - dt (3) f ( t ) = å n = - æ ç ç è ni t - f ( t ) e dt - ö ø ò e ni t (4 ) () 式 から n=の 周 期 関 数 の 周 期 は ( 周 波 数 は /)であることが 判 る また n=の 周 期 関 数 の 周 期 は /( 周 波 数 は /)であることが 判 る 同 様 に n=nの 周 期 関 数 の 周 期 は / n( 周 波 数 は n/)であることが 判 る よって とnの 変 わりに 周 波 数 fを 用 いて(6) 式 を 表 現 す ることができる すなわち n f = Df = と 書 き 換 えると (5) 式 となる f ( t) n=- ç æ è = å ò - f ( t) e -ift dt ö ø e ift Df (5) ここで Df とすれば å は ò で 表 現 できる また となる すなわち f ( t) = ò - ç æ è ò - f ( t) e -ift dt öe ø ift df (6) ò - -ift H ( f ) = f ( t) e dt (7) とおけば f ( t) = ò - H ( f ) e i ft df (8) すなわち (7) 式 が Fourier 変 換 (8) 式 が 逆 Fourier 変 換 を 表 現 する 式 となる 8
第 4 章 PID 制 御 シミュレーション 目 的 開 発 製 造 現 場 で 大 活 躍 できる 全 ての 分 野 のエンジニアは 装 置 を 制 御 する 能 力 が 必 要 であ る 化 学 装 置 を 含 むほとんどの 産 業 機 器 では 電 子 工 学 的 な 制 御 が 使 用 されている 例 えば 反 応 器 内 の 温 度 を 一 定 に 保 ったり 流 体 の 流 量 を 一 定 に 保 ったりすることのできる 能 力 が 必 要 であ る また 装 置 の 立 ち 上 げやシャットダウン 時 には 所 定 の 温 度 変 化 や 流 量 変 化 に 従 って 温 度 や 流 量 等 を 制 御 しなければならない PID 制 御 は このような 制 御 を 精 度 良 く 実 現 する 方 法 である 本 章 では 恒 温 槽 内 の 油 の 温 度 をPID 制 御 するシミュレーションによって 制 御 法 の 概 略 を 視 覚 的 に 学 習 することを 目 的 とする 理 論 機 器 の 制 御 法 として 大 きく 分 類 すると 次 の 種 類 に 分 かれる () oen 制 loo 御 法 NC( 数 値 ) 制 御 など () feed 制 back 御 法 ON-OFF 制 御,PID 制 御 など oen 制 loo 御 法 は 制 御 したい 変 数 ( 制 御 量 という)( 例 : 位 置 )を 別 の 変 数 ( 例 : 時 刻 )によっ て 予 め 設 定 された 関 係 式 によって 制 御 する 方 法 である 例 えば パソコンのプリンターに 使 用 さ れているステッピングモータは 期 待 どおりの 角 度 だけ 回 転 するものとして 制 御 されており もしも 期 待 した 位 置 からずれていても( 脱 調 しても) そのずれが 修 復 されることは 無 い 一 方 温 度 制 御 装 置 等 において 広 範 に 使 用 されているfeed ( back 負 帰 還 ) 制 御 法 では 制 御 したい 変 数 ( 制 御 量 )( 例 : 温 度 )を 測 定 して 常 にその 目 標 値 との 偏 差 を 小 さくするようにコントローラの 出 力 ( 操 作 量 )が 制 御 されている この 例 のように feed との 差 を 用 いて 操 作 量 が 常 に 修 正 される feed 制 back 御 法 には いくつかの 代 表 的 な 制 御 方 法 がある () ON-OFF 制 御 制 back 御 法 においては 制 御 量 の 目 標 値 と 実 測 値 () 比 例 制 御 (P 制 御 ;Proortional ) control (3) 比 例 - 積 分 制 御 (PI 制 御 ;Proortional -Integral ) control (4) 比 例 - 積 分 - 微 分 制 御 (PID 制 御 ;Proortional -Integral -Derivative ) 一 例 として 本 章 で 扱 うような ヒーターによって 温 度 を 一 定 値 に 制 御 することを 想 定 してこれら を 説 明 すると つぎのようになる ON-OFF 制 御 は 図 に 示 すように 制 御 量 ( 温 度 )が 目 標 値 よりも 小 さい 場 合 にはヒーター 電 流 をON 大 きい 場 合 にはOFFとする 非 常 に 単 純 な 制 御 法 である 具 体 的 な 例 としては バイ メタルを 用 いたサーモスタット( 例 : 熱 帯 魚 の 水 槽 の 水 温 制 御 コタツの 温 度 制 御 )がある ON- OFF 制 御 では 制 御 量 が 目 標 値 付 近 で 振 動 し その 制 御 精 度 は 比 較 的 低 い 比 例 制 御 は 目 標 値 と 現 在 値 との 偏 差 の 大 きさに 比 例 した 電 力 をヒーターに 出 力 する 方 法 であ る 比 例 制 御 を 用 いると ON-OFF 制 御 よりも 精 度 の 高 い 制 御 ができる しかしながら 図 に 示 すように 比 例 制 御 においても 偏 差 をゼロにすることはできない これは ある 程 度 の 大 きさを 持 9 control
った 偏 差 と 操 作 量 とがバランスしており バランスを 保 つためには ゼロでは 無 い 偏 差 が 必 要 であ るからである また 比 例 制 御 の 感 度 を 極 端 に 高 く 設 定 すると ON-OFF 制 御 に 近 づき 制 御 量 ( 温 度 )が 振 動 してしまう 比 例 制 御 における 制 御 量 の 目 標 値 SV(t) 現 在 値 PV(t) 偏 差 x(t) との 関 係 を() 式 のように 定 義 する x( t) = SV ( t) - PV ( t) () 比 例 制 御 における 操 作 量 の 出 力 (ヒーターへ 通 電 する 電 力 )y(t) は () 式 で 表 現 される y( t) = K x( t) () K は 比 例 感 度 である すなわち 制 御 量 の 偏 差 ( 目 標 温 度 からのずれ)に 比 例 した 操 作 量 (ヒ ーター 電 力 )を 出 力 する 方 法 である なお () 式 の 右 辺 に 操 作 量 のオフセット( 初 期 値 )を 加 える 方 法 もあり 適 切 なオフセットを 与 えると 比 例 制 御 における 偏 差 を 小 さくすることができる PI 制 御 は 比 例 制 御 の 機 能 に 加 えて 制 御 量 の 偏 差 の 時 間 的 積 分 値 を 利 用 して 比 例 制 御 で は 補 正 できない 定 常 的 に 存 在 する 偏 差 をほぼゼロにすることのできる 制 御 方 法 である PI 制 御 法 を 数 式 で 表 現 すると (3) 式 となる y( t ) = K x( t ) + K I x( t )dt ( 3 ) ò t K I は 積 分 感 度 である 例 えば 制 御 量 ( 温 度 )が 定 常 的 に 目 標 温 度 よりも 小 さい 場 合 には 制 御 量 の 偏 差 の 積 分 値 が 増 大 し 操 作 量 (ヒーター 電 流 )を 増 大 させることができる PID 制 御 は PI 制 御 の 機 能 に 加 えて 制 御 量 の 偏 差 の 時 間 的 微 分 値 を 利 用 して 外 乱 や 目 標 値 の 変 化 に 対 する 応 答 性 能 を 高 めたものである PID 制 御 法 を 数 式 で 表 現 すると(4) 式 となる K D は 微 分 感 度 である y( t t dx( t ) ) = K x( t ) + K I ò x( t )dt + K D ( 4 ) dt ヒーターの 例 で (4) 式 を 言 葉 で 表 現 すると つぎのようになる 出 力 パワー = t d dt ( 比 例 感 度 )( 偏 差 ) + ( 積 分 感 度 ) ò ( 偏 差 ) dt + ( 微 分 感 度 ) ( 偏 差 ) 擬 人 的 な 表 現 をすれば それぞれの 制 御 法 は つぎのように 表 現 できる <P 制 御 > 現 在 の 状 態 のみから 判 断 して 現 在 値 を 補 正 する 方 法 <PI 制 御 > 過 去 の 反 省 と 現 在 の 状 態 から 現 在 値 を 補 正 する 方 法 <PID 制 御 > 過 去 の 反 省 現 在 の 状 態 および 未 来 の 予 測 から 現 在 値 を 補 正 する 方 法 なお 積 分 感 度 K I は 積 分 時 間 TI を 用 いて K と 表 現 することもある また 微 分 感 度 T I K D は 微 分 時 間 T を 用 いて KT と 表 現 することがある すなわち 一 般 的 には (4) 式 は (5) 式 のよう D に 表 現 される D 3
目 標 値 温 度 最 大 出 力 ヒーター 出 力 図 ON-OFF 制 御 目 標 値 時 刻 温 度 最 大 出 力 ヒーター 出 力 図 比 例 制 御 時 刻 目 標 値 温 度 ヒーター 出 力 最 大 出 力 図 3 PI 制 御 時 刻 目 標 値 温 度 最 大 出 力 図 4 PID 制 御 ヒーター 出 力 時 刻 3
y( t ) K = K x( t ) + x( t )dt + KT T ò t dx( t ) dt D 5 I ( ) 操 作 方 法 [. 定 値 制 御 ] 図 5に 示 すような 油 の 入 った 恒 温 槽 の 温 度 制 御 をシミュレーションする 演 習 では (4) 式 に 従 って K を 比 例 感 度 K を 積 分 感 度 K を 微 分 感 度 として 変 化 させてみる I D PIDコントローラー 温 度 センサー 電 源 恒 温 槽 図 5 温 度 制 御 を 想 定 する 装 置 ヒーター ファイル PID.xls を 実 行 する 表 に 示 したパラメータにてシミュレーションを 行 い その 温 度 変 化 等 を 所 定 の 用 紙 に 記 入 せ よ 表 操 作 パラメータ 比 例 感 度 積 分 感 度 微 分 感 度 遅 れ 初 期 温 度 ゆらぎ 自 動 / 手 動 3 無 し 自 動 3 無 し 自 動 3 3 無 し 自 動 4 3 無 し 自 動 5 無 し 自 動 6 3 5 無 し 自 動 7 3 5 9 無 し 自 動 8 - - - ON 手 動 9 3 5 9 ON 自 動 3 5 9 ON 自 動 下 線 ( 太 字 )で 表 現 した 部 分 が 変 更 すべきパラメータである 3
[.プログラム 制 御 ] ファイル PIDro.xls を 実 行 する 遅 れ 時 間 が 秒 になっていることを 確 認 せよ 手 動 にて 画 面 に 表 示 された 温 度 変 化 曲 線 に 従 って 温 度 を 制 御 してみよ 3 次 に 自 動 ( 比 例 感 度 5 積 分 感 度 5 微 分 感 度 5)にて 制 御 してみよ レポート 提 出 方 法 全 ての 結 果 (グラフ)を 適 切 な 項 目 名 と 共 に Wordに 張 り 付 け ファイルを 提 出 する 提 出 先 は 授 業 用 の Web 提 出 ページである htt://ka3serv.eng.shi zuoka.ac.j/reortdata/ ファイル 名 は 学 籍 番 号 8ケタ + re4 Word97-3 の 形 式 で 提 出 すること 提 出 期 限 実 習 実 施 日 を 含 めて 日 以 内 ( 参 考 :PID 制 御 における 伝 達 関 数 ) (5) 式 は 時 刻 を 変 数 として 制 御 量 の 偏 差 x(t) と 操 作 量 y(t) との 関 係 を 表 現 している (5) 式 に 対 してラプラス 変 換 を 適 用 すると (5) 式 は 周 波 数 を 変 数 として 簡 素 に 表 現 することができる (5) 式 の 両 辺 をLalace 変 換 する 偏 差 x(t) をラプラス 変 換 すると X ( s ) 制 御 変 数 y(t) をラプラス 変 換 すると Y ( s ) となる x(t) の 積 分 項 および 微 分 項 のラプラス 変 換 に 対 しては (6) および(7) 式 の 公 式 を 適 用 す る t ì ü Lí x( t )dtý = X( s ) ( 6 ) î ò s þ ìdx( t ) ü Lí ý = sx ( s ) - x( ) ( 7 ) î dt þ すなわち (5) 式 をラプラス 変 換 すると(8) 式 となる Y( s ) K = KX ( s ) + X( s ) + KTDsX ( s ) ( 8 ) 但 し x ( ) = とする T s I 偏 差 X( s ) と 操 作 量 Y( s ) とは 伝 達 関 数 G( s ) を 用 いて(9) 式 で 表 現 できる Y( s ) = G( s )X( s ) ( 9 ) (8) 式 を(9) 式 の 形 に 整 理 すると PID 制 御 の 伝 達 関 数 G(s) が () 式 となることが 判 る G( s ) = Y( s ) X ( s ) æ K TDs TI s ö = ç + + è ø ( ) 33
<ラプラス 変 換 > ラプラス 変 換 対 は 周 期 関 数 に 限 定 されるFourier 変 換 対 () をステップ 関 数 などの 非 周 期 関 数 に 適 用 できるようにしたもので () 式 で 求 められる f ( t f ( t ) ò - ò - i ) H( f )e ft -i ft = df H( f ) = f ( t )e dt ( ) i ò -i ò st - st = F( s )e ds F( s ) = f ( t )e dt s = if ( ) ラプラス 変 換 表 時 間 関 数 ラプラス 変 換 d (t) t n t at e - ( n - ) sin cos - e at - e at t n- e ( w t) ( w t) sin cos -at ( w t ) ( w t) s s n! s n+ s + a ( s + a) n s s w + w s + w w ( s + a) + w s + a ( s + a) + w 34
第 5 章 伝 導 伝 熱 シミュレーション 目 的 開 発 製 造 現 場 で 大 活 躍 できる 全 ての 分 野 のエンジニアは 簡 単 な 伝 熱 の 計 算 ができなければならない 特 に 化 学 系 と 機 械 系 エンジニアは 伝 熱 のシミュレーション 技 術 も 必 要 となる 多 くの 伝 熱 現 象 は 非 常 に 複 雑 であり コンピュータ シミュレーションによって 解 析 する 方 法 が 有 効 である 本 章 では 伝 熱 現 象 として 最 も 基 本 的 である 単 純 化 した 固 体 内 の 伝 導 伝 熱 をシミュレーションすることによって 伝 熱 現 象 の 基 本 を 理 解 す ると 共 に コンピュータ シミュレーションの 基 本 的 方 法 を 理 解 することを 目 的 とする 理 論 操 作 方 法 [] 定 常 次 元 伝 導 伝 熱 ( 先 ず 年 次 の 復 習 から ) 側 面 が 断 熱 された 次 元 の 棒 内 を 長 さ 方 向 に 伝 導 伝 熱 する 状 態 を 考 える( 図 ) 次 元 の 伝 導 伝 熱 を 表 現 するFourier の 式 は 化 学 工 学 基 礎 で 習 得 したとおり () 式 で 表 現 される q A = -k dt dx () これは 単 位 時 間 単 位 面 積 あたりの 伝 熱 量 (q/a) は 温 度 差 ( 温 度 勾 配 )(dt/dx )に 比 例 す る その 比 例 係 数 は 熱 伝 導 率 kである ことを 表 現 している なお マイナス 符 号 は xの 増 加 する 方 向 に 温 度 が 増 加 する 場 合 伝 熱 方 向 が 負 の 方 向 であることを 意 味 していることも 化 学 工 学 基 礎 で 学 んだ コンピュータで 計 算 する 為 に 図 のように 棒 を 有 限 個 数 のセルに 分 割 ( 離 散 化 という)し 数 値 計 算 する ことを 考 える 分 割 された 各 セルの 内 部 温 度 は 均 一 と 考 える 側 面 断 熱 注 目 セル Ti- Ti Ti+ q i- q i+ 図 次 元 伝 導 伝 熱 のモデル 側 面 が 断 熱 された 次 元 の 定 常 伝 熱 では 温 度 分 布 は 直 線 になることが 直 感 的 に 理 解 できる (ここでは 厳 密 な 導 出 は 省 略 する ) 温 度 分 布 が 直 線 になるということは 図 において 注 目 セル T i の 温 度 は 左 側 セルの 温 度 T i- と 右 側 セルの 温 度 T i+ の 平 均 値 になる ということを 意 味 する もしも 注 目 セルの 温 度 が 両 側 の 平 均 値 になっていないと 左 側 からの 伝 熱 量 qi - と 右 側 への 伝 熱 量 qi + に 差 が 生 じ 注 目 セルの 温 度 Tiが 時 間 と 共 に 変 化 してしまう ( 定 常 でなくなる ) 35
Tiが 左 右 の 温 度 の 平 均 値 になることを 式 で 表 現 すれば T i Ti - + i+ = T () となる また もしも 端 が 断 熱 とする 必 要 がある 場 合 には 端 部 分 のつのセル 温 度 が 等 しい という 条 件 設 定 をすれば 良 い すなわち 温 度 差 が 無 ければ Fourier の() 式 から 判 るように 伝 熱 量 がゼロとなる < 操 作 方 法 > ( 先 ずは 単 純 な 例 から 開 始 ) ファイル 定 常 次 元 伝 熱 を 開 く シートの 説 明 を 読 む シートを 開 く 計 算 方 法 を 手 動 に 変 えよ (Office3 以 前 では ツール オプション 計 算 方 法 手 動 ) (Office7 では Microsoft ボタンOffice Excel のオプション 数 式 タブ 手 動 ) 3 両 端 のセル 以 外 のセル 全 てに T i =(T i- +T i+ )/に 相 当 する 数 式 を 代 入 せよ 4 左 端 のセルに 適 当 な 温 度 ( 例 えば )を 入 力 し 右 端 のセルにも 適 当 な 温 度 ( 例 えば )を 入 力 せ よ 5 F9( 再 計 算 キー)を 押 し 棒 内 部 の 温 度 分 布 が 収 束 するまで 反 復 計 算 させ 収 束 した 結 果 を 図 示 せよ 必 要 に 応 じ 再 計 算 における 計 算 回 数 の 設 定 を 変 更 すること (Office7 では 変 更 が 必 要 である ) 6 シート3を 開 き 同 様 に 両 端 のセル 以 外 のセル 全 てに T i =(T i- +T i+ )/に 相 当 する 数 式 を 代 入 せよ 7 右 端 のセルに 断 熱 の 条 件 を 入 力 せよ すなわち 断 熱 の 条 件 とは 温 度 勾 配 がゼロである ことであ る 具 体 的 には 右 端 のセルとその 隣 のセルの 値 が 常 に 等 しくなるようにする 8 左 端 のセルに 適 当 な 温 度 ( 例 えば )を 入 力 し F9( 再 計 算 キー)によって 収 束 値 を 求 め 図 示 せよ 9 終 了 時 には ファイルを 保 存 しないこと ( 保 存 する 必 要 がある 場 合 には 別 名 とすること ) [] 定 常 次 元 伝 導 伝 熱 次 元 の 定 常 伝 導 伝 熱 は 直 感 的 に 理 解 できた では 次 元 では どのようになるか 考 えてみる 次 元 の 場 合 も 次 元 のときと 同 様 に 注 目 セル T i の 温 度 は 周 囲 のセル 温 度 の 平 均 値 になる 次 元 の 場 合 であっても もしも 注 目 セルの 温 度 が 周 囲 の 平 均 値 でない 場 合 には 注 目 セルへの 伝 熱 量 のバ ランスが 崩 れ 注 目 セルの 温 度 が 時 間 と 共 に 変 化 してしまい 非 定 常 となる ( 図 ) 式 で 表 現 すれば T i, j T = i-, j + Ti +, j + Ti, j- + 4 T i, J + となる 必 要 のあることが 直 感 的 に 理 解 できる (3) 36
Ti,j- Ti-,j Ti,j Ti,j+ Ti,j+ 図 次 元 定 常 伝 導 伝 熱 定 常 ならば T i,j は 周 囲 の 平 均 値 < 操 作 方 法 > ファイル 定 常 次 元 伝 熱 を 開 き 説 明 書 きを 読 んでから sheet を 開 き 計 算 方 法 を 手 動 に 変 えよ 厚 さ 方 向 に 温 度 差 の 無 い 正 方 形 の 表 面 を 持 つ 板 状 の 固 体 内 部 の 伝 導 伝 熱 を 考 える 板 は x,yそれぞ れの 方 向 に 分 割 されて 表 現 されている 3 周 囲 を 除 く 全 てのセルに(3) 式 に 相 当 する 式 を 代 入 せよ 4 周 囲 4 辺 のセルに 一 定 温 度 ( 例 えば )を 与 えよ 次 に 板 の 中 央 付 近 の 一 点 に 一 定 温 度 ( 例 えば )を 与 えよ 5 F9キー( 再 計 算 キー)を 用 いて 再 計 算 を 実 行 し 計 算 結 果 が 収 束 するまで 繰 り 返 し その 結 果 を 図 示 せ よ (グラフが 変 化 しないときは グラフを 選 択 し 右 クリックし 元 データ とし 列 と 行 のチェックを 入 れ 替 える ) 6 4で 一 定 温 度 ( 例 えば )を 与 えたセルにを 代 入 してから F9( 再 計 算 キー)を 用 いて 再 計 算 を 実 行 し 全 てのセルがゼロになるまで 再 計 算 させ 元 の 状 態 に 戻 す 7 板 の 周 囲 の4 辺 に 相 当 するセルに 断 熱 条 件 を 設 定 せよ 具 体 的 には 図 3に 示 すように 周 辺 のセルの 値 がその 中 央 側 の 隣 りのセルと 同 じ 値 となるように 設 定 する 角 のセルには その 両 隣 りのセルの 平 均 値 が 計 算 されるように 数 式 を 入 れよ 8 板 中 央 付 近 の 点 (4で 使 用 したセルと 同 一 セル)に 一 定 温 度 ( 例 えば )を 与 えよ 9 F9キーを 用 いて 再 計 算 を 実 行 し 計 算 結 果 が 収 束 するまで 繰 り 返 し その 結 果 を 図 示 せよ 終 了 時 には ファイルを 保 存 しないこと ( 保 存 する 必 要 がある 場 合 には 別 名 とすること ) なお この 計 算 において グラフが 動 いて 表 示 されるが 時 刻 による 変 化 を 示 しているのではない 収 束 値 を 求 めるために トライアンドエラーで 反 復 計 算 しているので グラフが 変 化 していることに 注 意 するこ と 37
C A B 図 3 断 熱 条 件 の 設 定 セル Cの 温 度 は セル AとセルBの 平 均 値 を 代 入 せよ [3] 非 定 常 次 元 伝 導 伝 熱 図 に 示 した 棒 内 の 非 定 常 な 伝 導 伝 熱 を 考 える D t 秒 間 に i 番 目 の 注 目 セルの 温 度 が D する ( 図 4 参 照 ) Dx は セルの 間 隔 である T i だけ 上 昇 したと 側 面 断 熱 注 目 セル Dx Ti- q i- Ti Ti+ q i+ A q 入 った 量 ( Ti -Ti -ka ) Dt Dx r c DxA DT - i- = 出 た 量 ( Ti + -Ti ) qi+ = -ka Dt Dx Dt たまった 量 図 4 次 元 非 定 常 伝 導 伝 熱 のモデル i D t 秒 間 に 左 側 のセル( 温 度 T i- )から 注 目 セル( 温 度 T i )に 移 動 した 伝 熱 量 は () 式 より ( Ti - Ti qi = -ka ) - - Dt (4) ( 注 目 セルに 入 った 量 ) Dx ただし Aは 伝 熱 面 積 Dx は セル 間 の 距 離 である 一 方 注 目 セル( 温 度 T i )から 右 側 のセル( 温 度 T i+ )に 移 動 した 伝 熱 量 は 38
( Ti+ - Ti ) qi+ = -ka Dt (5) ( 注 目 セルから 出 た 量 ) Dx D t 秒 間 に 注 目 セルにたまった 熱 量 は 密 度 比 熱 体 積 上 昇 温 度 時 間 であるので r c DxA DT Dt (6) ( 注 目 セルにたまった 量 ) i 入 った 量 = たまった 量 + 出 た 量 であるから æ Ti -Ti ö æ T + -T ç- ka Dt = i ç è Dx ø è Dx (7) 式 を D T i i i ö ( C DxA DT Dt) + - ka D ø - t r (7) について 解 くと kdt Ti = ( T ) i+ + Ti - Ti r c Dx D - (8) つまり 非 定 常 状 態 での 伝 熱 計 算 では D t 秒 後 の 注 目 セルの 温 度 が (8) 式 の D すればよい T i だけ 増 加 するように 設 定 k なお は 熱 拡 散 係 数 といい 一 般 的 にαと 表 す αは 拡 散 係 数 と 同 じ 次 元 (m /s)を 持 つ r c < 操 作 方 法 > ファイル 非 定 常 次 元 伝 熱 を 開 き 説 明 書 きを 見 よ 3 4 5 6 7 8 9 シートを 開 く 両 端 のセル 以 外 には 次 元 非 定 常 伝 熱 を 表 現 する(8) 式 が 入 力 されていることを 確 認 せよ 左 端 のセルに 適 当 な 温 度 ( 例 えば )を 入 力 し 右 端 のセルにも 適 当 な 温 度 ( 例 えば )を 入 力 せよ F9を 押 し 再 計 算 を 行 うとシミュレーションしている 現 象 が 秒 間 だけ 進 行 し 棒 内 部 の 温 度 分 布 が 更 新 される F9を 押 しながら 温 度 分 布 が 変 化 する 様 子 を 図 示 せよ 5 秒 後 3 秒 後 および 定 常 状 態 になった 状 態 を 図 示 せよ ファイルを 保 存 せずに 一 旦 閉 じる ( 時 刻 をゼロに 戻 す 為 である ) 再 度 ファイル 非 定 常 次 元 伝 熱 を 開 き シート3を 開 く 右 端 のセルには 断 熱 の 条 件 が 入 力 さ れていることを 確 認 せよ すなわち 断 熱 の 条 件 とは 温 度 勾 配 がゼロである ことである 具 体 的 には 右 端 のセルとその 隣 のセルの 値 が 常 に 等 しくなるようになっている 左 端 のセルに 適 当 な 温 度 ( 例 えば8 )を 入 力 せよ F9を 押 しながら 温 度 分 布 が 変 化 する 様 子 を 図 示 せよ 3 秒 後 5 秒 後 および 定 常 状 態 になった 状 態 を 図 示 せよ 断 熱 である 右 端 において 常 に 温 度 勾 配 がゼロであることを 確 認 せよ 終 了 時 には ファイルを 保 存 しないこと ( 保 存 する 必 要 がある 場 合 には 別 名 とすること ) [4] 非 定 常 次 元 伝 導 伝 熱 39
次 元 の 非 定 常 伝 導 伝 熱 と 同 様 の 考 え 方 を 用 いて x, の y次 元 での 非 定 常 伝 導 伝 熱 を 表 現 する 離 散 式 を 作 成 することができる 厳 密 な 導 出 は 省 略 するが 次 元 における(8) 式 から 直 感 的 に(9) 式 が 想 像 できる DT i, j kdt = r c æ Ti ç è +, j + T i-, j Dx - T i, j Ti +, j+ + T i, j- Dy - T i, j ö ø (9) < 操 作 方 法 > ファイル 非 定 常 次 元 伝 熱 を 開 き 説 明 書 きを 読 んでからsheet を 開 く 厚 さ 方 向 に 温 度 差 の 無 い 正 方 形 の 表 面 を 持 つ 板 状 の 固 体 内 部 の 伝 導 伝 熱 を 考 える 板 は x, それぞ y れの 方 向 に 分 割 されて 表 現 されている 3 周 囲 を 除 く 全 てのセルに(9) 式 に 相 当 する 値 が 代 入 されていることを 確 認 せよ 4 板 の 周 囲 4 辺 のセルに 一 定 温 度 ( 例 えば )を 与 えよ 次 に 板 の 中 央 付 近 の 一 点 に 一 定 温 度 ( 例 え ば )を 与 えよ 5 F9キー( 再 計 算 キー)を 押 すと 秒 間 だけ 現 象 が 進 行 する F9を 押 しながら 温 度 分 布 が 変 化 する 様 子 を 図 示 せよ 5 秒 後 3 秒 後 および 定 常 状 態 になった 状 態 を 図 示 せよ 6 終 了 時 には ファイルを 保 存 しないこと ( 保 存 する 必 要 がある 場 合 には 別 名 とすること ) 7 周 囲 に 断 熱 条 件 を 設 定 して 同 様 なシミュレーションを 図 示 せよ [ 記 号 ] A 伝 熱 面 積 [m ] i セル 番 号 [-] k 熱 伝 導 率 [J/(m K)] q 伝 熱 量 [W] T 温 度 [K] x 位 置 [m] y 位 置 [m] ρ 密 度 [kg/m 3 ] C 比 熱 [J/(Kg K)] α 熱 拡 散 係 数 [m /s] レポート 提 出 方 法 全 ての 結 果 (グラフ)を 適 切 な 項 目 名 と 共 に Wordに 張 り 付 け ファイルを 提 出 する 提 出 先 は 授 業 用 の Web 提 出 ページである htt://ka3serv.eng.shizuoka.ac.j/reortdata/ ファイル 名 は 学 籍 番 号 8ケタ + re5 Word97-3 の 形 式 で 提 出 すること 提 出 期 限 実 習 実 施 日 を 含 めて 日 以 内 4
第 6 章 運 動 量 移 動 シミュレーション 目 的 開 発 製 造 現 場 で 大 活 躍 できる 全 ての 分 野 のエンジニアは 簡 単 な 流 動 の 計 算 ができなけ ればならない 特 に 化 学 系 と 機 械 系 エンジニアは 流 動 のシミュレーション 技 術 も 必 要 となる 多 くの 流 動 現 象 は 非 常 に 複 雑 であり コンピュータ シ ミュレーションによって 解 析 する 方 法 が 有 効 で ある 本 章 では 流 動 現 象 として 最 も 基 本 的 である 単 純 化 した 流 れに 対 してNavier -Stokes の 式 を 用 いたコンピュータ シミュレーションを 行 い 流 動 現 象 の 基 本 を 理 解 すると 共 に コンピュータ シ ミュレーションの 基 本 的 な 方 法 を 理 解 することを 目 的 とする 理 論 [] 運 動 量 移 動 ( 化 学 工 学 基 礎 の 復 習 ) 緩 やかに 流 れている 流 体 ( 層 流 )の 流 れを 図 に 示 すように 層 状 に 流 れていると 考 える 各 々の 層 の 速 度 は 上 部 ほど 大 きいとする すると 上 側 の 層 の 流 体 は その 下 側 の 層 の 流 体 を 引 っ 張 ることになる つまり 運 動 量 が 上 側 の 層 から 下 側 の 層 に 移 動 していることになる ミクロ 的 な 視 点 からこの 現 象 を 観 たものが 図 である 上 側 と 下 側 の 各 々の 層 内 部 の 分 子 は 運 動 エネルギーを 保 持 したまま 上 側 の 層 と 下 側 の 層 との 間 で 頻 繁 に 入 れ 替 わっているはずであ る すると 右 向 きに 大 きな 運 動 エネルギーを 有 する 分 子 が 下 側 の 層 に 移 動 したり 小 さな 運 動 エ ネルギーを 有 する 下 側 の 分 子 が 上 側 の 層 に 移 動 することは 上 側 の 層 から 下 側 の 層 に 運 動 量 が 移 動 することを 意 味 するとことなる このような 現 象 を 運 動 量 の 拡 散 という 運 動 量 図 マクロ 的 に 観 た 層 流 図 ミクロ 的 に 観 た 層 流 [] 粘 度 図 3に 示 すように x 方 向 の 流 れがy 方 向 に 速 度 分 布 を 持 っている 状 態 を 考 える このとき -y の 方 向 に 運 動 量 移 動 が 起 きていることは 前 述 のとおりである その 運 動 量 移 動 の 大 きさを せん 断 応 力 といい 記 号 τで 表 現 する 速 度 勾 配 が 大 きい 程 せん 断 応 力 が 大 きくなることは 容 易 に 想 像 できる せん 断 応 力 がy 方 向 の 速 度 勾 配 に 比 例 する 流 体 をニュートン 流 体 と 呼 び () 式 で 表 現 できる dv t = -m x ( ) dy () 式 の 比 例 係 数 が 粘 度 である すなわち 粘 度 とは 運 動 量 の 移 動 し 易 さ と 表 現 できる 4
y 運 動 量 速 度 v x v x は yの 関 数 である X 図 3 速 度 勾 配 とせん 断 応 力 [3]Navier -Stokes の 式 ( 流 体 の 運 動 方 程 式 ) ニュートンの 運 動 第 二 法 則 F=ma を 流 体 に 適 用 して 得 られる 流 体 の 運 動 方 程 式 を Navier -Stokes の 式 という 非 圧 縮 性 ニュートン 流 体 の 次 元 流 れの Navier -Stokes の 式 は () 式 で 表 される (Navier -Stokes の 式 の 導 出 は 3 年 次 の 移 動 現 象 論 にて 扱 う ) v r t x = rg x P æ v - + mç x è x x v + y x v + z x ö ø ( ) 操 作 方 法 [] 定 常 層 流 速 度 分 布 (つの 平 板 間 の 流 れ) 図 4に 示 すように 枚 の 無 限 に 広 い 平 板 の 間 の 定 常 次 元 流 れを 考 える 流 れの 方 向 をx 方 向 とする 図 のy 方 向 およびz 方 向 ( 図 示 していないが 奥 行 き 方 向 のこと)の 速 度 はゼロである y 方 向 の 速 度 分 布 を 求 める z 方 向 の 速 度 分 布 は 一 定 である 平 板 間 の 距 離 をLとする 上 の 板 の 移 動 速 度 y 流 れ L 下 の 板 の 移 動 速 度 x x 方 向 の 重 力 加 速 度 g x 図 4 枚 の 板 の 間 の 流 れ 定 常 状 態 であるので 速 度 の 時 間 的 変 化 はゼロである また x 方 向 およびz 方 向 の 速 度 勾 配 は ゼロである( v / x =, v / z = )から () 式 は (3) 式 となる x x P v x r g x - + m = ( 3 ) x y 4
P / x = DP / Dx ( 一 定 値 )とし 境 界 条 件 (4) 式 を 用 いて(3) 式 を 解 くと (5) 式 となる y = y = L のとき v x = v のとき v x = v L (4)( 板 に 接 している 流 体 の 速 度 は 板 の 速 度 と 同 じ!) y ( y - Ly) + ( v - v ) + v ( ) æ DP ö v x = ç - rg x L 5 m è Dx ø L ( 式 の 導 出 は3 年 次 です ) ファイル 層 流 速 度 分 布 を 開 く sheet を 開 き 表 中 の 空 白 セルに 適 切 な 数 式 を 代 入 せよ 3 上 側 の 板 の 速 度 V L としてm/s を 入 力 し 速 度 分 布 およびせん 断 応 力 分 布 を 図 示 せよ この とき 速 度 分 布 が 直 線 になる 理 由 を 考 察 せよ 4 つぎに 板 間 隔 を. mとせよ 上 側 の 板 の 速 度 V L を m/s ( 静 止 )とし x 方 向 の 重 力 加 速 度 g x を9.8m/s を 入 力 し 速 度 分 布 およびせん 断 応 力 分 布 を 図 示 せよ 5 g x を 9.8m/s とした 状 態 で 上 側 の 板 の 速 度 V L として.3m/s を 入 力 し 速 度 分 布 およびせん 断 応 力 分 布 を 図 示 せよ [] 定 常 層 流 速 度 分 布 ( 枚 の 平 板 上 の 流 れ) 図 5に 示 すように 無 限 に 広 い 平 板 の 上 の 重 力 によって 流 れる 定 常 次 元 流 れを 考 える 流 れの 方 向 をx 方 向 とする 図 のy 方 向 およびz 方 向 の 速 度 はゼロである y 方 向 の 速 度 分 布 を 求 め る z 方 向 の 速 度 分 布 は 一 定 である 液 膜 の 厚 さをLとする 大 気 に 接 しているのでx 方 向 の 圧 力 は 場 所 によらず 一 定 であるから P / x = となる 境 界 条 件 (6) 式 を 用 いて(3) 式 を 解 くと (7) 式 となる y = y = L のとき v x = v のとき v x / y = (6) v rg x = m ( Ly - y ) ( ) x 7 ファイル 開 放 層 流 速 度 分 布.xls を 開 く ( 式 の 導 出 は3 年 次 です ) sheet を 開 き 表 中 の 空 白 セルに 適 切 な 数 式 を 代 入 せよ 3 板 の 水 平 に 対 する 角 度 として3degを 入 力 し 速 度 分 布 およびせん 断 応 力 分 布 を 図 示 せよ このとき y=lにおける 速 度 勾 配 がゼロ( 境 界 条 件 )となる 理 由 を 考 察 せよ 流 れ y θ X 図 5 平 板 上 の 流 れ 43
[3] 非 定 常 層 流 速 度 分 布 [] と 同 様 の 現 象 の 時 間 による 変 化 を 考 える P / x = DP / Dx ( 一 定 値 )とし () 式 の Navier -Stokes の 式 に 対 して 伝 熱 シミュレーションにて 学 んだ 離 散 化 を 適 用 すると (8) 式 となる v r i,t+ - Dt vi,t æ DP ö vi-,t + vi,t - = ç rg x - + m + Dt è Dx ø Dy v i, t ( 8 ) すなわち 時 刻 t+δtの 速 度 分 布 v る i,t + を 時 刻 tの 速 度 分 布 vi, t Dt ( v + v - v ) ì m i -,t i +,t i,t æ DP öü v i,t + D t = í + ç g x - t + v i, t ( 9 ) ýd î r Dy è r Dx øþ ファイル 非 定 常 層 流 速 度 分 布 を 開 き sheet の 説 明 を 見 よ を 用 いて 表 現 すると (9) 式 とな sheet を 開 き y=およびy=l 以 外 の 速 度 を 表 現 するセルには(9) 式 が 代 入 されていること を 確 認 せよ ただし 時 間 きざみΔt=. 秒 となっている (Δtの 値 を 大 きく 設 定 しすぎると 解 が 発 散 してしまう ) 3 上 側 の 板 の 速 度 としてm/s を 代 入 せよ 4 F9を 押 し 再 計 算 を 実 行 せよ 時 刻 t=.s,sおよび 定 常 になったときの 速 度 分 布 および せん 断 応 力 分 布 を 図 示 せよ 5 保 存 をせずにファイルを 閉 じよ このとき ファイルの 上 書 き 保 存 をしないこと 保 存 する 必 要 がある 場 合 には 別 のファイル 名 を 用 いて 保 存 すること [4] 非 定 常 層 流 速 度 分 布 ( 開 放 ) []と 同 様 の 現 象 の 時 間 による 変 化 を 考 える P / x = DP / Dx =とし [3]と 同 様 に 扱 う ただし y=lにおいて 速 度 勾 配 がゼロになるよう 境 界 条 件 を 設 定 する 6 ファイル 非 定 常 層 流 速 度 分 布 ( 開 放 ) を 開 き sheet の 説 明 を 見 よ 7 sheet を 開 き y=およびy=l 以 外 の 速 度 を 表 現 するセルには(9) 式 が 代 入 されていることを 確 認 せよ ただし 時 間 きざみΔt=. 秒 となっている (Δtの 値 を 大 きく 設 定 しすぎると 解 が 発 散 してしまう ) 8 y=lに 対 応 するセルに 開 放 を 意 味 する 数 式 を 代 入 せよ 9 全 体 の 傾 斜 角 度 として3degを 代 入 せよ F9を 押 し 再 計 算 を 実 行 せよ 時 刻 t=.s,.s および 定 常 になったときの 速 度 分 布 およ びせん 断 応 力 分 布 を 図 示 せよ 保 存 をせずにファイルを 閉 じよ このとき ファイルの 上 書 き 保 存 をしないこと 保 存 する 必 要 がある 場 合 には 別 のファイル 名 を 用 いて 保 存 すること 44
参 考 文 献 J.R. Welty,.Wicks, C.ER.E. Wilson 著 Fundamentals and R. Rorrer of Momentum, Heat Transfer John (4th Edition) Wiley & Sons, Inc. 平 岡 田 中 著 移 動 現 象 論 朝 倉 書 店 使 用 記 号 g 重 力 加 速 度 [m/s ] L 長 さ [m] P 静 圧 [Pa] v 速 度 [m/s] x 位 置 [m] y 位 置 [m] τ せん 断 応 力 [N/m ] ρ 密 度 [kg/m 3 ] μ 粘 度 [kg/(m s)] レポート 提 出 方 法 全 ての 結 果 (グラフ)を 適 切 な 項 目 名 と 共 に Wordに 張 り 付 け ファイルを 提 出 する 提 出 先 は 授 業 用 の Web 提 出 ページである htt://ka3serv.eng.shizuoka.ac.j/reortdata/ ファイル 名 は 学 籍 番 号 8ケタ + re6 Word97-3 の 形 式 で 提 出 すること 提 出 期 限 実 習 実 施 日 を 含 めて 日 以 内 45