September 20, 2016

[SIMULIA 제품소개] Abaqus의 외연적 유한 요소법(Explicit) 해석

안녕하세요 다쏘시스템코리아 SIMULIA 브랜드팀입니다. 이번 포스팅은 Abaqus/Explicit에 대해 소개해 드리겠습니다. Explicit vs. Implicit 유한요소법(FINITE ELEMENT METHOD)을 이용한 CAE과정에서 주어진 문제에 적합한 해석
header
Avatar 다쏘시스템코리아

안녕하세요 다쏘시스템코리아 SIMULIA 브랜드팀입니다.

이번 포스팅은 Abaqus/Explicit에 대해 소개해 드리겠습니다.

Explicit 계산순서

1) 아래 그림과 같이 현재의 가속도로부터 tn+1/2에서의 속도를 계산합니다.

2) 그리고 그 속도로부터 tn+1에서의 변위를 계산합니다.

3) 변위를 이용하여 요소의 strain, stress 그리고 internal force를 계산합니다.

4) Internal force과 주어진 하중을 이용하여 새로운 가속도를 계산합니다.

5) 위의 과정을 반복합니다.

Energy balances

에너지 밸런스는 explicit 해석이 적절히 수행되었는지 평가할 수 있는 기준이 될 수 있습니다. Abaqus/Explicit에서는 에너지 밸런스는 아래와 같이 표현됩니다.

여기서,

전체 에너지 밸런스는 일정하게 유지되는 것이 좋습니다. 만약 변한다면 변동량이 초기 대비 1~3% 이내가 되도록 해주면 됩니다. Hourglass mode를 억제하기 위해 사용된 “artificial” strain energy (ALLAE)는 internal energy(ALLIE)의 1~2%이하가 되도록 하는 것이 좋습니다.

Hourglassing이란 explicit 해석에서는 해석 시간을 줄이기 위해 감차적분(reduced integration) 요소를 사용하게 되는데, 이때 발생하는 아래 그림과 같은 해석의 불안정성을 말합니다. 이를 해결하기 위해서는 전체적분(fully integration) 요소를 사용하거나, 메쉬를 조밀하게 수정하면 됩니다. 그러나 이런 방법들은 해석시간이 늘어나게 되어 계산비용이 늘어나게 됩니다. 그래서 해석 시간에 영향을 거의 받지 않기 위해 hourglass control을 사용하는 방법이 있습니다. 어떠한 방법을 사용할 지는 문제에 따라 엔지니어가 적절한 방법을 선택해서 사용해야 되겠습니다.

준정적해석(quasi-static simulation)에서 운동에너지(ALLKE)는 일반적으로 전체 일(ALLWK) 또는 내부에너지(ALLIE)의 5~10%이하가 되도록 하는 것이 좋습니다. 매스 스케일링이 너무 크거나, 접촉 설정에서 문제가 있으면 과도한 일이 발생할 수 있습니다. 이런 경우에는 접촉이나 매스 스케일링을 확인해서 수정하는 것이 좋습니다. 또 과도한 시간증분으로 인해 전체 에너지(ETOTAL)의 큰 변화가 있을 수도 있습니다. 이러한 문제가 발생하지 않도록(일반적으로3%내외) 적절한 시간증분을 지정해 주거나 자동시간증분(automatic time integration)을 사용하는 것이 좋습니다.

Output

Abaqus/Explicit에서는 3가지 결과 파일을 제공합니다.

Output database file(.odb) : 바이너리 결과 파일로 Abaqus/Viewer로 확인 가능합니다.

Restart file(.res) : restart 결과 파일로 restart 해석이나 Abaqus/Standard와 Abaqus/Explicit간에 결과를 넘겨줄 때 사용할 수 있습니다.

Selected results file(.sel) : 다른(third-party) postprocessing을 위한 결과파일입니다.

