SIMULIA - 브이피케이(주) - PLM, CAE컨설팅

견적/구매문의

컨설팅문의

교육문의

원격지원

VPK 블로그

SIMULIA

[SIMULIA] Abaqus/Standard + Abaqus/Explicit 코시뮬레이션 하나의 모델에서 두 솔버의 장점을 …

페이지 정보

작성자 VPK 댓글 0건 조회 1회 작성일 26-11-02 11:53

본문

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) 사용 가능 –

Abaqus Standard-Explicit 코시뮬레이션 모델 분할 예시

※ 하나의 모델을 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를 사용하세요.

Abaqus CAE Standard-Explicit Co-simulation Edit Interaction 창

※ Edit Interaction 창 : 증분 제어 방식과 Coupling step period 설정

7Co-execution 생성 및 실행 │ Explicit는 Double precision을 권장하며, 각 해석에 서로 다른 CPU 코어를 할당합니다.

Abaqus CAE Edit Co-execution 창 Precision 설정

※ 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 애니메이션으로 동기화합니다.

Abaqus Overlay Plot Layer Manager 설정

※ 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 코시뮬레이션 적용부터 모델 최적화까지 함께 검토해 드립니다.

기술 상담 문의하기

코멘트 0건

전체 11건 (현재 1페이지)

문의하기 →
궁금하신 점이 있으신가요?
PLM · CAE 솔루션 전문 담당자가 빠르게 답변해 드립니다.
문의하기 →