シリンダに蓋をつける場合や、円筒形状にシールなどの嵌合品があるようなものを想定します。
ベース(軸対象モデル)
ひとまず計算可能なモデルを作成します。
使用ツール
項目 | 使用ツール | 備考 |
---|---|---|
モデル化 | FreeCAD 0.22 | |
メッシャー | salome 9.11 | |
プリプロセッシング | テキスト編集 | |
ソルバー | CalculiX 2.19 | |
ポストプロセッシング | CGX | frdファイルの読み込み |
モデル条件
形状
物性値
材質は以下のようにしています。(円管:鉄相当、 プラグ:プラスチック相当)
材質 | 項目 | 設定 |
---|---|---|
円管 | ヤング率 | 210000 MPa |
ポアソン比 | 0.3 | |
プラグ | ヤング率 | 2500 MPa |
ポアソン比 | 0.3 |
境界条件
項目 | 設定 | |
---|---|---|
境界条件 | 拘束 | 円管軸方向 |
強制変位 | プラグ上面を移動 | |
摩擦係数 | 0.1 |
円筒内部と接触部に接触定義をします。

部位 | 要素タイプ |
---|---|
プラグ | CAX3 CAX4 |
円管 | CAX4 |
結果

上記のモデルでは、問題なく嵌合できました。
条件によっては、自己接触が起きたり、要素がつぶれたりしてエラーになります。
反力は、一個分を考える場合には180倍する必要があります。
作業
ジオメトリ
FreeCADで作成します。プロファイルを作図して回転させます。
軸対称のメッシュ作成だけでよければ、回転の必要はなくフェイスだけでよいです。
参考:
サンプルファイル:B014_cadModel.step (切り出したもの)
メッシュ
断面の取り出し
軸対称にする部分を切り出します。
要素作成
それぞれのMeshをunvファイルとしてエクスポートします。
サンプルファイル:B014_Mesh_1_cylin.unv、B014_Mesh_2_plug.unv
inpファイルの作成(テキスト編集)
同じような変換を以下で行っています。
接触部があり、小規模なので同じように処理しています。
三角形要素と四角形要素の変換ですが、
二次の要素については、接触部の出力ができない状態なので、一次で行います。
編集作業
円筒部のunvファイル変更
inp形式になった文字列が表示されます。
Ctrl +Aで全選択してテキストファイルとして貼り付けたファイルを作成して、B014_Mesh_1_cylin.inpファイルとして保存します。
122行 タイプを軸対称要素として要素セット名も変えておきます。
*Element, TYPE=CAX4, ELSET=EfacesS4R_cylin
239行 節点番号のセット名を変えておきます。
反力を結果として取り出す際に指定します。
*NSET,NSET=NodeBC_Group_2_fix
245行 以下を追加します。置き換えてもいいです。接触部の宣言になります。
*SURFACE, NAME=IND
プラグ部のunvファイル変更
T911で加工する部分は上記の円筒部と同じです。
ただ、salomeで要素を別に作成してい待っている場合、同じ番号が解析内で存在することになってしまいます。それを回避するために、リナンバーに1000を指定します。これは1000だけずらして番号を付けなおしてくれます。(1001のほうが元からきれいに1000ずれるのでいいかもしれません)
円管部と同じように、テキストファイルを用意するなどして、張り付けてinpファイルにします。
294行 タイプを軸対称要素として変更します。要素セット名は特に干渉しませんので、今回はそのままにしておきます。
*Element, TYPE=CAX4, ELSET=EfacesS4R
316行 三角形の軸対称要素にします。
*Element, TYPE=CAX3, ELSET=EfacesS3
ファイルを眺めると分かるのですが、四角形要素と三角形要素が混在しているため、上記のようなフレーズが繰り返されます。
一つ一つ修正するよりは、テキストエディターなどで、一括置換するのがよいです。

624行 接触部の宣言になります。円管側とは別の認識名にしておきます。NAMEは同名で干渉しなければよいです。
*SURFACE, NAME=DEP
条件と実行部ファイル
上記で要素部分のinpファイルができましたので、解析の条件を記述したファイルを作成します。
*****element file
*INCLUDE,INPUT = B014_Mesh_1_cylin_Re.inp
*INCLUDE,INPUT = B014_Mesh_2_plug_Re.inp
*****group set
*ELSET, ELSET=elCap
EfacesS4R
EfacesS3
***** tube material
*MATERIAL, NAME=MaterialSolid
*ELASTIC
210000, 0.300
***** plug material
*MATERIAL, NAME=MaterialSolid2
*ELASTIC
2500, 0.300
*****
*SOLID SECTION,ELSET=EfacesS4R_cylin,MATERIAL=MaterialSolid
1.57d0
*SOLID SECTION,ELSET=elCap,MATERIAL=MaterialSolid2
1.57d0
*****
*CONTACT PAIR, INTERACTION=INTFemConstraintContact,TYPE=SURFACE TO SURFACE
DEP,IND
*SURFACE INTERACTION, NAME=INTFemConstraintContact
*SURFACE BEHAVIOR,PRESSURE-OVERCLOSURE=LINEAR
1000000.0
*FRICTION
0.1,5000.
*STEP, NLGEOM
*STATIC, SOLVER=SPOOLES,direct
0.1,1.0
*BOUNDARY
NodeBC_Group_2_fix,2
*BOUNDARY
NodeBC_Group_2,2,2,-12.1
*NODE FILE, OUTPUT=2d
U
*EL FILE
S, E
*NODE PRINT, NSET=NodeBC_Group_2_fix, TOTALS=ONLY
RF
*END STEP
サンプルファイル:B014_2d_5.inp
先のB014_Mesh_1_cylin_Re.inp、B014_Mesh_2_plug_Re.inpを同じフォルダに保存して、
B014_2d_5.inpをCCXで実行します。
結果確認も以下のランチャーで行います。
コメント