SIMULIA Abaqus 기술 노트
Abaqus/Standard + Abaqus/Explicit 코시뮬레이션
하나의 모델에서 두 솔버의 장점을 함께 쓰는 방법
충돌 해석처럼 일부 영역에서만 큰 변형과 복잡한 접촉이 일어나는 문제를 전부 Explicit로 풀면 계산 시간이 크게 늘어납니다. 반대로 전부 Standard로 풀면 수렴이 어려워집니다. Abaqus는 이 두 솔버를 해석 도중에 연결해, 영역별로 더 효율적인 솔버가 계산하도록 나눌 수 있는 Standard–Explicit 코시뮬레이션 기능을 제공합니다.
이 글에서는 코시뮬레이션의 개념과 적용 사례, 키워드(.inp) 방식과 Abaqus/CAE 방식의 설정 절차, 그리고 실무에서 놓치기 쉬운 모델링 팁과 성능 최적화 방법을 정리합니다.
목차
▸ 코시뮬레이션이란?
▸ Standard–Explicit 코시뮬레이션이 필요한 경우
▸ 구현의 기본 개념 : 인터페이스와 시간 증분 제어
▸ 키워드(.inp)로 정의하기
▸ Abaqus/CAE에서 정의하기
▸ 모델링 팁
▸ 추가 성능 최적화 방법
▸ 정리
코시뮬레이션이란?
코시뮬레이션(Co-Simulation)은 서로 다른 솔버를 해석 실행 중에 결합해 하나의 문제를 함께 푸는 방식입니다. 보통은 Abaqus와 외부 해석 프로그램을 연결하지만, Abaqus 솔버끼리 연결하는 것도 가능합니다. SIMULIA Co-Simulation Engine이 지원하는 대표적인 조합은 다음과 같습니다.
▸ 유체–구조 연성(FSI) │ 3DEXPERIENCE 플랫폼, XFlow 또는 타 CFD 소프트웨어의 유동 해석과 구조 해석 결합
▸ 공액 열전달(CHT) │ 유동 유체와 고체 사이의 열전달 해석
▸ 전자기–열 / 전자기–구조 연성 │ Abaqus/Standard 자체 결합, CST Studio 등 전자기 해석 소프트웨어와 결합
▸ 시스템 모델링 │ FMI(Functional Mock-up Interface) 기반, Dymola 등과 결합
▸ 다물체 동역학(MBD) 연성 │ Simpack과 결합
▸ Implicit–Explicit 연성 │ Abaqus/Standard와 Abaqus/Explicit 결합 (이 글의 주제)
Standard–Explicit 코시뮬레이션이 필요한 경우
두 솔버는 잘 푸는 문제가 다릅니다. 코시뮬레이션의 목적은 한 모델 안에서 이 두 가지 강점을 동시에 활용하는 것입니다.
| 구분 |
Abaqus/Standard (Implicit) |
Abaqus/Explicit |
|---|
| 안정성 |
무조건 안정(unconditionally stable) |
안정 시간 증분 이하로 계산 |
| 강점 |
비교적 작은 변형, 완만한 접촉 조건의 중간 수준 비선형 문제 |
대변형, 복잡한 접촉 등 강한 비선형 문제와 고속 동역학 |
| 추가 기능 |
서브스트럭처(Substructure) 사용 가능 |
– |

