Ansys LS-DYNA의 Restart 기능 및 활용방법
Introduction
해석을 하다 보면 사용자의 실수나 다른 외부적인 문제로 진행 중이던 해석이 중단되는 경우가 발생한다. 이러한 경우, Ansys LS-DYNA®의 “Restart” 기능을 활용하여 해석 시뮬레이션을 처음부터 다시 수행하지 않고 해석이 중단된 특정 시점부터 재시작 할 수 있다. 또한 이미 완료된 해석에 대해 조건을 변경하여 해석 시뮬레이션을 이어서 진행할 수 있다. 이번 호에서는 LS-DYNA의 Restart 기능에 대해 소개하고, 예제를 통해 LS-PrePost와 Workbench 환경에서 활용하는 방법을 알아본다.
■ Restart 해석의 수행 조건
Restart 해석을 사용하기 위해서는 아래와 같은 조건이 필요하다.
- 동일한 실행솔버(Executable)을 사용하는가? 예) lsdyna_sp.exe
- 동일한 CPU 개수인가?
- Dump 파일이 생성되었는가?
Dump 파일은 Restart를 위한 Binary Output 파일로 특정 시점의 응력, 변형률, 변형량 등 해석결과를 완전히 기록한다. LS-DYNA에 두가지 유형의 Dump 파일이 있고, 그 중 한 유형인 D3DUMP 파일은 특별히 설정하지 않아도 해석이 정상 종료되면 d3dump01 파일이 생성된다. 이 파일에 대하여 *DATABASE_BINERY_D3DUMP 키워드를 통해 사용자가 정의한 간격에 따라 D3DUMP 파일을 주기적으로 생성할 수 있고, 생성된 파일 뒤에 숫자가 붙어 주기마다 증가하고 해석 폴더내에서 d3dump01, d3dump02 등으로 확인할 수 있다. 다른 유형의 Dump 파일은 RUNRSF로 *DATABASE_BINERY_RUNRSF 키워드를 통해 사용자가 정의한 간격에 따라 파일을 생성하지만, NR 매개변수가 사용되지 않는 한 동일한 파일에 덮어씌워져 생성된다. 이 두가지 Dump 파일은 함께 사용할 수 있고, 아래 그림1은 D3DUMP 파일을 주기적으로 저장하기 위한 *DATABASE_BINARY_D3DUMP 키워드 예시이다.
그림1. D3DUMP 저장 간격 키워드 예시
■ Restart Type
LS-DYNA의 Restart Type은 이전 해석에 이어서 수행하는 기능으로 크게 3가지로 나눌 수 있다.
- Simple Restart
- Small Restart
- Full Restart
그럼 이전 해석에 이어서 진행해야 하는 몇 가지 상황에 따라 어떤 Type의 Restart 기능을 사용하는지 알아보자.
1. 실수로 해석창을 닫았어요! – Simple Restart
Simple Restart는 종료시간(Termination Time) 이전에 해석이 중단된 경우에 사용자가 설정한 주기마다 저장된 d3dump 파일을 사용하여 특정 시점부터 해석을 다시 시작하는 기능이다. 따라서 변경사항이 없어 입력 파일(Keyword Input Deck)이 필요하지 않고 d3dump 파일만 활용한다.
그림2. 일반적인 해석 실행 화면(LS-RUN)
그림3. 일반적인 해석 실행 화면(CMD창)
그림 2와 같이 LS-RUN을 사용하여 해석을 수행한 경우 그림3과 같은 CMD창이 팝업 되고 해석진행에 따른 메시지를 바로 확인할 수 있다. 그림 1의 키워드 예시처럼 사용자가 Dump 파일의 저장주기를 미리 설정하였다면, CMD창에 나타난 메시지처럼 지정된 주기 5,000 cycle 마다 DUMP 파일이 저장되고 있음을 알 수 있다. 만약 10,000 cycle 이후 실수로 해석 CMD창을 닫아 해석이 중단이 되었다면, d3dump02를 사용하여 Restart 해석을 수행할 수 있다. 아래 그림처럼 LS-RUN의 Expression 설정에서 i=$INPUT 대신 r=d3dump02 으로 명령어를 수정하여 Dump 파일을 사용하여 해석을 이어 나갈 수 있다.
그림4. Simple Restart 해석 실행 화면(LS-RUN)
그림5. Simple Restart 해석 실행 화면(CMD창)
2. 해석이 끝났지만 이후 결과를 더 보고싶어요! – Small Restart
Small Restart는 제한적으로 Input을 변경하여 종료된 해석을 계속 수행할 수 있다. 변경할 수 있는 조건으로 해석종료 시간, 해석결과 저장간격, 타임스텝, 하중곡선 등에 대해 수정하고, Node 경계조건을 추가할 수 있다. 또한 Contact과 파트, 요소를 삭제할 수 있으며, 강체에서 유연체로 전환하거나 유연체에서 강체로 전환하여 해석을 이어갈 수 있다.
해석모델 변경에 사용할 수 있는 Restart 키워드는 아래와 같다.
- *CHANGE_OPTION
- *CONTROL_DYNAMIC_RELAXATION
- *CONTROL_SHELL
- *CONTROL_TERMINATION
- *CONTROL_TIMESTEP
- *DAMPING_GLOBAL
- *DATABASE_OPTION
- *DATABASE_BINARY_OPTION
- *DELETE_OPTION
- *INTERFACE_SPRINGBACK_LSDYNA
- *RIGID_DEFORMABLE_OPTION
- *TERMINATION_OPTION
- *TITLE
- *KEYWORD
- *CONTROL_CPU
- *DEFINE_OPTION
- *SET_OPTION
입력모델의 몇 가지 조건을 변경하여 해석을 이어가고자 할 경우, 위 Restart 키워드가 사용된 새로운 입력파일과 마지막 D3DUMP 파일을 이용하여 Small Restart 해석으로 수행할 수 있다.
예를 들어 종료시간이 100 msec 으로 정상 종료된 해석에서 1000 msec까지 결과를 추가적으로 얻고자 한다면, 그림6과 같이 해석 메시지를 통해 d3dump02가 생성됨을 확인한다. 그리고 그림 7과 같은 입력파일과 그림 8과 같은 LS-Run 설정으로 Small Restart 해석을 이어갈 수 있으며, CMD창의 해석 메세지를 통해 100 msec 이후로 해석이 계속되는 것을 그림 9와 같이 확인할 수 있다.
그림6. 해석 정상 종료 및 D3DUMP 예시(CMD창)
그림7. Small Restart 입력파일 예시
그림8. Small Restart 해석 실행 화면(LS-RUN)
그림9. Small Restart 해석 실행 화면(CMD창)
3. 이전 해석 결과를 토대로 새로운 해석을 하고 싶어요! – Full Restart
Full Restart 해석은 많은 수정이 필요한 경우에 적절한 선택일 수 있다. 파트 및 하중, 컨택 등 일반적인 특성 변경이 가능하다. 해석을 수행하기 위해서는 변경내용이 포함된 모델 전체에 대한 입력모델과 Dump 파일이 필요하다.
먼저 새로운 파트를 생성하여 재료속성 및 접촉, 하중 조건을 추가할 경우에는 *STRESS_INITIALIZATION 키워드를 통해 초기화할 파트 지정이 필요하다. 또한 Small Restart 해석에서 사용 가능했던 *DELETE_OPTION 키워드는 사용할 수 없다. 따라서 요소를 제거하려면 Input Deck에서 제외해야 한다. 또한 이전해석에서 사용된 노드에 *INITIA_VELOCITY를 통한 속도 전달은 안되므로 *CHANGE_VELOCITY 키워드를 사용해야 한다.
아래 그림10과 같이, 한 개의 볼이 평판에 충돌하는 해석을 수행하였다. 그리고 이 해석과 연결하여 새로운 파트를 충돌시켜 평판의 변형거동을 보기 위해 Full Restart 해석을 수행하였고, 그 결과는 그림 11과 같다.
그림10. Full Restart 이전 해석 결과
그림11. Full Restart 해석 결과
■ Workbench 환경에서 Restart 해석 설정
최근 LS-DYNA를 Workbench 환경에서 사용하는 유저가 점점 증가하고 있다. LS-PrePost를 이용하여 Input을 만들 경우 모든 keyword 파일을 직접 생성해야 하지만, Workbench의 기본 설정값을 제공하고 있어 파트의 물성과 하중 경계조건, 해석 종료시간만 설정하면 간단한 해석을 수행할 수 있을 정도로 빠르고 편리하다. 이러한 Workbench 환경에서의 Restart 해석 방법을 소개한다.
1. Restart 해석을 수행하기 위해서는 D3DUMP 파일이 필요하다고 언급했었다. 해석이 정상 종료될 경우 d3dump01이 생성되지만, 종료시점 이전의 특정 시점에서부터 restart 해석을 하고자 할 경우에는 반드시 D3DUMP 키워드 입력이 필요하다. 따라서 아래 그림12와 같이 Keyword Snippet을 생성하여 *DATABASE_BINERY_D3DUMP를 추가하여 해석을 진행해야 한다.
그림12. Keyword Snippet 추가
2. 해석이 완료된 후, 그림 13과 같이 LS-DYNA Restart 프로젝트를 생성한다. 그리고 LS-DYNA Restart 해석 시스템을 기존 해석A의 Solution 위로 추가한다.
그림13. LS-DYNA Restart 시스템 추가(Workbench)
3. LS-DYNA Restart 프로젝트를 실행하고, 그림 14와 같이 구성된 트리의 Analysis Settings에서 Restart Type을 선택하여, 목적에 따라 입력 모델을 수정하고 Solve를 실행하면 이전에 저장된 d3dump를 사용하여 해석이 이어서 진행된다.
그림14. LS-DYNA Restart 유형 선택
맺음말
이번 호에서는 Ansyss LS-DYNA의 Restart 기능에 대해 알아보았다. Restart 기능은 1차해석 때 사용되었던 하중, 경계 및 접촉 조건 등을 재설정하여 2차 해석을 진행하는 기존 dynain파일을 사용하는 방법과는 다르게 변경되는 사항만 적용하여 좀 더 편리하게 사용할 수 있는 기능이다. 그리고 사용자의 상황에 따라 Restart Type을 선택하여 진행할 수 있어 Restart 기능을 유용하게 활용할 수 있을 것으로 기대한다.
■ 참고자료
- LS-DYNA® KEYWORD USER’S MANUAL VOLUME Ⅰ
- [활용팁]LS-DYNA의 Restart 해석(태성포털)