공간과 시간에서의 적분 방법
//적분은 수학적인 툴에서 가장 중요한 방법 중 하나로, 특히 적분 평형 방정식(integral balance equation)으로부터 파생되는 편미분 방정식(PDE)에서 중요합니다. PDE에서 수치적으로 계산될 때 적분은 중요한 역할을 합니다. 이번 블로그에서는 COMSOL 소프트웨어에서 사용할 수 있는 적분 방법에 대한 내용을 대략적으로 설명하고 이것을 사용자가 어떻게 사용할 수 있는지 보여줄 것 입니다.
적분의 중요성
COMSOL은 PDE 형태의 지배 방정식을 적분 공식으로 변환하는 유한요소법을 사용합니다.(다른 말로 weak form이 되겠습니다.) COMSOL 시뮬레이션 소프트웨어에 대해 자세히 살펴보면, 많은 경계조건들이 적분 형태로 공식화 되어 있는 것을 알 수 있을 것입니다. 예를 들어 총 열 유속(Total heat flux) 또는 플로팅 전위(floating potential)가 위와 같이 적분 형태로 되어 있습니다. 또한 COMSOL은 전기 에너지, 유량, 총 열 유속과 같은 적분을 이용한 값들을 제공함으로써, 적분이 후 처리에서도 중요한 역할을 하게 됩니다. 여기서 이러한 값들을 COMSOL에서 사용자가 적분을 사용하여 어떻게 구할 수 있는지 살펴보도록 하겠습니다.
Derived Values에서의 적분
일반적으로 적분에서 t0, t1은 시간 간격, Ω는 공간영역, F(u)는 종속 변수 u에 대한 임의의 수식으로 나타내어지는 항들을 가지고 있습니다.
이러한 형태의 공식은 공간, 시간, 다른 값에 대한 미분들을 포함 할 수 있습니다. 가장 편리한 방법은 “Derived Values”에서 적분 값들을 얻는 것입니다.
Derived Values 항목에서 체적, 면, 선 적분을 추가하는 방법 |
해당 항목의 데이터 세트에서 사용 가능한 솔루션을 선택하고, Expression 항목에서 피 적분 함수, 종속 변수, 파생된 변수를 사용하면 됩니다. 시간 해석의 경우, 공간 적분은 각 시간대별로 계산됩니다. 아니면 설정 창에서 시간 도메인에 대한 적분을 선택 할 수 있는 데이터 계열 작업(Data Series Operations )을 사용할 수도 있습니다. 이것은 공간-시간 적분(space-time integration)에서의 결과값입니다.
데이터 계열 작업(Data Series Operation)을 통하여 추가로 시간에 대한 적분을 하는 표면 적분 설정의 예. |
평균은 적분과 관련된 또 하나의 Derived Value입니다. 그것은 고려되는 도메인에서의 체적, 면적, 길이로 나누어지는 적분과 같습니다. 추가로 평균 데이터 계열 작업(Average Data Series Operation)은 시간으로 나누어 집니다. Derived Values는 매우 유용하지만 후 처리에서만 사용이 가능하기 때문에, Derived Values는 모든 형태의 적분 계산을 처리 할 수 없습니다. 이러한 것들은 COMSOL에서 더 강력하고 유연한 적분 도구를 제공하는 이유를 보여주고 있습니다. 아래에 있는 예제 모델을 통해 위에서 언급한 방법을 이용한 적분 계산을 살펴보도록 하겠습니다.
열전달 예제 모델에 대한 공간과 시간 적분
(x, y) 평면에서 간단한 2D 알루미늄 정사각형 열 전달 모델을 살펴보도록 하겠습니다. 위쪽과 오른쪽 면은 상온(293.15K)으로 고정하고, 아래쪽 경계 면은 General inward heat flux를 사용하여 10kw/m2으로 설정하겠습니다. 그 후 stationary과 100초 후의 time-dependent 해석을 하면 다음과 같은 결과를 확인할 수 있습니다.
Stationary 해석 |
100 초 후의 시간 해석 |
Component Coupling 연산자에서의 공간 적분
Component Coupling Operators는 예를 들어 하나의 수식에서 여러 개의 적분이 결합될 때, 계산 중에 적분 값이 요구될 때, 여러 개의 적분 값이 필요할 때 사용될 수 있습니다. Component Coupling Operators는 각component의 Definition 섹션에서 정의됩니다. 정의할 때 연산자는 계산을 하지 않고 오직 이름과 도메인 선택만 설정됩니다.
Component Coupling Operators를 추가하는 방법 |
예를 들면 정상 상태 온도를 공간 적분하면 다음과 같은 값을 얻을 수 있습니다.
COMSOL 소프트웨어에서는 기본적으로 intop1이라는 이름으로 적분 연산자를 사용합니다.
적분 연산자 창 설정 |
적분 연산자를 사용하여 Global Evaluation에서 값을 구하는 방법 |
다음으로 모델에서 적분 연산자가 어떻게 사용되는지를 살펴 보겠습니다. 예를 들면 상온에서 평균 온도가 10K 증가한 평균온도 303.15K를 얻기 위해 필요한 가열 전력을 모를 경우가 있습니다. 이 경우 먼저, 요구되는 온도와 실제 평균 온도 사이의 온도 차를 계산하는 것이 필요합니다. 도메인의 면적을 상수 함수1로 적분하여 나누어주면 온도 T에 대한 평균을 계산 할 수 있습니다. 그러나, COMSOL에서는 이러한 종류의 계산은 평균 연산자를 이용하여 쉽게 계산될 수 있습니다. 기본적으로 이러한 연산자는 aveop1이라고 명칭 됩니다. (도메인이 단위 면적을 가지기 때문에 도메인에 대한 평균 계산은 적분 계산과 같습니다.) 온도 차이의 값은 다음과 같이 계산됩니다.
다음으로 원하는 평균 온도가 나오도록, 왼쪽과 아래쪽 경계에서의 General heat flux를 정의할 필요가 있습니다. 이를 위해, q_hot 이름으로 global equation에 추가 구속을 정의합니다. General inward heat flux에 입력되는 값은 q_hot로 변경합니다.
global equation에서 303.15에 평균온도를 빼는 수식을 정의하는 방법 |
Stationary study를 사용하여 해석하면 qhot = 11762.6 w/m2 이라는 결과를 얻을 수 있습니다. 이 결과 값은 전체 도메인에서 303.15K의 평균 온도에 도달하기 위한 General inward heat flux의 값을 말합니다.
Integration Coupling에서의 부정적분 계산
종종 어떻게 공간 부정적분을 얻을 수 있는지 질문을 합니다. 다음 적분에 대한 내용이 이 질문에 대한 대답입니다. 부정적분은 미분에 상대되는 것으로 함수 그래프로 둘러싸인 임의의 면적을 계산합니다. 중요한 응용분야 중 하나로 통계 분석에서의 확률 계산이 있습니다. 이것을 설명하기 위해 위 예제의 수식을 y = 0이라고 하고 u(x)는 T(x, 0)의 부정적분으로 표시합니다. 이것은 를 의미합니다. 이 때 부정적분은 다음과 같은 적분식으로 표현할 수 있습니다
는 적분변수와 출력 변수를 구별하기 위해서 사용하였습니다. 위에서 언급한 적분과 반대로, 스칼라 양으로 표현하는 대신 함수로 표현했습니다. 적분을 풀기 위해서 의 값에 해당하는 각 에 대한 정보가 필요합니다. 다행히 COMSOL 환경에서는 쉽게 설정 할 수 있으며 단지 세 개의 구성요소들이 필요합니다. 먼저, 논리식을 다음과 같이 적분을 재구성합니다.
두 번째로 예제 도메인의 하위 경계에 작용하는 적분 연산자가 필요합니다. 이 적분 연산자를 intop2라고 표현됩니다. 세 번째로 적분변수와 출력 변수를 구분해야 합니다. 여기서는 x와 를 각각 source와 destination으로 표기했습니다. 적분 결합 연산자(integration coupling operator )를 사용하는 경우, 적분 변수가 아닌 그에 상응하는 수식을 나타낼 수 있는 dest 연산자를 사용할 수 있습니다. 더 정확히 말하면, COMSOL에서 를 의미하는 dest 연산자를 사용할 수 있습니다. 논리 식과 dest 연산자를 사용하면, intop2에 필요한 입력 식인 T*(x<=dest(x))를 얻을 수 있습니다. 이것을 다시 정리하면 intop2(T*(x<=dest(x))) 의해 부정적분을 계산할 수 있고 그 결과를 다음 그래프로 확인할 수 있습니다.
Dest 연산자와 논리 식을 함께 결합한 적분계산을 통해 나타낸 부정적분 그래프 |
PDE 인터페이스에서의 공간 적분
공간 적분의 가장 유연한 방법은 PED 인터페이스를 추가하는 것입니다. 이전 부정적분 예제에서 y = 0일 때를 가정하여 계산해보도록 하겠습니다. 왼쪽 경계에서 Dirichlet 경계 조건을 u = 0으로 하여 PDE의 항을 공식화하면 다음과 같이 표현할 수 있습니다.
이 방정식을 구현하기 가장 쉬운 인터페이스는 다음과 같이 몇 가지 설정을 필요로 하는Coefficient Form PDE 인터페이스입니다.
공간 적분을 위한 추가로 물리 인터페이스를 사용하는 방법 |
종속변수 u는 x 에 대한 부정적분으로 표현되고 계산과 후처리에서 사용 할 수 있습니다. 앞에서 언급한 유연성 이외에도 이 방법은 내부 오차가 포함되어 유도된 값(derived value)보다 더 정확합니다.
기본 연산자에 의한 시간 적분
시간 적분에 사용되는 Data Series Operations 대해서 앞서 설명하였습니다. 시간 적분의 다른 유용한 방법으로 시간 적분과 시간 평균에 대한 내부 연산자 timeitn과 timeavg를 사용하는 것입니다. 이러한 연산자는 후처리에서 사용할 수 있고 특정 시간 간격에 대한 적분을 계산하는데 사용됩니다. 예를 들어 90초에서 100초 사이의 평균 온도를 다음과 같이 구할 수 있습니다.
다음은 (x, y)에 대한 공간 함수를 적분한 계산 결과를 보여 주고 있습니다.
내장된 시간 적분 연산자 timeave를 사용한 결과 |
ballint, circint, diskint, sphint 같은 연산자는 구형 물체의 적분 계산에 사용 할 수 있습니다.
ODE 인터페이스에서의 시간 적분
만약 모델에서 시간 적분을 사용해야만 한다면, 추가로 종속 변수들을 정의할 필요가 있습니다. 위에서 보여준 Coefficient Form PDE 예제와 마찬가지로 Mathematics에 있는 ODE 인터페이스를 추가하여 종속변수들을 추가할 수 있습니다. 예를 들어 각 시간대별로, 시작된 시간부터 축적된 에너지를 측정한 총 열 유속에 대한 시간 적분 값을 필요로 한다고 가정을 하겠습니다.총 열 유속에 대한 변수는 ht.tfluxMag라는 이름을 가지고 COMSOL에서 자동으로 계산됩니다. 적분은 Domain ODEs and DAEs interface에 있는 Distributed ODE 를 통해 종속 변수를 추가하여 계산할 수 있습니다. 이 Distributed ODE의 source term은 피적분 함수로써 아래 그림에서 보실 수 있습니다.
시간 적분을 위해 추가된 물리 인터페이스를 사용하는 방법. |
이런 계산의 이점은 무엇일까요? 적분값은 시스템에서 축적된 에너지에 영향을 받는 또 다른 물리 인터페이스에서 사용될 수 있습니다. 또한 내부 연산자보다 편리하고 빠르게 후처리의 모든 곳에서 사용할 수 있습니다. 이것을 사용한 예제인 Carbon Deposition in Hetereogeneous Catalysis model에서 domain ODE는 화학 종이 존재하는 time-dependent field 변수로서 촉매의 투과성을 계산하는데 사용합니다.
Analytic Function과 수식의 적분
지금까지 계산 또는 후처리에서 어떻게 적분 변수들을 사용하는지 보여주었습니다. 여기에 추가로 analytic function 또는 수식에 대한 적분은 내부 연산자 integrate (expression, integration variable, lower bound, upper bound)을 통해 할 수 있습니다.
Analytic Function에서 sin(x*y)와 같은 함수 식을 정의했다고 가정하겠습니다. 그리고 이 함수식을 integrate 연산자의 첫번째 인자에 넣습니다. 두 번째 인자는 적분을 계산하기 위한 변수입니다. 예를 들어 integrate(sin(x*y),y,0,1)라는 형태가 있을 때 sin(x*y)를 적분 변수 y에 대해 적분하기 때문에 x에 대한 함수로 표현됩니다.
분석 함수를 추가하는 방법 |
분석 함수를 통한 적분하는 방법 |
Integrate 연산자를 통해 계산된 그래프 |