🧠 【MEMS:03】ROMで作る mems-ana_core の数式構造と設計ポリシー

topics: [“MEMS”, “ROM”, “モデリング”, “数式”, “Python”]


📌 はじめに

前回の記事(402)では、
圧電ヒステリシス入力に対する MEMS 構造の挙動
可視化デモとして眺めました。

本記事では、その裏側にある
mems-ana_core の数式構造と設計ポリシー を整理します。

本稿の目的は、

ではなく、

なぜこの数式構造にしているのか
どこまでをモデルに含め、どこを切っているのか

設計者の視点で明確化すること です。

※ 本記事は mems-ana シリーズ第3回です。


🧩 mems-ana_core の立ち位置

mems-ana_core は、

に相当します。

特徴は次の3点です。

  1. 支配モードを明示的に仮定
  2. 物理量と数式の対応が追える
  3. 校正パラメータの意味が限定的

「速く回す」ことよりも、
構造が読めること を優先しています。


🧱 モデル化の前提

対象としているのは、典型的な

です。

したがって、

モデル外 とします。

この前提を崩す場合、
mems-ana_core を使うべきではありません。


📐 ROM(Reduced Order Model)の基本形

変位場 $u(x,y,t)$ は、
空間モード $\phi_n(x,y)$ と
時間係数 $q_n(t)$ の積で表します。

\[u(x,y,t) = \sum_{n=1}^{N} q_n(t)\,\phi_n(x,y)\]

ここで重要なのは、

という点です。

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 における校正は、

どちらにも対応可能 ですが、
目的は一貫しています。

パラメータに「意味」を持たせたまま
数値を合わせる

具体的には、

などを 限定的に調整 します。

「何でも合わせる」ことはしません。


🔗 FEM との関係(再確認)

mems-ana_core は FEM の代替ではありません。

という 役割分担 を前提にしています。

FEM 結果を
「なぜそうなったか考えるための補助線」
として使う位置付けです。


🗂 GitHub リポジトリ

本記事で解説した mems-ana_core を含む
実装コードは、以下の GitHub リポジトリで公開しています。

https://github.com/Samizo-AITL/mems-ana

数式とコードの対応関係は、
リポジトリ内のスクリプトを参照してください。


🧭 シリーズまとめ

この3本で、

一貫した流れ として提示しました。


📝 おわりに

mems-ana_core は、

精密解を出すためのモデル

ではなく、

設計者が考えるためのモデル

として設計しています。

数式を減らすことよりも、
意味を減らさないこと を優先しました。

ROM は「近似」ですが、
良い近似は思考を加速します

本記事が、
MEMS 設計におけるモデル化の考え方を
整理する一助になれば幸いです。