연성(Coupling) 해석은 상호 연관성이 있는 다분야 공학문제를 해결하기 위한 복합적인 해석 방법으로 다물리계 해석이라고 한다. 일반적으로 Ansys Workbench 환경에서 간단한 링크를 통해 물리계간의 관계성을 정의하여 연성해석을 수행하지만, System Coupling을 활용하여 연성해석을 수행해야 하는 경우가 있다. 이번 장에서는 어떤 경우에 System Coupling을 활용하여 해석을 수행해야 하는 지 살펴보고, 그 방법에 대해 소개하겠다.
다물리계 간의 연성 해석은 단방향으로 진행되는 경우와 양방향으로 진행되는 경우가 있다. 보통 단방향((1-way)연성해석은 Workbench 환경에서 두 물리계간에 간단한 링크로 진행되고, 양방향(2-way)연성 해석은 연결된 물리계간에 Feedback Iterator를 추가하여 수행할 수 있다. 사용자는 가정조건을 줄이고 좀 더 실제 해에 가까운 해석 결과를 유도하기 위한 양방향 연성해석을 선호하기 때문에 주로 Feedback Iterator를 추가하여 해석을 수행한다.
[그림] 1.1 링크 연결을 통한 Maxwell-Mechanical 단방향 연성해석
다만 이러한 Feedback Iterator은 주로 시간(Time)과 같은 동일한 도메인(예를 들면, Maxwell과 Mechanical이 모두 Static 또는 Transient 해석인 경우)에서 2-way 연성해석을 수행할 때 사용하고 유도가열 해석과 같이 주파수 도메인으로 계산된 해석과 시간 도메인을 가지고 있는 해석 간의 연성해석은 서로 다른 도메인안에서 데이터를 주고받아야 하기 때문에 Feedback iterator를 추가하는 방식으로 진행할 수 없다. 따라서 이런 경우에는 [그림] 1.2과 같은 System Coupling 방식 사용하여 진행해야 한다.
[그림] 1.2 Maxwell ? Mechanical(Thermal) in System Coupling
이제 System coupling을 사용하면 어떻게 양방향 연성해석을 수행하게 되는지, 유도가열 해석 예제를 통해 간단하게 살펴보자. System Coupling을 사용하면 전체 Transient Thermal 해석을 바탕으로 설정된 단계(고정시간 간격 또는 온도 증분 값)마다 Eddy Current Simulation을 호출하여 계산한다. [그림] 1.3과 같이 Transient Thermal 시스템에서 설정한 단계(고정시간 간격 또는 온도 증분 값)마다 결과 데이터인 온도 데이터를 Maxwell의 Eddy Current Solver로 전달하고, Maxwell은 받아온 온도 값에 맞추어 온도의존성 재료물성을 참고하여 다시 재해석한다. 그리고 그렇게 해석된 손실 데이터를 다시 Mechanical로 보내게 된다. 이러한 프로세스로 End Time까지(또는 최종 온도가 수렴할 때까지) 해석이 진행된다.
[그림] 1.3 System Coupling을 통한 양방향(2-way) 연성해석
이번 장에서 이러한 System Coupling 설정 방법을 다루기 위해서, 유도전류 해석의 상세 설정과 열 해석의 상세설정을 다루지 않고, System Coupling을 설정하기 위한 방식에만 초점을 두고 설명하겠다.
Maxwell을 Standalone mode로 실행한 다음, 유도전류 해석을 수행하기 위한 Eddy Current Solver (AC교류 전류 입력에 따른 도선의 표피효과나 주변 도선과의 근접효과, 유도 효과 등 해석가능)를 선택한다. 유도 전류 해석을 위한 설정이 완료되면, [그림] 2.1과 같이 System Coupling을 수행하기 위해 Tree에서 Optimetrics > Add > System Coupling Setup 을 선택한다.
[그림] 2.1 System Coupling Setup in Maxwell
Context에 주파수를 설정하고 Quantities에 온도와 손실의 입력 값과 출력 값이 제대로 되어 있는지 확인한 다음, Object Temperature을 선택하여 Include Temperature Dependence와 Enable Feedback을 체크하여 2-way 연성해석이 가능하도록 설정하고 하단에서 온도 데이터를 받아오는 형상 정보를 선택한다. 여기서 선택한 형상이름은 System Coupling 환경에서 Coupling Interface 설정 시에 참고해야 하기 때문에 꼭 기억한다. 아래 [그림] 2.2를 참고하여 설정한다.
[그림] 2.2 System Coupling을 위한 전송/수신 데이터 선택
그리고 AEDT(Ansys Electronics Desktop) 파일을 저장하면, 연성해석을 위한 스크립트 파일이 자동으로 생성된다.
[그림] 2.3 생성된 AEDT 스크립트 파일
혹시 생성되지 않았다면, [그림] 2.4와 같이 Tree의 SystemCouplingSetup에 마우스 오른쪽 버튼을 클릭하여 ‘Generate Configuration Files’ 실행하자.
[그림] 2.4 수동으로 스크립트 파일 생성하는 방법
Workbench 창에서 Transient Thermal 시스템을 생성하고 기본적인 열해석을 경계조건을 설정한다. 그리고 System Coupling에 활용하기 위해서는 몇 가지 사항을 추가로 진행한다. 먼저 [그림] 2.5와 같이 경계조건에서 System Coupling Region을 추가하여 연성해석이 진행될 때 서로 데이터를 주고받는 형상(Body)를 선택한다.
[그림] 2.5 Mechanical에서 System Coupling Region 설정
System Coupling Region을 포함한 모든 해석 설정이 완료되면 System Coupling에 사용할 스크립트를 생성한다. [그림] 2.6과 같이 Tree의 Environment(Transient Thermal)에 오른쪽버튼을 클릭하여 ‘Write System Coupling Files’ 실행하고 팝업창이 뜨면 경로와 함께 파일명을 정의한다.
[그림] 2.6 System Coupling에 사용되는 스크립트 생성하기
그러면 [그림] 2.7과 같이 설정한 경로에 확장자가 다른 3가지 파일이 생성된다.
[그림] 2.7 Mechanical에서 생성한 스크립트 확장자
Mechanical 창을 종료하면 [그림] 2.8와 같이 Workbench 창의 Transient Thermal System의 Setup Cell을 선택하여 Update을 수행한 다음, Workbench 파일을 저장하고 닫는다. 이는 System Coupling 작업 시, 배치모드로 실행되어서 바로 Solution 항목으로 접근할 수 있도록 하기 위한 작업이다.
[그림] 2.8 안정적인 배치모드 진행을 위해 Setup Cell까지 완료하기
System Coupling에 사용하기 위해 각각의 Solver 설정이 끝났다면, 이제 System Coupling을 실행해보자. [그림] 2.9과 같이 시작메뉴에서 ANSYS 2023R2> System Coupling 2023R2를 실행한다.
[그림] 2.9 시작메뉴에서 System coupling 실행하기
프로그램이 실행되면 System Coupling 플랫폼과 함께 경로를 설정하는 팝업창이 나타난다. 그러면 [그림] 2.10과 같이 팝업창에서 2.1장에서 설정한 Maxwell 파일과 2.2장에서 설정한 Mechanical 파일이 함께 위치하고 있는 폴더를 선택한다.
[그림] 2.10 System Coupling의 Working Directory 설정하기
이제 연성해석에 참여할 데이터를 선택하는 작업을 수행하자. 먼저 System Coupling 플랫폼 Tree에서 Setup 버튼을 마우스 오른쪽 버튼으로 클릭하여 Add Participant를 선택한다. [그림]2.11과 같이 팝업창이 뜨면 오른쪽 Input File을 선택하여 Maxwell에서 생성한 스크립트 파일을 선택한다. 그리고 한번 더 Setup 버튼을 클릭하여 Add Participant를 선택하여 같은 방법으로 Mechanical에서 생성한 스크립트 파일을 선택한다. [그림] 2.12를 참고하여 각각의 스크립트 파일을 선택하자.
[그림] 2.11 Setup 항목을 통한 Add Participant 설정
[그림] 2.12 Maxwell과 Mechanical에서 생성한 스크립트 파일 선택
이제 Setup항목의 Coupling Participant 아래에 Ansys Electronics Desktop과 MAPDL Transient Thermal이 들어왔는지 확인하고 각 물리계의 데이터 전송 및 동기화를 위해서 Update Control을 설정한다. Ansys Electronics Desktop 아래의 Update control를 선택하면 아래 Option을 통해서 ProgramControlled을 StepInterval으로 설정한다. 그리고 전자기장 해석과 열 해석의 데이터 전송 및 동기화 과정을 설정하기 위해 Update Frequency 값을 5로 입력한다. 이는 Mechanical이 1번 계산될 때마다 Maxwell 계산을 위해 데이터를 전달하는 것이 아니라 Mechanical 해석 결과가 5번 간격으로 Maxwell로 데이터를 보내고 이를 참조하여 Maxwell이 재 계산을 수행한 다음, Mechanical로 전송되도록 설정하는 것이다. Maxwell의 긴 해석 시간을 감안하여 전체 해석시간을 줄이고자 필자는 이렇게 5번 간격으로 데이터 전송 및 동기화가 되도록 설정해보았다. [그림] 2.13을 참고하자.
[그림] 2.13 데이터 전송을 위한 단계 설정
이제 데이터를 주고받는 영역을 설정하기 위해 Coupling Interface를 추가해본다. Setup에서 마우스 오른쪽 버튼을 사용하여 Add Coupling Interface를 추가하고 Tree에 Side 항목 아래에 ‘CouplingInterface 1’이 생성되면 Coupling Participant는 Ansys Electronics Desktop으로 설정하고, Region List는 Maxwell에서 지정한 명칭(2.1장을 참고하자)으로서 연성해석 범위에 해당하는 영역을 선택한다. 같은 방식으로 Mechanical Coupling Interface를 추가한다. 이때 Region List는 Mechanical에서 설정한 System Coupling Region으로 설정한 항목이 자동 적용된다.
(a) Coupling Interface 설정 (b)AEDT에서의 설정 영역 (c) Mechanical에서의 설정 영역
[그림] 2.14 Coupling Interface 설정을 위해 각 Solver에서 설정한 연성해석 영역 불러오기
이제 전달데이터의 특성을 정의하기 위해서 Data Transfer을 설정한다. 트리에서 Coupling Interface를 선택하고 마우스 오른쪽 버튼을 클릭하여 Add Data Transfer을 선택한다. 추가된 Data Transfer는 Target Side에 MAPDL Transient를 선택하고 Target Variable을 Heat Rate Density로 선택한다. 같은 방법으로 Data Transfer를 추가하여 Target Side는 Ansys Electronics로 설정하고 Target Variable을 Temperature로 변경한다. [그림] 2.15을 참고하자.
(a) Add Data Transfer 설정 (b)AEDT에서의 설정 영역 (c) Mechanical에서의 설정 영역
[그림] 2.15 Data Transfer 추가하기
이제 해석 시간을 설정하기 위해서 Solution Control 항목에서 End Time과 Time Step Size, Minimum Iterations, Maximum Iterations 값을 입력한다. 예를 들어 최종 해석 시간이 60초이고 1초마다 해석을 수행하길 원한다면 아래 [그림] 2.16과 같이 설정한다.
[그림] 2.16 Solution Control를 통해 해석 시간 설정
이때 Output Control을 통해서는 결과 저장 옵션을 설정할 수 있는데, Restart point 사용을 위해 결과 저장 시, Step 결과를 고려해서 저장할 수 있다. 마지막 스텝 결과만 저장할 때에는 LastStep를 선택하면 된다.
Solution을 통해서 solve를 진행하면 Command Console 창을 통해서 연성 해석이 진행되는 것을 확인할 수 있다. 각 Iteration 당 Mapping 정보와 Solution 상태를 확인할 수 있고, 활성화된 각 Solver의 로그창을 통해서도 진행 여부가 확인 가능하다. 또한 차트를 통해서 데이터 전송 과정에서의 수렴성도 확인할 수 있다.
[그림] 2.17 System Coupling Output 창
Maxwell은 추가 작업없이 작업경로에 들어가 저장된 AEDT 프로젝트 파일을 실행하여 결과를 확인한다. 반면 Mechanical 결과를 확인할 때에는 Result 파일을 읽어오는 방식을 취한다. [그림] 3.1과 같이 Mechanical를 실행하고 Outline에서 Solution을 선택한다. Toolbox에서 Read Result 메뉴를 선택하여 System Coupling을 진행할 때 사용한 스크립트와 동일한 경로에서 Result 파일을 확인하여 선택하자. 이때 열 해석을 수행했기 때문에 확장자 File.rth 파일을 선택한다.
[그림] 3.1 Result 파일을 사용하여 Mechanical 결과 확인 방법
2-way 연성 해석을 진행하면 설정한 간격마다 Mechanical에서 계산된 온도 데이터를 Maxwell에 반영하여 재계산을 수행한다. 그러면 증가한 온도로 인해 저항률이 증가하고 Skin Depth 역시 증가하여 유도 전류가 흐르는 단면적이 넓어져서 전기저항이 감소하게 되고, 이로 인해 유도전류 크기가 커지게 된다. 따라서 상승된 유도전류와 증가한 저항률로 발열량을 계산해보면 System Coupling 해석 결과가 초기 해석보다 발열량이 증가한 걸 볼 수 있다.
(a)초기 해석 결과 (b) System Coupling 이후 최종 해석 결과
[그림] 3.2 Maxwell 유도전류 해석 결과
[그림] 3.3의 (a)는 처음 계산된 Maxwell 결과를 입력 값으로 받아서 열해석을 수행한 결과이고 (b)는 System Coupling을 통해 Mechanical이 5번 계산될 때마다 온도 결과를 반영한 Maxwell 결과 데이터를 주고받은 열 해석 결과로 온도에 영향을 받은 전기 저항에 의해 유도 전류 크기가 크게 발생하면서 loss 값이 크게 발생하게 되고 이로 인해 온도가 높아지는 것을 확인할 수 있습니다.
(a) 1way 해석 결과 (b)System Coupling 이후 모델
[그림] 3.3 Mechanical 열 해석 결과
위에서 설명한 것과 같이 유도가열 해석을 2-way로 진행하기 위해서는 각 해석의 도메인 차이로 인해서 꼭 System Coupling을 통한 연성해석을 수행해야 한다. 그렇게 되면 온도에 의존적인 재료 물성을 고려하여 상호 해석이 이루어진다. 물론 1-way 방식으로 진행하는 것보다 System Coupling을 사용한 2-way해석을 수행하면 해석시간이 오래 걸리고, 스크립트를 생성해서 작업해야 하는 번거로움이 있을 수 있다. 하지만 매시간마다 변하는 온도 값을 반영하지 않고 한차례 계산된 전자기장 결과를 입력 값으로 사용하는 1-way 결과와 다르게 온도에 따라 용기에 미치는 Loss 값이 증가하게 되어, 보다 더 현실적인 결과를 얻을 수 있게 된다. 따라서 Induction 개발 시에는 온도의 의존적인 물성 특성을 반영할 수 있도록 2-way System Coupling 해석을 통해 용기의 최종 온도를 평가하여 설계에 반영하는 것을 권장한다. 자세한 따라하기 내용은 “2023 TSTS 세미나” 자료를 참고하기 바란다.