ポイントは、接触がXY平面方向で発生するようにモデル化することです。これを守らないと接触の処理が収束せずにエラーとなりました。
DEFI_CONTACTでDIST_POUTREを有効にするため、板をモデル化するためのはり要素の断面は円形としました。DEFI_CONTACTの設定は次のとおりとしました。solidはMAIT側、はり要素はESCL側とするのは平面の場合と同様です。
また接触判定に使用する要素のベクトルはESCLのFIXとしました。これは、計算が安定していたからです。
contact = DEFI_CONTACT(identifier='16:1', ALGO_RESO_CONT='NEWTON', ALGO_RESO_GEOM='NEWTON', FORMULATION='CONTINUE', MODELE=model, RESI_CONT=-1.0, ZONE=_F(ALGO_CONT='STANDARD', CARA_ELEM=softSp, CONTACT_INIT='INTERPENETRE', DIST_POUTRE='OUI', ESCL_FIXE=(0.0, 1.0, 0.0), GLISSIERE='OUI', GROUP_MA_ESCL=('beam', ), GROUP_MA_MAIT=('sbottom', ), NORMALE='ESCL', RESOLUTION='OUI', VECT_ESCL='FIXE'))
結果です。変位を10倍で表示したものです。ちゃんと接触が発生していました。
丸棒との接触となったので、solid側の中央部が変形しています。
コメント