
信号処理素人老人がScilabの「信号処理のデモ」脱出。前回まで振り子のデモでした。今回はチェイン。水平に張られたチェインにはたるみあり、放置すれば懸垂線を描いて垂れ下がります。しかし、どこかをつまんで持ち上げて手を離せばしばらく複雑な動きを見せます。散逸あり、SUNDIALSのDAEソルバによるシミュレーション
※「手習ひデジタル信号処理」投稿順 Indexはこちら
※Windows11上の Scilab2024.0.0を使用させていただいております。(Scilabについては御本家 Scilab 様へ)
Collapsing chain
直訳すると「崩壊するチェイン」、なんだそれ、という感じです。まあ実際にデモ動作を鑑賞させていただくと、チェインが初期状態から重力によって下側に落ちて、しばらく振動、散逸によってエネルギーが失われて、最終的な「懸垂線」に落ち着く過程のシミュレーションです。
今回のデモは以下のデモ選択ウインドウから選択できる
SUNDIALS>Collapsing chain
デモのプログラムは、以下のファイルです。
demo_chain.sce
前回同様、泣く子も黙るローレンスリバモア研ご謹製のSUNDIALSのソルバを使って微分代数方程式を解いています。ScilabからSUNDIALSのソルバの呼び出しは、上記のトップ・スクリプトから呼び出される以下のファイル内で定義されている関数経由です。
lagrangian_DAE.sce
シミュレーション結果
右端と左端が固定されていて、16個の質点を「リンク」でつないだもので、「チェイン」をモデル化しているようです。
解くべき関数には、ポテンシャル、拘束条件以外に散逸を表すレイリー関数も含まれてます。
初期状態は波(正弦波)を打つようなたるんだ状態で、シミュレーションを開始するとほぼ実時間でチェーン・モデルが振動します。重力で上の方の質量が落ちてくるだけでなく、リンクを伝わる波が端点で反射されているようにも見えます。さも実物であるかのようなエネルギーの散逸具合の定数らしく、5秒ほどで「懸垂線」を描くほぼほぼ静止状態付近に到達します。
実際にアニメーションとして「鑑賞」するとまさに、揺れている「ゆるゆる」のチェーンに見えます。