Output database file에는 필드(field)와 히스토리(history) 데이터의 두 가지 타입이 있습니다. 필드 데이터는 모델의 변형, 컨투어 등을 나타내거나 X-Y plot을 할 수 있습니다. 히스토리 데이터는 X-Y plot을 하는데 사용됩니다. 기본적인 필드데이터로는 요소의 S, LE, PE, PEEQ 노드와 서피스의 U, V, A, RF, CSTRESS가 있고, 히스토리 데이터는 전체 모델에 대한 여러 에너지들을(ALLKE, ALLSE, ALLWK, ALLPD, ALLCD, ALLVD, ALLDMD, ALLAE, ALLIE, ALLFD, ETOTAL) 확인할 수 있습니다.

예제

위의 예제를 implicit와 explicit로 풀어보겠습니다. 아래 결과를 보면 implicit와 explicit가 큰 차이가 없습니다. Explicit도 해석자가 잘 설정하면 implicit 못지않은 결과를 얻을 수 있습니다.

EXPLICIT의 경우 해의 정확도를 높이기 위해서는 TIME STEP을 매우 작게 하는 방법을 써야 합니다. 일반적으로 비선형성이 클수록 TIME STEP은 더 작아져야 합니다.

그러나 또 문제는 해석 시간입니다. TIME STEP을 무한정 작게 잡을 수 없는 이유는 기하급수적으로 늘어나는 해석 시간 때문입니다. 최적의 TIME STEP은 어떻게 설정해야 할까요? 해석의 정확도를 유지하면서 해석시간을 줄이기 위한 방법에 대해서 다음 포스팅에서 알아보도록 하겠습니다.

Abaqus/Explicit 해석에 관해 문의가 있으면 SIMULIA 기술지원팀으로 연락 부탁드립니다.(02-3270-8541)

 시뮬리아  아바쿠스  SIMULIA  ABAQUS

다쏘시스템 SIMULIA 정규 교육 세미나

https://www.3ds.com/ko/training/simulia-education-korea/

Explicit vs. Implicit

유한요소법(FINITE ELEMENT METHOD)을 이용한 CAE과정에서 주어진 문제에 적합한 해석 소프트웨어 혹은 접근 방법의 두 가지 선택 사항이 바로 EXPLICIT으로 해석할 것이냐 IMPLICIT으로 해석할 것이냐입니다. 둘 다 접근 가능한 문제도 심심치 않게 있습니다.

Implicit finite element method는 내연적 유한 요소법 이라고 말합니다.

Explicit finite element method는 외연적 유한 요소법이라고 합니다.

둘의 차이점을 살펴볼까요?

Implicit는 정적 응력해석에서 사용하는 방법이라고 보면 됩니다. 즉 힘의 평형을 만족시키는 해석입니다. Implicit해석은 탄성력(F=KU)에 기반한 해석이고, Explicit해석은 관성력(F=MA)에 기반한 해석입니다.

내연적 유한요소법의 가장 큰 특징은 반복계산에 있습니다(iteration). 이 과정은 구조해석 문제에서 풀게 되는 3가지 방정식 평형 방정식, 구성 방정식, 적합 방적식을 연립하여 해를 구하는 프로세스입니다. 적당한 TIME STEP(시간증분) 이 주어지면 그 시점에서의 평형, 구성, 적합 방정식을 만족하는 해를 구해 나가게 됩니다. 이 답을 구하기 위해 여러 번 반복 계산을 하게 됩니다.

결국 반복 계산에서 풀게 되는 것은 연립방정식을 하나의 큰 매트릭스 형태로 만든 강성행렬입니다. 강성행렬은 요소의 수, 접촉 조건, 경계 조건, 하중 조건 등에 의해 그 크기가 결정되며 크기가 커질수록 가우스 소거법 등의 알고리즘을 적용하는 것이 만만치 않아집니다. 때에 따라서는 수렴이 결국 되지 않고 계산 불능의 상태가 되기도 합니다. 이것이 IMPLICIT의 최대 단점이라고 할 수 있습니다. 그러나 수렴만 되면 그 해는 모든 방정식을 다 고려해서 EXACT SOLUTION을 찾아 낸 것이기 때문에 높은 정확도를 갖게 됩니다.

선형해석에서는 K가 선형이므로 무조건 안정상태로 생각할 수 있습니다.

