
街中でよく見かけるクレーン車。この記事の対象は、クレーン車のブームです。
入れ子状になっていて、道を走る時は短く、作業するときは長く伸ばします。
(photoACより)

ブームの形状はAからCへ変わってきました。使われているのは1200MPa級の高張力鋼です。(Webiloによる)

クレーンのブームがスライドする部分の構造です。断面Cの下側の円弧状の部分のスライドプレートが内箱を支えます。
(特開2008-265980より)

全体はこんな感じ。
(特開2008-265980より)

解析モデルはこんな感じ。元の部分はSHELLで、他はBEAMで簡略化。

ポイントは拘束部。パッドの部分では法線方向の変位と法線・接線軸周りの回転を拘束しました。
他の部分はZ軸(長手)方向とx軸・y軸周りの回転を拘束しました。
モデル全景は下図になります。


DEBUT();
meshinit=LIRE_MAILLAGE(FORMAT='MED',
INFO=1,);
開始とmeshデータの読み込みです。
modeinit=AFFE_MODELE(MAILLAGE=meshinit,
AFFE=(_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),
_F(GROUP_MA=('t50','upper','lower',),
PHENOMENE='MECANIQUE',
MODELISATION='DKT',),
_F(GROUP_MA=('beam','beamt',),
PHENOMENE='MECANIQUE',
MODELISATION='POU_D_E',),),);
3次元の構造解析であること、shell(DKT)要素のグループとbeam要素のグループを設定しました。
meshinit=MODI_MAILLAGE(reuse =meshinit,
MAILLAGE=meshinit,
ORIE_PEAU_3D=_F(GROUP_MA=('t50','lower','upper',),),);
shell要素の方向を揃えるときに使いますが、今回は意味がありません。
境界条件の設定にむけての準備です。

code asterには面の法線方向を拘束する便利な機能があります。
これを使うため、パッドが接する領域の節点を2つのグループに分けます。

