竿燈の竹竿のFEMは
M q̈ + C q̇ + K q + fₙₗ(q) = f(t)
とモデル化してみた。(このモデルで、竿燈のイメージを作ってみてくれとChatGPTに送ったら、アイキャッチ画像を作ってくれた。背景の小若は現実には無いが愛嬌だな)
記号が多く見えるが、内容は「質量 × 加速度 + 減衰 + ばねの戻る力 + 非線形の戻る力 = 外から受ける力」で表している。
|
記号 |
意味 |
高校物理のイメージ |
| M | 質量行列 | m |
| C | 減衰行列 | 空気抵抗やダンパ |
| K | 剛性行列 | ばね定数 k |
| q | 変位をまとめたベクトル | x |
| q̇ | 速度 | v |
| q̈ | 加速度 | a |
は運動方程式を加速度q̈について解き直したもの。実コードでは、
def acceleration(self, state: ModalState, modal_force: np.ndarray) -> np.ndarray:
force = self._validate_force(modal_force)
return (
force
– self.damping * state.qd
– self.linear_restoring_force(state)
– self.nonlinear_restoring_force(state)
) / self.mass
と書いている。