본문 바로가기
Program/ABAQUS

ABAQUS 예제 02 (KEYWORD)

by 시레엔 2017. 4. 5.
반응형

안녕하세요. 오늘은 저번 1번 예제에 이어서 2번째 예제입니다.

ABAQUS KEYWORD를 이용한 파이프 관 만들기입니다. 이것은 기존 예제와 다르게 조금 더 복잡합니다. 하지만, 명령어 사용이 반복되는 작업이기 때문에 하나 하나 잘 이해하시면, 모델을 잘 만들 수 있을 것이라고 생각합니다.

*node
1,   1,0,0
10,  0,1,0
20,  -1,0,0
30,  0,-1,0
40,   1,0,0
201,   3,0,0
210,  0,3,0
220,  -3,0,0
230,  0,-3,0
240,   3,0,0
10001,   1,0,10
10010,   0,1,10
10020,  -1,0,10
10030,  0,-1,10
10040,   1,0,10
10201,   3,0,10
10210,   0,3,10
10220,  -3,0,10
10230,  0,-3,10
10240,   3,0,10

일단 기존의 모델구성과 같이 Node, Element 순으로 정의를 해주어야합니다. 위의 Node 명령어를 통해서 점을 뿌려줍니다. 그러기 위해서 위의 파란색 글씨에서 보이는 것과 같이 Node 번호를 입력을 해주고, 행의 오른쪽 방향으로 x, y, z의 좌표를 입력해 주면서 Node를 생성하는 작업을 합니다. 이것은 파이프에서의 0,0,0의 기준으로 동서남북 방향으로 Node를 뿌려준 것이다. 모눈종이에 점을 찍어보면 더 잘 이해할 수 있을 것이라고 생각합니다.

*ngen,line=C
1,10,1,,0., 0., 0.
*ngen,line=C
10,20,1,,0., 0., 0.
*ngen,line=C
20,30,1,,0., 0., 0.
*ngen,line=C
30,40,1,,0., 0., 0.

사방으로 뿌려둔 Node를 기준으로 곡선으로 사이 Node를 만들어주는 작업입니다. NgenNode generator라고 생각하시면 될 것 같습니다. 이후 'line=C'는 곡선으로 노드를 만들라고 하는 옵션을 선택해 준 것이며, 아래 첫째줄에 1번부터 10번 노드 사이에 1씩 증분을 가지며 노드를 생성하는 것을 말합니다. 그리고 곡선을 만드는 기준점은 0,0,0을 갖는 다는 것이 두줄로 나타납니다. 이후의 1번부터 40번까지의 노드를 전부 생성하면서 안쪽 내부의 원 생성에 필요한 노드들이 뿌려지는 것을 알 수 있습니다.

*ngen,line=C
201,210,1,,0., 0., 0.
*ngen,line=C
210,220,1,,0., 0., 0.
*ngen,line=C
220,230,1,,0., 0., 0.
*ngen,line=C
230,240,1,,0., 0., 0.

위의 과정과 동일한 방법으로 파이프 모델의 외부 원형에 필요한 노드를 뿌리는 작업을 나타낸 것입니다. Ngen의 명령어를 써서 0,0,0을 기준으로 바깥 원 형성에 필요한 노드를 만들어줬습니다. 아래 부분의 Ngen도 모두 동일하기 때문에 아래 부분의 설명은 생략할 수 있도록 하겠습니다.


*ngen,line=C
10001,10010,1,,0., 0., 10.
*ngen,line=C
10010,10020,1,,0., 0., 10.
*ngen,line=C
10020,10030,1,,0., 0., 10.
*ngen,line=C
10030,10040,1,,0., 0., 10.


*ngen,line=C
10201,10210,1,,0., 0., 10.
*ngen,line=C
10210,10220,1,,0., 0., 10.
*ngen,line=C
10220,10230,1,,0., 0., 10.
*ngen,line=C
10230,10240,1,,0., 0., 10.

세번째 과정으로는 nset 과정입니다. nsetNode Set이라고 생각하시면 될 것 같고, 노드를 집합으로 묶는 작업을 말합니다. 이것을 하는 이유는 nfill이라는 명령어를 사용하기 위한 전 단계라고 생각하시면 될 것 같습니다. 여기서 nfill은 위에서 생성된 내부 원과 외부 원의 사이를 채우는 과정을 진행하거나 마주보는 중공 원의 내부를 채우는 명령어라고 생각하시면 될 것 같습니다.

*nset,nset=in1, GENERATE
1,40,1
*nset,nset=out1, GENERATE
201,240,1
*nset,nset=in2, GENERATE
10001,10040,1
*nset,nset=out2, GENERATE
10201,10240,1

nset의 구조는 'nset, nset=nset의 이름'으로 적용을 하며, 'generate'는 증분을 넣을때 사용한다. 그래서 'in1'nset을 1부터 40까지 1의 증분을 가지고 집합을 형성하는 구조이다. 그래서 내부 원은 'in1 '으로 생성하였으며, 바깥 원은 'out1'으로 생성 했습니다.

*nfill,nset=surf1
in1,out1,2,100
*nfill,nset=surf2
in2,out2,2,100
*nfill,nset=surf2
surf1,surf2,10,1000

Nset의 명령어를 이용하여 생성된 정보를 가지고, nfill 명령어를 사용하여 사이를 채워줍니다. nfillnset과 비슷하게 'nfill, nset=집합의 이름'의 형식으로 적용을 합니다. 그리고 아래줄에는 'in1''out1'의 사이에 2개의 층을 형성하며, 노드 번호는 100씩 증가시키며 만든다는 내용이 포함되어 있습니다. 또한, 3번째 나와있는 nfill은 마주보고 있는 중공 원의 사이를 채워주는 과정입니다. 백문이 불여일견이라고 이것은 시도한 후에 node가 분포되어 있는 모습을 보면서 느껴보시는게 가장 좋은 방법이라고 생각합니다.

*ELEMENT, TYPE=C3D8
1, 1, 101, 102, 2, 1001, 1101, 1102, 1002
*ELGEN, ELSET=all
1, 39, 1, 1, 2, 100, 100, 10, 1000, 1000

마지막으로 뿌려놓은 Node를 연결하는 과정인 Element 형성 방법입니다.

먼저 기준이 되는 Element TypeElement 1번을 형성해줍니다. 그래서 선택한 요소 타입은 C3D8Full Integration 요소입니다. 그리고 요소1번은 8개의 Node 정보를 바탕으로 형성이 되어진 것을 위의 Code에서 볼 수 있습니다. 또한, 이것을 바탕으로 ELGEN, 즉 Element Generator를 이용하여 1번 요소를 기준으로 X축으로 39개의 Element를 1줄로 1씩 증가시키면서 형성하고, Y축으로 2줄을 형성하며 100씩 증가시키게 만드는 것이고 두개의 중공 원을 잇는 부분은 Z축 방향으로 10개의 층을 형성하는 것을 말합니다.

위의 모든 정보들은 ABAQUS Documentation Keyword 파트에서 확인할 수 있는 부분입니다. 그래서 이해가 안되시는 분들은 한번 들어가서 보시는 것을 추천합니다.

 

반응형

댓글