ここからは、高校での数学や物理では扱っていない領域になり、大学の理系の学部の機械工学や材料工学や建築の分野の領域になる。
FEM(有限要素法)やEuler–Bernoulli 梁(オイラー・ベルヌーイ梁)についてはどこかで勉強して欲しいが、後者は材料力学の最も基本的な初等梁の理論。秋田大学の構造力学特論のページなどが参考になるかも。
Euler–Bernoulli 梁の理論では、竹のたわみ w(x,t) は位置 x と時間 t の両方で変化する。連続体のままでは未知数が無限にあるため、FEM(有限要素法)では竹を有限個の要素に分ける。
つまり、
連続した竹 → 節点 0,1,2,…,N と要素 0-1,1-2,…
と考える。
次に「風荷重」をFEMの力ベクトルにする。
「竹全体にかかる風」と「提灯が各位置で受ける力」を、節点に対応する大きなベクトルへ足し込んでいく。これが「連続した力を有限個の数値にする」部分となる。(ここでもアナログをデジタルにしているのだ)
実際のコードは、
load = compute_wind_load(
self.physics_cfg,
self.state.wind_speed_mps,
self.state.pole_angle_rad,
self.layout,
)
force_free = self._fem_beam.uniform_transverse_force_vector(
load.pole_force_n
)
…
force_free += self._fem_beam.transverse_point_force_vector(
row_position_m,
force_each_lantern_n * float(row.count),
)
とした。
いやはや、ChatGPTは便利だな。こんな感じでアイキャッチ画像を作ってくれとプロンプトに書いたらこのアイキャッチ画像を作ってくれた。(細部は情報不足だが、まあご愛敬)