※ 하나의 모델을 Standard 영역과 Explicit 영역으로 나눈 예시
예를 들어 정면 충돌하는 차량을 해석한다면, 접촉과 큰 변형이 집중되는 전면부는 Explicit로, 변형이 작고 접촉이 거의 없는 후면부는 Standard로 나눠 계산하는 것이 훨씬 효율적입니다.
구현의 기본 개념 : 인터페이스와 시간 증분 제어
두 영역은 별도의 .inp 파일 또는 별도의 CAE 모델로 각각 정의합니다. 두 솔버가 서로 정보를 주고받는 연결부를 코시뮬레이션 영역(인터페이스)이라 하며, 서피스 또는 노드 집합으로 지정합니다.
선형 요소 위에 정의한 요소 기반 서피스를 사용하면 인터페이스 양쪽 메쉬가 서로 일치하지 않아도(non-matching) 됩니다. 다만 인터페이스 노드를 일치시키면 해의 안정성과 정확도가 좋아지는 경우도 있습니다.
시간 증분 제어 방식은 두 가지 중에서 선택합니다.
| 구분 |
Lock-step |
Subcycling |
|---|
| 증분 방식 |
Standard가 Explicit의 증분 크기를 그대로 따름 (작은 증분) |
Standard가 Explicit와 다른 크기의 증분 사용 (큰 증분) |
| 인터페이스 조건 |
변위 적합성 |
속도 적합성 |
| 비용 특성 |
메모리 부담이 적음 |
인터페이스 계산 비용이 큼 |
| 적합한 경우 |
✓ 인터페이스 노드가 많고 Standard 모델이 비교적 작을 때 |
✓ 인터페이스 노드가 적을 때 |
※ 서브스트럭처 활용
Standard 영역 중 선형으로 취급할 수 있는 부분은 서브스트럭처로 만들어 계산 비용을 더 줄일 수 있습니다. 서브스트럭처의 유지 노드(retained nodes)가 인터페이스에 포함될 경우, 해당 영역은 노드 기반으로 정의해야 합니다.
키워드(.inp)로 정의하기
1.inp 파일 2개 작성 │ 각 영역마다 하나씩 작성하고, 두 파일의 스텝 시간은 동일하게 맞춥니다. Explicit는 NLGEOM이 기본으로 켜져 있지만 Standard는 꺼져 있다는 점에 주의하세요.
2코시뮬레이션 활성화 │ *CO-SIMULATION 키워드를 사용합니다.
3인터페이스 정의 │ *CO-SIMULATION REGION (TYPE=SURFACE 또는 NODE)으로 지정합니다. 주고받을 해(solution field) 항목은 증분 방식에 따라 달라지며, 매뉴얼의 Structural-to-Structural Co-Simulation 항목을 참고합니다.
4해석 실행 │ 필요하면 Standard 결과를 Explicit로 임포트(oldjob)해 실행합니다.
abaqus cosimulation cosimjob=cosimjob_name job=standard_job_name,explicit_job_name double=NONE,explicit oldjob=NONE,oldjob_name
※ 코시뮬레이션 실행 명령어
▸ cosimjob │ 코시뮬레이션 작업 전체의 이름
▸ job │ Standard 작업 이름, Explicit 작업 이름 순서로 입력
▸ double │ 배정밀도 적용 대상 (Standard는 NONE, Explicit는 explicit 권장)
▸ oldjob │ 결과를 임포트할 이전 작업 (임포트하지 않으면 NONE)
| Abaqus/Explicit 모델 (.inp) | Abaqus/Standard 모델 (.inp) |
|---|
*HEADING Abaqus/Explicit 모델 … *STEP *DYNAMIC, EXPLICIT , t (스텝 시간) *CO-SIMULATION, PROGRAM=MULTIPHYSICS, NAME=… *CO-SIMULATION REGION, TYPE=SURFACE, IMPORT 서피스, 임포트할 해 항목 목록 *CO-SIMULATION REGION, TYPE=SURFACE, EXPORT 서피스, 익스포트할 해 항목 목록 | *HEADING Abaqus/Standard 모델 … *STEP, NLGEOM=YES, INC=… *DYNAMIC, ALPHA=…, HAFTOL=… t0, t, tmin, tmax (초기·스텝·최소·최대) *CO-SIMULATION, PROGRAM=MULTIPHYSICS, NAME=… *CO-SIMULATION REGION, TYPE=SURFACE, IMPORT 서피스, 임포트할 해 항목 목록 *CO-SIMULATION REGION, TYPE=SURFACE, EXPORT 서피스, 익스포트할 해 항목 목록 |
※ .inp 파일 템플릿 : 회색 글씨는 실제 값으로 바꿔 넣는 자리입니다.
| Abaqus/Explicit 모델 (.inp) | Abaqus/Standard 모델 (.inp) |
|---|
*HEADING Abaqus/Explicit 모델 … *STEP *DYNAMIC, EXPLICIT , 1 *CO-SIMULATION, PROGRAM=MULTIPHYSICS, NAME=Int-1 *CO-SIMULATION REGION, TYPE=SURFACE, IMPORT Surf-1, IFORCE, IMOMENT, VTINIT, VRINIT *CO-SIMULATION REGION, TYPE=SURFACE, EXPORT Surf-1, LUMPEDMASS, RICUR, VT, VR | *HEADING Abaqus/Standard 모델 … *STEP, NLGEOM=YES, INC=… *DYNAMIC, ALPHA=…, HAFTOL=… 0.1, 1, 1e-5, 0.1 *CO-SIMULATION, PROGRAM=MULTIPHYSICS, NAME=Int-1 *CO-SIMULATION REGION, TYPE=SURFACE, IMPORT Surf-1, MASSINV, RICUR, VTINTRF, VRINTRF *CO-SIMULATION REGION, TYPE=SURFACE, EXPORT Surf-1, IFORCE, IMOMENT, VT, VR |
※ Subcycling 방식의 키워드 작성 예시
Abaqus/CAE에서 정의하기
1부품 구성 │ Standard와 Explicit에 들어갈 부품을 하나의 모델 안에 서로 다른 파트로 조립합니다.
2모델 복사 │ 모델을 복사해 Standard용, Explicit용 모델을 각각 만듭니다.
3인스턴스 연결(선택) │ Link Instances를 쓰면 전체 모델을 함께 보면서 자동으로 갱신할 수 있습니다. Explicit 모델에서는 Standard 인스턴스를, Standard 모델에서는 Explicit 인스턴스를 제외(Exclude)합니다.
4스텝 정의 │ Explicit는 Dynamic, Explicit / Standard는 Static 또는 Dynamic, Implicit 스텝을 정의합니다.
5해석 조건 정의 │ 하중, 경계조건, 접촉, 구속, 출력 요청 등을 양쪽 모델에 각각 정의합니다. 두 결과를 함께 애니메이션으로 보려면 필드 출력을 같은 시간 프레임에 저장해야 합니다.
6Interaction 생성 │ Standard-Explicit Co-simulation 인터랙션을 만들고 증분 제어 방식을 선택합니다.
✕ 주의
Coupling step period를 Specified로 지정하는 것은 권장하지 않습니다. Explicit의 증분이 입력값으로 고정되는데, 이 값이 안정 시간 증분보다 크면 결과가 틀릴 수 있습니다. 기본값인 Determined by analysis를 사용하세요.