Implicit 해석은 K역행렬이 필요하고 역행렬을 풀어야 하고 반대로 Explicit해석은 역행렬이 필요 없습니다. 이러한 이유에서 선형에서는 Implicit해석이 잘 맞지만 비선형의 경우 선형의 K값을 비선형의 K로 근사시켜 해석 하는 것이기 때문에 Time Step이 작으면 작을 수록 정확합니다. 그래서 극심한 비선형의 경우 수렴을 보장 할 수 없어, Explicit해석을 적용합니다.

Explicit 해석은 주로 시간에 따라 변형량이 계속 변하며 누적되는 해석의 적용을 의미 합니다. 주로 자동차 충돌해석, 낙하해석, 성형해석 등에 사용됩니다.

Explicit 해석은 주로 시간에 따라 변형량이 계속 변하며 누적되는 해석의 적용을 의미 합니다. 시간에 따라 변하는 물체의 거동을 구하는 경우, 시간을 다수의 구간으로 나누어 각 구간에 해당하는 거동을 순차적으로 계산하게 됩니다. 이렇게 순차적으로 시간에 따른 물체의 거동을 계산하는 것을 시간적분(time integration)이라고 부릅니다. Explicit는 다음 시점에서의 거동을 계산하기 위해 현 시점의 거동에 대한 수학적 표현식을 이용하여 푸는 방법입니다. 현 시점에서의 거동은 이미 계산되어 아는 값이기 때문에 implicit보다 계산이 매우 간단합니다. 그래서 대형 해석문제를 푸는데 좋습니다.

주로 자동차 충돌해석, 낙하해석, 성형해석 등에 사용됩니다.

스프링백 해석이나 좌굴 해석 같이 정확도가 매우 높게 요구되는 경우에는 IMPLICIT을 주로 사용하는 것이 적합하다고 생각합니다. 그러나 비선형성이 높은 문제에서는 IMPLICIT은 결국 답을 못얻어 낼 수 있는 위험이 있습니다. 비선형성이라 하면 크게 3가지로 말할 수 있습니다.

1) 재료의 비선형성 : 소성영역까지 고려할 때는 필수적입니다. 거의 모든 재료는 사실상 비선형성입니다.

2) 접촉의 비선형성 : 접촉은 모든 해석에서 어려움을 주는 난제가 아닐 수 없습니다.

3) 형상의 비선형성 : 형상이 비대칭적이고 비선형적인 경우, 요즘의 대부분의 제품이 유선형의 비대칭적 바디인 경우가 많습니다.

비선형성이 강한 문제일수록 결국 EXPLICIT으로 접근을 해야합니다. EXPLICIT은 강성행렬을 풀어나가는 것이 아니고 이전 단계의 값을 다음단계에 대입 함으로 해를 얻어 갑니다. 따라서 수렴에 대한 부담이 없습니다. 해는 반드시 구해지게 됩니다. 그러나 그 정확도가 문제가 될 것입니다.

Explicit 계산순서

1) 아래 그림과 같이 현재의 가속도로부터 tn+1/2에서의 속도를 계산합니다.

2) 그리고 그 속도로부터 tn+1에서의 변위를 계산합니다.

3) 변위를 이용하여 요소의 strain, stress 그리고 internal force를 계산합니다.

4) Internal force과 주어진 하중을 이용하여 새로운 가속도를 계산합니다.

5) 위의 과정을 반복합니다.

Energy balances

에너지 밸런스는 explicit 해석이 적절히 수행되었는지 평가할 수 있는 기준이 될 수 있습니다. Abaqus/Explicit에서는 에너지 밸런스는 아래와 같이 표현됩니다.

여기서,

전체 에너지 밸런스는 일정하게 유지되는 것이 좋습니다. 만약 변한다면 변동량이 초기 대비 1~3% 이내가 되도록 해주면 됩니다. Hourglass mode를 억제하기 위해 사용된 “artificial” strain energy (ALLAE)는 internal energy(ALLIE)의 1~2%이하가 되도록 하는 것이 좋습니다.

