CAE FEM プログラミング

有限要素法の弾塑性解析Pythonコードを実行してみた

投稿日:2024年7月6日 更新日:

有限要素法、弾塑性解析についてWeb検索をしていた所、Pythonコードを見つけました。

https://qiita.com/Altaka4128/items/86e25d66196dfe7160f3

塑性域に達した時の処理について理解を深める事ができて大変ありがたいです。

実行方法

記事よりコードをコピーして以下のファイルを用意しました。

・main.py
・FEM1d.py
・Node1d.py
・d1t2.py
・Material.py
・Boundary1d.py

コマンドプロンプトでpythonコードを配置したディレクトリにいき、

py -3.12 main.py

で実行できました。
(私の環境ではpython3.9, 3.10, 3.12を共存させています。解析実行は最新のpython3.12で行いました。)

ゼロ割のWarningがでる原因はFEM1d.py内のvecDispFirstがvecDispの参照渡しとなっているからのようです。

vecDispFirst = vecDisp.copy()

としておいたほうが良さそうです。
この修正をしなくても一応解析は最後まで流れて正しい結果が得られます。これは収束判定を2つ行っているので、ゼロ割を起こす方を無視しても、もう一方の

if np.isclose(LA.norm(vecd), 0.0):

で収束判定を正しく行えているからのようです。

Abaqus Learning Edition2023で検証

記事内にAbaqusのinpファイルもあるのでAbaqusでも実行してみました。

1次元モデルなのでただの棒線ですが、変位量が一致する結果が得られました。

-CAE, FEM, プログラミング

執筆者:

関連記事

How to use FFmpeg.wasm. What’s the Cross Origin Isoration?

Nowadays, I got the information that FFmpeg can be used with Javascript and I tried it immediately. …

Android studio|FFmpegでやりたい放題するための準備

動画を利用したアプリを作成するにあたりFFmpegを使用できると大変便利です。Web上に多数の情報がありますが、数年前の記事は役に立たなかったり、実用的な情報が少なかったりします。本記事ではAndro …

Xcode iOSアプリでGUIをコードだけで作成する Storyboard, Sceneなし

アプリメンテナンスをしている際、どうしようもないビルドエラーに遭遇して解決できず、新規プロジェクトで作り直すという事がありました。私のiPhoneアプリ開発歴は結構長く、始めたのは2013年あたりです …

FFmpeg.wasm使い方: 動画をアップロードして音声を抽出する

FFmpeg.wasmの使い方の一例として、動画をアップロードしてその音声を抽出したmp3を出力してみます。処理が終わると音声が自動で再生されます。音声のプレイヤー上で右クリックするとファイルの保存選 …

Railway.appでついにRegion選択が可能になった – 2023年版PaaS選び

PaaS選びの際、Web検索で情報収集をすると多くの記事が見つかりますが、料金情報などを並べただけで実際に利用した情報がないように思われます。本記事では実際に身銭を切っている立場からPaaS選びについ …

スポンサーリンク