※ Edit Interaction 창 : 증분 제어 방식과 Coupling step period 설정
7Co-execution 생성 및 실행 │ Explicit는 Double precision을 권장하며, 각 해석에 서로 다른 CPU 코어를 할당합니다.

※ Edit Co-execution 창 : Abaqus/Explicit precision을 Double로 설정
8결과 확인 │ 결과는 Standard용, Explicit용, 그리고 사용한 서브스트럭처마다 별도의 .odb 파일로 생성됩니다. 두 결과를 한 화면에 보려면 Overlay Plot을 사용합니다.
▸ 파일을 열 때 Append to layers 옵션을 체크합니다.
▸ Overlay Plot Layer Manager에서 변형 배율, 범례(수동 범위), 표시 변수를 모든 레이어에서 동일하게 맞춥니다.
▸ Layer Options를 모두 All로 두면 변경 사항이 모든 레이어에 한 번에 적용됩니다.
▸ 두 해석의 프레임 수가 다르면 Time-based 애니메이션으로 동기화합니다.

※ Overlay Plot Layer Manager : Layer Options를 All로 설정
모델링 팁
✓ 설정 파일(XML)
코시뮬레이션에는 XML 설정 파일이 필요하지만 대부분 Abaqus/CAE나 *CO-SIMULATION 키워드 파라미터로 자동 생성됩니다. 일부 고급 사례에서만 템플릿이나 상세 설정 파일(elaborated configuration file)을 바탕으로 직접 작성합니다.
✓ Enhanced Subcycling
강하게 연성된 물리 문제에서는 개선된 subcycling 방식이 더 안정적이고 정확한 해를 제공하므로 우선 고려합니다.
✕ 인터페이스 내 구속 조건
인터페이스 영역에는 구속(constraint)을 정의하지 않는 것이 좋습니다. Standard 쪽에 있으면 에러가 발생하고, Explicit 쪽에 있으면 해의 적합성이 떨어집니다. 다만 구속이 걸린 인터페이스 노드가 극히 일부라면 영향은 미미할 수 있습니다.
추가 성능 최적화 방법
▸ Standard 영역에 서브스트럭처를 적극 활용합니다.
▸ 작은 시간 증분이 필요한 부분도 Standard에서 처리하는 것을 검토합니다.
▸ 인터페이스 크기를 최소화합니다. (이상적으로는 수십 개 노드 수준)
▸ Standard 모델의 크기를 줄입니다.
▸ Standard와 Explicit의 증분 크기 비율을 키웁니다. (이상적으로 50 이상)
▸ 출력 프레임이 많을 때 서브스트럭처 결과 복원(output recovery)은 피합니다. (계산 시간이 최대 15%까지 늘어날 수 있음)
정리
Abaqus의 코시뮬레이션은 외부 소프트웨어와의 멀티피직스 연성뿐 아니라 Standard와 Explicit 솔버 사이에서도 활용할 수 있습니다. 심한 비선형이 없는 정적·동적 문제는 서브스트럭처까지 쓸 수 있는 Standard가, 심한 접촉을 포함한 강한 비선형 문제는 Explicit가 더 효율적입니다.
두 솔버를 영역별로 나눠 쓰면 전체를 Explicit로 계산할 때보다 해석 비용을 크게 줄일 수 있고, 서브스트럭처를 함께 쓰면 비용을 한층 더 낮출 수 있습니다.
충돌·낙하처럼 국부 변형이 큰 해석, 계산 시간 때문에 고민이신가요?
VPK가 Abaqus 코시뮬레이션 적용부터 모델 최적화까지 함께 검토해 드립니다.
기술 상담 문의하기