meshinit=DEFI_GROUP(reuse =meshinit,
MAILLAGE=meshinit,
CREA_GROUP_NO=(_F(GROUP_MA=('end',),NOM='end'),
_F(GROUP_MA=('center',),NOM='center'),
_F(GROUP_MA=('lowlef',),NOM='lowlef'),
_F(DIFFE=('lowlef','end'),NOM='nsanlef'),
_F(GROUP_MA=('lowrig',),NOM='lowrig'),
_F(DIFFE=('lowrig','end'),NOM='nsanrig'),
_F(DIFFE=('lowrig','nsanrig'),NOM='fixrig'),
_F(DIFFE=('lowlef','nsanlef'),NOM='fixlef'),
),
);
まず、エッジやフェースのグループから節点のグループを作成します。
そして、フェースのグループlowlef、lowrigから、endにも含まれる節点を除いた節点グループnsanlefとnsanrigを作成します。
次に、フェースとエッジの両方に含まれる節点のグループfixlefとfixrigを作成していますが、これは計算には使用していません。
shellch=AFFE_CARA_ELEM(MODELE=modeinit,
POUTRE=(_F(GROUP_MA='beam',
SECTION='CERCLE',
CARA=('R','EP',),
VALE=(1000.0,500.0,),),
_F(GROUP_MA='beamt',
SECTION='CERCLE',
CARA=('R','EP',),
VALE=(1000.0,500.0,),),),
COQUE=(_F(GROUP_MA='t50',
EPAIS=50.0,
COQUE_NCOU=1,),
_F(GROUP_MA='upper',
EPAIS=5.0,
COQUE_NCOU=1,),
_F(GROUP_MA='lower',
EPAIS=7.0,
COQUE_NCOU=1,),
_F(GROUP_MA='vface',
EPAIS=50.0,
VECTEUR=(0.0,1.0,0.0,),),),
ORIENTATION=_F(GROUP_MA='beamt',
CARA='VECT_Y',
VALE=(1.0,0.0,0.0,),),);
Material properties
define plastic behaviour of steel by Traction
steel=DEFI_MATERIAU(ELAS=_F(E=206800.0,
NU=0.27,),);
matprops=AFFE_MATERIAU(MAILLAGE=meshinit,
AFFE=_F(TOUT='OUI',
MATER=steel,),);
上のように各要素の設定(板厚や断面特性)と材料特性を設定しました。
LoadFix=AFFE_CHAR_MECA(MODELE=modeinit,
DDL_IMPO=(_F(GROUP_NO='end',
DX=0.0,
DRY=0.0,
DRZ=0.0,),
_F(GROUP_NO='center',
DZ=0.0,),),
FACE_IMPO=(_F(GROUP_MA='lowlef',
SANS_GROUP_NO='nsanlef',
DNOR=0.0,),
_F(GROUP_MA='lowrig',
SANS_GROUP_NO='nsanrig',
DNOR=0.0,),),
FORCE_NODALE=_F(GROUP_NO='load',
FY=ydisp,),);
境界条件です。x方向の併進、DRY=DRZ=0(DRN=DRT=0と同じ)は拘束部分の節点共通です。
法線方向の拘束はFACE_IMPOを使用しています。フェースグループと対象外の節点グループを設定することで、端の円弧部分に法線方向の拘束を与えています。
resu=MECA_STATIQUE(MODELE=modeinit,
CHAM_MATER=matprops,
CARA_ELEM=shellch,
EXCIT=_F(CHARGE=LoadFix,),
OPTION='SIEF_ELGA',);
resu=CALC_CHAMP(reuse =resu,
RESULTAT=resu,
CONTRAINTE=('EFGE_ELNO','SIEF_ELNO','EFGE_NOEU',),
CRITERES='SIEQ_ELNO',);
res_sup=POST_CHAMP(RESULTAT=resu,
EXTR_COQUE=_F(NOM_CHAM='SIEQ_ELNO',
NUME_COUCHE=1,
NIVE_COUCHE='SUP',),);
res_inf=POST_CHAMP(RESULTAT=resu,
EXTR_COQUE=_F(NOM_CHAM='SIEQ_ELNO',
NUME_COUCHE=1,
NIVE_COUCHE='INF',),);
res_moy=POST_CHAMP(RESULTAT=resu,
EXTR_COQUE=_F(NOM_CHAM='SIEQ_ELNO',
NUME_COUCHE=1,
NIVE_COUCHE='MOY',),);
res_sup=CALC_CHAMP(reuse =res_sup,
RESULTAT=res_sup,
CRITERES='SIEQ_NOEU',);
res_inf=CALC_CHAMP(reuse =res_inf,
RESULTAT=res_inf,
CRITERES='SIEQ_NOEU',);
res_moy=CALC_CHAMP(reuse =res_moy,
RESULTAT=res_moy,
CRITERES='SIEQ_NOEU',);
線形構造解析を行い、結果resuから、shell要素のMises応力を求めています。その際、shellの表、中立、裏の3面について行っています。
IMPR_RESU(FORMAT='MED',
UNITE=81,
RESU=(_F(RESULTAT=resu,NOM_CHAM='DEPL',GROUP_MA=('t50','upper','lower',),),
_F(RESULTAT=res_inf,),
_F(RESULTAT=res_moy,),
_F(RESULTAT=res_sup,),),);
beam要素についてMises応力を計算できません。変位は、shellについて出力するようにします。これで、paraviewに取り込んだ時、同じグループとして扱われます。
TB_nodf=CREA_TABLE(RESU=_F(GROUP_NO=('end','load',),
NOM_CHAM='DEPL',
NOM_CMP=('DX','DY','DZ','DRX','DRY','DRZ', ),
RESULTAT=resu),
TITRE='depl_Tab',
TYPE_TABLE='TABLE') ;
IMPR_TABLE(TABLE=TB_nodf,
FORMAT='TABLEAU',
UNITE=8,
SEPARATEUR=' * ',
TITRE='displacements at nodes on group end',);
拘束の状態を確認するための節点変位の出力を行いました。
FIN();
終了です。
解析結果です。


拘束している部分の変形を調べました。節点の変位を1000倍にしてあります。パッド部分の拘束は意図したものになっていました。

モデル(hdf、med)、解析データ(astk、comm)は以下にあります。
追加
Code Aster13.6では、標準のSOLVERはMULT_FRONTでしたが、Code Aster14.4ではMUMPSのようです。Code Aster14.4で解析するときは、commの一部を次のように変更してください。
resu=MECA_STATIQUE(MODELE=modeinit,
CHAM_MATER=matprops,
CARA_ELEM=shellch,
EXCIT=_F(CHARGE=LoadFix,),
SOLVEUR=_F(RESI_RELA=1.E-04,
METHODE='MUMPS',),
OPTION='SIEF_ELGA',);
コメント