topics: [“MEMS”, “ROM”, “モデリング”, “数式”, “Python”]
前回の記事(402)では、
圧電ヒステリシス入力に対する MEMS 構造の挙動 を
可視化デモとして眺めました。
本記事では、その裏側にある
mems-ana_core の数式構造と設計ポリシー を整理します。
本稿の目的は、
ではなく、
なぜこの数式構造にしているのか
どこまでをモデルに含め、どこを切っているのか
を 設計者の視点で明確化すること です。
※ 本記事は mems-ana シリーズ第3回です。
mems-ana_core は、
に相当します。
特徴は次の3点です。
「速く回す」ことよりも、
構造が読めること を優先しています。
対象としているのは、典型的な
です。
したがって、
は モデル外 とします。
この前提を崩す場合、
mems-ana_core を使うべきではありません。
変位場 $u(x,y,t)$ は、
空間モード $\phi_n(x,y)$ と
時間係数 $q_n(t)$ の積で表します。
ここで重要なのは、
という点です。
mems-ana_core では、
を考慮し、
最小限のモード数 で構成します。
ROM による一般形は、次の形になります。
\[M \ddot{\mathbf{q}} + C \dot{\mathbf{q}} + K \mathbf{q} = \mathbf{f}(t)\]ここで、
です。
mems-ana_core では、
を主に想定しているため、
$\ddot{\mathbf{q}}$ や $\dot{\mathbf{q}}$ を
省略・簡略化するケースもあります。
圧電駆動は、
**外力項 $\mathbf{f}(t)$ ** として導入します。
重要なのは、
という割り切りです。
その結果、
という 設計用の因果関係 を
シンプルに保っています。
02 で用いた P–Ez ヒステリシス は、
ではなく、
として導入しています。
つまり mems-ana_core は、
のではなく、
として扱います。
この割り切りにより、
しています。
mems-ana_core における校正は、
の どちらにも対応可能 ですが、
目的は一貫しています。
パラメータに「意味」を持たせたまま
数値を合わせる
具体的には、
などを 限定的に調整 します。
「何でも合わせる」ことはしません。
mems-ana_core は FEM の代替ではありません。
という 役割分担 を前提にしています。
FEM 結果を
「なぜそうなったか考えるための補助線」
として使う位置付けです。
本記事で解説した mems-ana_core を含む
実装コードは、以下の GitHub リポジトリで公開しています。
https://github.com/Samizo-AITL/mems-ana
数式とコードの対応関係は、
リポジトリ内のスクリプトを参照してください。
この3本で、
を 一貫した流れ として提示しました。
mems-ana_core は、
精密解を出すためのモデル
ではなく、
設計者が考えるためのモデル
として設計しています。
数式を減らすことよりも、
意味を減らさないこと を優先しました。
ROM は「近似」ですが、
良い近似は思考を加速します。
本記事が、
MEMS 設計におけるモデル化の考え方を
整理する一助になれば幸いです。