メインコンテンツへスキップ
見出し画像

フリーソフトPrePoMaxを使ってみた🔰(片持ち梁の構造解析)

    こんにちは、grapefruitです。
    「PrePoMax(プリポマックス)」を使って
    片持ち梁の検討をしてみた手順を記録します。

    画像
    片持ち梁

    「PrePoMax」とは無料で使える構造解析CAEソフトです。

    注)この記事は、よく分かっていない人(私)が理解しようとしている過程の記録です。アウトプットしながら学んでいきます。


    おおまかな工程
    「プリプロセッサー(前処理)」①~⑨
    「ソルバー(解析)」⑩
    「ポストプロセッサー(後処理)」⑪


    ①インストール

    こちらのサイトにアクセスします。👇

    画像
    「ダウンロード」をクリックします。
    画像
    PrePoMax version v2.1.0をクリックし
    デスクトップなどに保存します。
    画像
    保存した圧縮ファイルを解凍します。
    (右クリックーすべて展開)
    画像
    解凍したフォルダの中の「PrePoMax」をダブルクリックすると起動します。
    (タスクバーにピン留めしておきます。)

    ②3Dモデルを作る

    PrePoMaxでは「解析の対象となる形状(3Dモデル)」を作ることはできず、あらかじめ他のソフトで3Dモデルを作成する必要がありました。
    今回は無料で使える3DCGソフトblenderでH型鋼のモデルを作りました。

    ※片持ち梁は壁に固定されいますが
    壁にあたるほうの形状をモデリングする必要はないそうです。

    画像
    梁:100H鋼(H‐100×100×6×8)長さ2000L
    r(アール)は省略しました。

    blender側でm単位のままmm単位の数値で作成すると
    Calculix側ではmm単位で表示されるようでした。
    mm単位に変更して実寸で作るとうまくいきませんでした。
    (つまり「100m×100m×2000m」で作ったという意味です。1000倍💦)
    (これが正しいやり方かどうかは不明です。なぜこうなるのか疑問が残りました。)

    PrePoMaxの座標系は、高さ方向が「Y軸」
    blenderの座標系は高さ方向が「Z軸」ですので
    blenderでモデルを作成する時に、高さ方向が「Y軸」になるように「R・X」で回転させておく必要がありました。
    (「横倒しにした」ということです。)

    今回は「stl」ファイルでエクスポート(書き出し)しました。


    ③新規ファイルを開く

    画像
    立ち上げてすぐのPrePoMaxの画面
    画像
    「File」ー「new」
    画像
    「3D」ー「mm/ton/s/℃」ー「OK」

    これで、新しいファイルを立ち上げることができました。


    ④3Dモデルのインポート(読み込み)

    blenderで作った3Dモデルを、PrePoMaxにインポートします。

    画像
    「File」-「Import」- blenderで作ったstlファイルを選択します
    画像
    モデルがインポートできました。

    ーーーーーーーー
    【視点の移動・画面移動の操作方法】

    ★マウスホイールを転がしてズームイン・アウト
    ★マウスホイールを押し込みながらマウスをドラッグして視点移動
    ★「shift」を押しながらマウスホイールを押し込みながらマウスをドラッグして画面移動

    視点移動のマウス操作は慣れが必要のようでした。
    一旦ズームアウトしてから、視点を移動して、再度ズームインするとやりやすかったです。
    ーーーーーーーー

    画像
    「Solid_part-1」をダブルクリック
    「Name」を「H-beem」に変更ー「OK」

    これで、blenderで作成した3Dモデルを
    PrePoMaxにもってくることができました。


    ④細かく分割

    要素分解(メッシュ分割)
    読み込んだ3Dモデルを、細かいメッシュ状に分割します。

    細かくすればするほど、計算結果の精度があがるそうです。
    細かくしすぎてもソフトの処理の限界があるので、十分な精度の結果が得られる範囲で適正な細かさに分割することが大切とのことです。
    数値を入力して「どれくらい細かくするか」を設定します。

    画像
    「Mesh」ー「Mesh Setup Item」ー「Create」
    画像
    「Meshing Parameters」ー「Max element size 40mm」ー「モデルを選択」ー「OK」

    この、1/20~1/50というのはChatGPTが言っていたことなので
    間違っている可能性があるので確認が必要です。

    画像
    「Mesh」ー「Create Mesh」
    画像
    「Max element size」に設定した数値がメッシュの細かさに反映されています。

    これで、モデルが「要素」に分割されました。


    ⑤位置の指定

    境界条件の設定対象となる解析形状での位置の指定
    どこを固定して、どこに荷重をかけるかを指定します。

    「どこを固定する?」

    画像

    「どこに荷重をかける?」

    画像

    まず「固定する位置」を指定します。

    画像
    「Node Sets」をダブルクリック
    「Name」を「n-support」に変更
    「Surface angle」にチェックし「10°」
    端部の面を選択して「OK」

    端部の面とはここのことです。

    画像
    オレンジ色の範囲内のどこかをクリックします。
    クリックすると赤い点々が表示されます。

    ※Surface angleを10°にするのは、「0°」だと条件が限定され過ぎて逆に精度が落ちるからだそうです。


    次に「荷重をかける位置」を指定します。

    画像
    「Node Sets」をダブルクリック
    「Name」を「n-load」に変更
    「Surface angle」「10°」
    さきほどと反対側の端部の面を選択して「OK」

    次に、今指定した「荷重をかける位置」を
    節点群(赤いてんてん)から面に変換します。

    画像
    「Surfaces」をダブルクリック
    「Name」を「s-load」に変更
    「Region type:Node Set」
    「Node Set:n-load」
    「OK」
    画像
    こうなります
    (点が選択が面の選択に変わりました)

    ⑥どんな材料かを設定

    材料特性設定
    鉄?それともステンレス?みたいなことを設定します。
    材料特性を表す「定数」を入力します。
    具体的には「ヤング率」と「ポアソン比」の数値を入力します。
    今回は鉄の定数を入力します。

    画像

    「Materials」をダブルクリック
    「Elastic」をダブルクリック
    「Young’s modulus 205000Mpa」
    「Poisson’s ratio 0.3」ー「OK」

    ⑦材料と3Dモデルをひもづける

    ⑥で設定した材料特性の情報と3Dモデルをひもづけます。

    画像
    「Sections」をダブルクリック
    「Region:Part name」
    「Part:H-beem」ー「OK」

    これでただの3Dモデルから
    鉄の特性を持つ3Dモデルに変わりました。


    ⑧解析の種類の設定

    何種類か解析の種類がある中の「静的解析」を選択します。
    ・Static Step:静的解析←これ
    ・Slip wear Step:すべり摩擦解析
    ・Frequency Step:固有値解析
    ・Buckle Step:座屈解析
    など・・・・

    画像
    「Steps」をダブルクリック
    「Static Step」ー「OK」

    ⑨具体的な条件(数値)の設定

    ⑤で指定した「固定する位置」に
    「固定されていますよ」という設定をします。
    マーキングだけしておいた位置に本当に糊付けするみたいな感じでしょうか?

    画像
    「BCs」をダブルクリック
    「Displacement/Rotation」
    「Name:b-support」
    「Region Type:Node Set name」
    「Node Set:n-support」
    U1(X方向)ーFixed
    U2(Y方向)ーFixed
    U3(Z方向)ーFixed
    「OK」

    X・Y・Zの全方向を固定します、という意味だと思います。


    次に、⑤で指定した「荷重をかける位置」に
    具体的に「数値と方向(マイナス)」を設定します。

    画像
    「Loads」をダブルクリック
    「Surfacetraction」(物体の表面にかかる力)
    「Name:b-load」
    「Region:Surface name」
    「Surface:s-load」
    F2(Y方向)-5000N(マイナス5000ニュートン)
    「OK」

    Y方向下向きに5000Nの荷重がかかっている、という設定です。

    ここまでが「プリプロセッサー(前処理)」と呼ばれる工程になります。


    ⑩解析実行

    プリプロセッサーで設定した条件をもとに構造解析を実行します。
    「PrePoMax」では「CalculiX」というプログラムが用いられているそうです。

    画像
    「Analysis-1」を右クリックし「Run」
    画像
    既存の分析ファイルを上書きしますか?
    「OK」

    計算が実行されました。
    (計算が実行されたら「Analysis-1」の前の赤いマークが緑に変わります。)
    これがソルバー(解析)と呼ばれる工程になります。


    ⑪どれくらい変形したかを確認

    結果の可視化
    応力の分布や変形が一目で分かるように表示されます。

    画像
    「Results」
    画像
    17.85mmの変形

    これが「ポストプロセッサー(後処理)」と呼ばれる工程になります。


    ⑫他のソフトの結果との比較

    他のソフトに同じ条件を入力して出てきた結果と比較してみたいと思います。
    今回は㈱DATエンジニアリングサービス様の構造計算支援ツールを使用させて頂きました。

    画像
    計算条件入力画面
    画像
    強度計算結果

    PrePoMax:17.85mm
    構造計算支援ツール:17.7mm


    ⑬CADでモデリングしたもので再確認

    blender側で1000倍の大きさでモデルを作るのがなぜなのか意味が分からなかったので、後日CADで実寸でモデルを作り直しました。
    鋼材のアールもつけてモデルを作りました。

    あいかわらず、どのようにして適正なメッシュの最大寸法を導き出せばいいかがよく分かりません。
    (※今回は4mmと10mmで試してみました。4mmはあまりにも細かすぎたと思います。処理に時間がかかりました。)

    アールをつけた場合、つけなかった場合
    CADでモデリングした場合、blenderでモデリングした場合
    などを5パターン試してみました。

    画像

    興味深かったところは、アールをつけていない形状の場合CADとblenderで
    全く同じ数値になったことです。(17.88mm)
    きちんと数値を入力してモデリングを行えば、blenderはCAD並みの精度が出せると言ってしまっていいかもしれません。まだデータが少ないので、色々試して確認したいと思います。

    アールをつけた場合のCADとblenderの結果に差が出たのは、blenderで半径の数値を指定してアールをつけるやり方が分からず、だいたいこれくらいかなという感じで目視でベベルをかけたからだと思います。
    もし半径を指定してベベルをかけることができるのなら、その時CADと同じ結果になるかどうか知りたいです。

    エクセルは、ある方に作って頂いた計算式での結果です。
    私は計算式が理解できないので、本当に合っているのか失礼ながら
    ずっと心配だったのですが、今回結果を比較して大丈夫だったのだと安心しました。
    私が疑い深すぎるのは、慎重さの資質が発揮されているのだと思いますが
    こういう場合は、疑い深すぎていいと思いました。


    ~参考リンク~

    生活に役立つ材料力学様の
    YouTubeチャンネルでこのソフトの存在を知りました。
    ありがとうございました。


    ㈱DATエンジニアリングサービス様の
    構造計算支援ツールを使用させていただきました。
    ありがとうございました。


    柴田良一様の「PrePoMax」ではじめる実勢構造解析
    という本を参考にさせていただきました。
    今回の手順は、こちらの本の第2章と第3章を参考にさせていただきました。ありがとうございました。


    ~あとがき~

    このような精度の高い検討がフリーソフトでできるとは
    すごいことだと思いました。
    単純梁の検討ができるようになることが目標です。
    今後も学習を続けていきたいと思います。

    記事に間違いがあると分かった場合は、随時訂正します。
    その際、書き直してしまわずに、取り消し線を使って訂正し
    どう間違ったのかを記録として残そうと思います。

    最後までお読みくださりありがとうございました。
    grapefruitでした。