ポイントは、接触が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側の中央部が変形しています。


コメント