Solid 要素 とっても簡単なモデル

sponsored

この直方体のZ方向の面frontに荷重を加え、backに属する節点を拘束します。

幾何モデルを作成します。

Geomにして、New Entity > Basis >Pointと選択していき、直方体の8個の頂点座標を入力していきます。

そして、New Entity > Basis > Lineで点を結んでLineを作ります。
次に、Build > Faceで面を作ります。6面を作ります。

面は、Build > Shellで、ひとかたまり(グループ)にします。Shell_1ができます。

それから、Build > Solidを開いて、ObjectにShell_1を選択してSolidを作ります。

次に、solid_1をexplodeして、solid_1にface、edge、vertexをぶらさげます。faceは判別のために名前を付けておきます。これでGEOMETRYの準備は完了です。

これからMESHを作成します。

今回は簡単です。

先に作成したSolid_1を選択します。

Mesh typeはdefaultの”Any”のまま。

アルゴリズムはNETGEN 1D-2D-3Dとしました。(簡単そうなので)

NETGENの設定はこんな感じです。

Apply and Closeを押して、Computeを選択すれば、下図のようにMeshが作成されました。

commファイルです。まずは、宣言!とmeshの読み込みです。

DEBUT(identifier='0:1',
LANG='EN')
mesh = LIRE_MAILLAGE(identifier='1:1',
UNITE=20)

モデルを定義します。3Dの構造物なので’3D’、線形解析なので’MECANIQUE’です。

model = AFFE_MODELE(identifier='2:1',
AFFE=_F(MODELISATION='3D',
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=mesh)

材料は鋼としています。

steel = DEFI_MATERIAU(identifier='3:1',
ELAS=_F(E=206800.0,
NU=0.29))
fieldmat = AFFE_MATERIAU(identifier='4:1',
AFFE=_F(MATER=(steel, ),
TOUT='OUI'),
MODELE=model)

荷重は’front’面に、Z方向に1N、圧縮になるように設定します。

load = AFFE_CHAR_MECA(identifier='5:1',
FORCE_FACE=_F(FZ=-1.0,
GROUP_MA=('front', )),
MODELE=model)

拘束は’back’面に所属する節点の並進自由度を拘束します。Solidの場合、回転(’DRX’、’DRY’、’DRZ’)を指定しようとするとエラーになってしまいます。

fix = AFFE_CHAR_MECA(identifier='6:1',
DDL_IMPO=_F(DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_NO=('back', )),
MODELE=model)

solverの設定です。

reslin = MECA_STATIQUE(identifier='7:1',
CHAM_MATER=fieldmat,
EXCIT=(_F(CHARGE=load),
_F(CHARGE=fix)),
MODELE=model,
OPTION='SIEF_ELGA')

後処理の指示です。Mises応力がみられるようにしました。FORCE=(’REAC_NODA’)で拘束点の反力を出力します。

reslin = CALC_CHAMP(identifier='8:1',
reuse=reslin,
CONTRAINTE=('SIGM_NOEU', ),
CRITERES=('SIEQ_NOEU', ),
DEFORMATION=('EPSL_NOEU', ),
FORCE=('REAC_NODA', ),
RESULTAT=reslin)

反力は表形式で出力したいので、そのためのデータを’force’に収納する設定です。

force = POST_RELEVE_T(identifier='9:1',
ACTION=_F(GROUP_NO=('back', ),
INTITULE='SPC',
NOM_CHAM='REAC_NODA',
OPERATION=('EXTRACTION', ),
RESULTANTE=('DX', 'DY', 'DZ'),
RESULTAT=reslin,
TOUT_ORDRE='OUI'))

応力や節点変位のコンターの出力です。

IMPR_RESU(identifier='10:1',
FORMAT='MED',
RESU=_F(RESULTAT=reslin,
TOUT_ORDRE='OUI'),
UNITE=80)

反力’force’を出力します。

IMPR_TABLE(identifier='11:1',
TABLE=force,
UNITE=8)

commの終わりです。

FIN()

SalomemecaのAsterを使うと、対話形式でさくさく入力できます。

結果(ミーゼス応力)です。

拘束点の反力の合計はresuファイルに出力されます。

FORCE_FACEって、単位面積あたりの荷重を指定することがわかりました。

コメント

タイトルとURLをコピーしました