2次元FEMソフトが完成してから苦節1週間。
ついに3次元への拡張ができました。
(↓2次元FEMの画像)
ある程度高い精度を出せるように、
2次元ではアイソパラメトリック四辺形一次要素、
3次元ではアイソパラメトリック六面体一次要素を採用。
積分は8点の2次積分を(2次元では4点)。
[B]マトリクスが煩雑すぎてデバッグで吐きそうになったりしましたが、
懲りずに書いてなんとか動いたときは感動しました。
現状は単純な図形に対してのみの有限要素解析ですが、それっぽい結果の生成が嬉しかったので記念記録。
また、六面体要素1つの要素剛性マトリクスが24×24の行列で、
全体剛性マトリクスは要素の頂点数×3とかなり膨大な行列になってしまうので、
すぐヒープ領域が足りなくなってしまう現状。
起動時にメモリ確保の命令入れても要素数2000くらいでが限界でした。
これからまた、連立一次方程式のメモリに優しい解法アルゴリズムを書く作業がはじまります。
それができたらメッシュ分割アルゴリズムを勉強して、UI整えてそれっぽいもの作りたいです。
大学の研究進めずに何やってるんだろう。
ついに3次元への拡張ができました。
(↓2次元FEMの画像)
ある程度高い精度を出せるように、
2次元ではアイソパラメトリック四辺形一次要素、
3次元ではアイソパラメトリック六面体一次要素を採用。
積分は8点の2次積分を(2次元では4点)。
[B]マトリクスが煩雑すぎてデバッグで吐きそうになったりしましたが、
懲りずに書いてなんとか動いたときは感動しました。
現状は単純な図形に対してのみの有限要素解析ですが、それっぽい結果の生成が嬉しかったので記念記録。
また、六面体要素1つの要素剛性マトリクスが24×24の行列で、
全体剛性マトリクスは要素の頂点数×3とかなり膨大な行列になってしまうので、
すぐヒープ領域が足りなくなってしまう現状。
起動時にメモリ確保の命令入れても要素数2000くらいでが限界でした。
これからまた、連立一次方程式のメモリに優しい解法アルゴリズムを書く作業がはじまります。
それができたらメッシュ分割アルゴリズムを勉強して、UI整えてそれっぽいもの作りたいです。
大学の研究進めずに何やってるんだろう。
Object-Cですか? Javaじゃないよね。
Windowsでも使いたかったのでJavaで書いちゃいました。
Mac上で動くFEMソフトってほとんど無いみたいなので、頑張って作りこめば売れるかも。
と妄想抱いております。