朝倉書店から出版されている「機械力学ハンドブック」は、振動の基礎から始まり、必要な数学知識、制御、計測や解析方法までの全般を網羅している書籍です。技術プログラマが知っておいた方が良い知識が豊富なので、その観点を紹介します。
こんにちは。wat(@watlablog)です。「機械力学ハンドブック」は僕も事ある毎に参照する技術者必携の書!今回はプログラムではありませんが、Pythonブロガーの僕がなぜ本書をオススメするかという観点でこの技術書を紹介します!
はじめに
僕が「機械力学ハンドブック」を購入した理由
工学系のハンドブックと言えば、大学の研究室に必ずといって良いほど置いてあるイメージです。他にも流体力学ハンドブックや計算力学ハンドブック等、様々なハンドブックがありますね。
工学ハンドブック系の書籍はなんといっても価格が高い(1万円以上の本!)ので有名ですが、それでも僕は本書「機械力学ハンドブック」を自腹で購入しました。
ただ読むだけであれば会社の経費で購入するといった選択肢もあったんですが、自分の物にしたくなる理由がありました。
僕は院卒で技術系の仕事をする会社員ですので、業務に必要な書籍はしかるべき理由があれば申請して会社の経費で購入することもできます。
しかし、2019年4月から当WATLABブログを開設し、信号処理を始めとしたPythonによる技術プログラムの学習を進めるうちに、ある問題に直面しました。
技術プログラムを書くには中身の「工学」をもっと知らなければいけない!
…いや、当たり前の事なのですが、やってみて初めて実感するというもの。自分の知識がいかに浅はかであるかを思い知りました!
僕の場合はプログラミングの理論面補強で本書を探し求め、自宅利用が主であることから自腹での購入を行いました(会社の経費で購入した物を私用にしたら横領になるかな?)。
特に信号処理の分野に関心があった僕はまず計測に関するプログラムを書き始めましたが、この分野は振動の知識が必須です。
「機械力学ハンドブック」は振動に関するほぼ全ての内容がバランス良く体系的に書かれているため、辞書代わりに使うには大変重宝する本でした!
「機械力学ハンドブック」を読んで欲しい人
今では数多くの信号処理プログラムやシミュレーションプログラムをPythonで書いてきた僕ですが、実は学生の頃は機械力学を避けて通ってきた輩です。
食わず嫌いだった当時の僕と同じように、「機械力学はなんだか難しそうで、単位を落としそうだから深く突っ込まないようにしよう…」と思っている学生や、そういう道を辿ってきた社会人にこそ読んで欲しいです。
そして、読んだらその内容を自分でプログラミングしたりして理解を深め、技術プログラマとしての道を進んでみるのも良いと思います。
本書は辞書代わりになるので、技術プログラマの傍らに置いておく書としても最適です。
「機械力学ハンドブック」の特徴
執筆者35名!
代表としての編集者は東大の金子教授、東工大の大熊教授ですが、執筆者の欄を見ると、振動分野の第一線で活躍されている方々が総勢35名もいらっしゃいます。
市販のその他技術書は多くが一人の執筆者で、ある内容を詳細に記載していることが特徴ですが、本書は各章毎に執筆者が割り振られ、それぞれが得意とする内容を包括的に書いている印象です。
執筆者(五十音順)
機械力学ハンドブック 執筆者欄より
Raouf A Ibrahim College of Engineering. Wayne State University. USA
青木 繁 都立産業技術高等専門学校
今泉八郎 (株)小野測器
岩本宏之 成蹊大学
遠藤 滿 前東京工業大学
大熊政明 東京工業大学
岡田昌史 東京工業大学
金子成彦 東京大学
川合忠雄 大阪市立大学
栗田 裕 滋賀県立大学
近藤孝広 九州大学
佐藤勇一 埼玉大学
猿渡 洋 東京大学
白井正明 東京工業大学
杉山博之 The University of Iowa 前東京理科大学
鈴木成一郎 サムスン横浜研究所
田川泰敬 東京農工大学
武田行生 東京工業大学
田島 洋 日本大学 元コマツ
田中信雄 前首都大学
中川紀壽 広島国際学院大学
中野公彦 東京大学
長嶺拓夫 埼玉大学
中村健太郎 東京工業大学
中村友道 大阪産業大学
成田吉弘 北海道大学
西成活裕 東京大学
西原 修 京都大学
保坂 寛 東京大学
松下修己 防衛大学校名誉教授
松久 寛 京都大学名誉教授
森 博輝 九州大学
森下 信 横浜国立大学
吉村卓也 首都大学東京
割澤伸一 東京大学
基礎から応用まで幅広く記載されている
「機械力学ハンドブック」はハンドブックの名の通り基礎から応用まで幅広い内容となっています。
以下に目次を引用します。
内容目次
機械力学ハンドブック 目次より
1章 基礎知識
1.1 機械力学の歴史概観
1.2 機械力学の用語
1.3 機械力学のための数学基礎
1.4 機械力学のための物理基礎
1.5 モデル化の方法
2章 剛体多体系の動力学
2.1 運動学の基礎
2.2 動力学の基礎
2.3 拘束された系の運動方程式
3章 線形振動系のモデル化と挙動
3.1 一自由度系モデル
3.2 多自由度系モデル
3.3 はり分布系モデル
3.4 分布系モデルと自由振動
4章 非線形振動系のモデル化と挙動
4.1 構造的非線形要素
4.2 幾何学的非線形要素
4.3 材料的非線形要素
4.4 環境的非線形要素
4.5 非線形振動系の挙動
5章 自励振動系のモデル化と挙動
5.1 自励振動の発生機構
5.2 流体力に起因する自励振動
5.3 係数励振振動系のモデル化
5.4 係数励振振動系の発振原理
5.5 リミットサイクルと安定性
6 構造物の不規則振動のモデル化と解析
6.1 解析モデル化
6.2 解析法
6.3 応用
6.4 パラメータの不確定性をもつ機械系の設計
6.5 まとめ
7章 各種振動と応答解析
7.1 自由振動(残留振動)
7.2 強制振動
7.3 自励振動
7.4 不規則振動とカオス
7.5 時刻歴応答解析
8章 剛体多体系動力学の数値解析法
8.1 剛体多体系の運動方程式
8.2 微分代数型運動方程式の数値解法
8.3 微分代数型運動方程式の直接数値積分
8.4 ペナルティ法
9章 複雑な振動系の数値解析法
9.1 理論モード解析
9.2 固有値の近似解法
9.3 分布定数系の離散化手法と振動解析法
10章 非線形系の振動解析法
10.1 弱非線形系に対する解析的手法
10.2 大規模強非線形系に対する数値解析的手法
10.3 安定判別
11章 振動計測法
11.1 振動計測の位置付けと方法
11.2 各種加速度センシング
11.3 各種速度センシング
11.4 各種変位センシング
11.5 計測・データ処理とシステム化
12章 振動試験法
12.1 振動試験の目的と方法
12.2 高速フーリエ変換による周波数応答関数の算出
12.3 各種の加振方法
12.4 加振器の選択と取付け方法
12.5 打撃加振時の注意点
12.6 測定系の校正
13章 実験的同定法とそれに基づく振動解析
13.1 振動応答の周波数分析
13.2 振動試験データからのモード特性同定
13.3 振動試験データからの剛体特性同定
13.4 特性行列同定法による実験的モデル化
13.5 構造変更予測手法
14章 機構制御技術
14.1 運動の計画
14.2 機構システム理論
14.3 運動制御
14.4 力制御
14.5 モータの駆動
15章 制振制御技術
15.1 受動的制振制御
15.2 回転体のバランシング
15.3 準能動的制振制御
15.4 能動的制振制御
15.5 音響波動系の制御
16章 振動利用技術
16.1 状態モニタリングと異常診断
16.2 超音波診断
16.3 物体輸送,仕分けと整列処理
16.4 加工
16.5 解体(破壊と粉砕)
16.6 エネルギー変換機器
…最初は歴史、必要な数学知識から丁寧に書かれており、続いて1自由度の振動、モード、非線形振動、自励系と進みます。
第6章は具体的な研究内容のようで、英語も併記されています。
その後、解析方法や計測、制御、利用技術と基礎から応用までが網羅されています。
技術プログラマに本書をオススメする3つの理由
「技術プログラマ」という言葉が適切かどうかはわかりませんが、科学技術分野を扱うプログラマにとって振動という分野は避けて通れないと思っています。
ここでは僕の独断と偏見で本書を技術系のプログラマにオススメする理由を3つ紹介したいと思います。
逆に、「振動のある分野をかなり詳細に説明した専門書が欲しい!」という人には本書はオススメしません。この本はあくまで振動分野全般を体系的に学ぶための本であるため、1つの要素を演習含めてみっちりといったものではありません。
①計測と信号処理の概要がわかる
1つ目は第11章の内容ですが、計測に関する内容が非常に実用的に書いてあります。さすが小野測器さんの担当章といった所。
科学技術プログラマは実験データの収集やシミュレーション結果の処理をする機会が多くあります。
その際はサンプリング(標本化)の定理や、計測と各種計算(FFT、DFT、STFT、ウェーブレット解析)がどう関係しているかを把握しておく必要があります。
また、一般に計測に使うセンサ類の種類や原理の概要が書いてあるので、企業で実験業務に従事するようになった社会人の方にも有用です。
研究室の学生や企業の実験屋さんは、自分で計測プログラムを組むということが稀にあると思いますが、まずは本書で「計測に必要な知識には何があるか」を学ぶのが良いと思われます。
②振動シミュレーション方法の概要がわかる
本書では第2章から第4章までに動力学や集中質量系、はり分布系のモデルの説明があり、第8章では具体的な数値解析方法の説明が始まります。
当WATLABブログではまだまだシミュレーション関係の記事は充実していません。線形代数をちょっと使った固有値解析として「Pythonで多自由度系の固有値解析!固有振動数とモードを計算」を紹介しましたが、本書ではより詳しい固有値解析の種類(複素固有値解析等)や各種計算方法に関する説明があります。
なぜ商用の構造解析ソフトではランチョス法が使われているのか、参考となる文献の紹介もあり学習のきっかけになります。
もちろん他にも有限要素法(FEM)や境界要素法(BEM)といった解析方法も紹介されており、シミュレーション屋さんにとっても辞書的に活用できる本となっていると思います。
③モデルの意味がわかる
振動の学習を始めるとやたら行列式が出てきます。線形代数が苦手な人はここで躓く方が多そうですが、本書では第1章で必要な数学の基礎知識を学んだり、1自由度系のモデル化から説明があったりとものすごく親切です。
科学技術プログラマは実験屋さんもシミュレーション屋さんも、はてはデータサイエンティストも、「モデル化」や「モデル同定」ということを行うのではないでしょうか?
振動はあらゆる自然現象で共通の考え方が使えるため、構造分野の研究者でなくても本書でモデル化や、実験結果からパラメータを同定する手法の概要を学習しておくことは大変有用であると考えられます。
まとめ
「機械力学ハンドブック」は振動の基礎から応用までを体系的に網羅しているので、振動を学習する技術者であれば必携の1冊と思います。
Python等のプログラムの話が一切無いのに、この本を技術プログラマにオススメするとは何事か!…と思われる読者の方もいらっしゃると思いますが、僕個人は当ブログを運営するにあたり何度も参照した本で、本当にオススメと思っています。
技術プログラムというのはPython等のプログラミング言語の文法だけ知ってても何も出来ないというのを痛感しているので、この「機械力学ハンドブック」をイチオシとさせて頂きました。
初めての読書感想文のようでまとまりがつかなくなってしまいましたが、振動学習の参考にして頂ければと思います!Twitterでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!