Hourglassing이란 explicit 해석에서는 해석 시간을 줄이기 위해 감차적분(reduced integration) 요소를 사용하게 되는데, 이때 발생하는 아래 그림과 같은 해석의 불안정성을 말합니다. 이를 해결하기 위해서는 전체적분(fully integration) 요소를 사용하거나, 메쉬를 조밀하게 수정하면 됩니다. 그러나 이런 방법들은 해석시간이 늘어나게 되어 계산비용이 늘어나게 됩니다. 그래서 해석 시간에 영향을 거의 받지 않기 위해 hourglass control을 사용하는 방법이 있습니다. 어떠한 방법을 사용할 지는 문제에 따라 엔지니어가 적절한 방법을 선택해서 사용해야 되겠습니다.

준정적해석(quasi-static simulation)에서 운동에너지(ALLKE)는 일반적으로 전체 일(ALLWK) 또는 내부에너지(ALLIE)의 5~10%이하가 되도록 하는 것이 좋습니다. 매스 스케일링이 너무 크거나, 접촉 설정에서 문제가 있으면 과도한 일이 발생할 수 있습니다. 이런 경우에는 접촉이나 매스 스케일링을 확인해서 수정하는 것이 좋습니다. 또 과도한 시간증분으로 인해 전체 에너지(ETOTAL)의 큰 변화가 있을 수도 있습니다. 이러한 문제가 발생하지 않도록(일반적으로3%내외) 적절한 시간증분을 지정해 주거나 자동시간증분(automatic time integration)을 사용하는 것이 좋습니다.

Output

Abaqus/Explicit에서는 3가지 결과 파일을 제공합니다.

Output database file(.odb) : 바이너리 결과 파일로 Abaqus/Viewer로 확인 가능합니다.

Restart file(.res) : restart 결과 파일로 restart 해석이나 Abaqus/Standard와 Abaqus/Explicit간에 결과를 넘겨줄 때 사용할 수 있습니다.

Selected results file(.sel) : 다른(third-party) postprocessing을 위한 결과파일입니다.

Output database file에는 필드(field)와 히스토리(history) 데이터의 두 가지 타입이 있습니다. 필드 데이터는 모델의 변형, 컨투어 등을 나타내거나 X-Y plot을 할 수 있습니다. 히스토리 데이터는 X-Y plot을 하는데 사용됩니다. 기본적인 필드데이터로는 요소의 S, LE, PE, PEEQ 노드와 서피스의 U, V, A, RF, CSTRESS가 있고, 히스토리 데이터는 전체 모델에 대한 여러 에너지들을(ALLKE, ALLSE, ALLWK, ALLPD, ALLCD, ALLVD, ALLDMD, ALLAE, ALLIE, ALLFD, ETOTAL) 확인할 수 있습니다.

예제

위의 예제를 implicit와 explicit로 풀어보겠습니다. 아래 결과를 보면 implicit와 explicit가 큰 차이가 없습니다. Explicit도 해석자가 잘 설정하면 implicit 못지않은 결과를 얻을 수 있습니다.

EXPLICIT의 경우 해의 정확도를 높이기 위해서는 TIME STEP을 매우 작게 하는 방법을 써야 합니다. 일반적으로 비선형성이 클수록 TIME STEP은 더 작아져야 합니다.

그러나 또 문제는 해석 시간입니다. TIME STEP을 무한정 작게 잡을 수 없는 이유는 기하급수적으로 늘어나는 해석 시간 때문입니다. 최적의 TIME STEP은 어떻게 설정해야 할까요? 해석의 정확도를 유지하면서 해석시간을 줄이기 위한 방법에 대해서 다음 포스팅에서 알아보도록 하겠습니다.

Abaqus/Explicit 해석에 관해 문의가 있으면 SIMULIA 기술지원팀으로 연락 부탁드립니다.(02-3270-8541)

 시뮬리아  아바쿠스  SIMULIA  ABAQUS

다쏘시스템 SIMULIA 정규 교육 세미나

https://www.3ds.com/ko/training/simulia-education-korea/

최신 정보 확인하기

새로운 콘텐츠를 놓치고 싶지 않다면, 구독해주세요

구독하기

매월 새로운 콘텐츠를 받아보고 싶다면, 구독해주세요.