약형(Weak Form) 소개

0 Comments/in /by

이번 블로그는 유한요소법과 벡터 계산에 익숙하지는 않으나, 물리적 직관과 기본 계산에 도움이 되고자 약형(weak form)을 배우는데 관심을 가지고 있는 대상자를 위해 소개하는 글입니다.

 

약형에 대해서…

COMSOL Multiphysics로 해석을 수행하는 다양한 물리 현상에 대해, 약형이 수학적 모델을 구성하는 이면에서 사용되고 있습니다. 약형을 이해함으로써 COMSOL 소프트웨어가 내부적으로 어떻게 작동이 되는지 알 수 있고, 특정 물리현상에 관여한 선정의된 지배식이 없을 경우 직접 만들 수 있게 해 줍니다.

 

간단한 예제

구체적으로 열원이 없는 정상상태에서의 1차원 열전달 모델을 고려해 봅시다. 특히, 구간 1 ≤ x ≤ 5 에서의 위치 x에 따른 온도T 에 관심이 있다고 합시다. 모델을 단순화 하기 위해 열전도도는 1이라고 하겠습니다. x축의 양의 방향으로 열량

56_blog_01가 온도 56_blog_02구배로 주어집니다:

(1)  56_blog_03

(내부적으로 열원이 없는 상태에서) 열량 보존은 다음과 같이 됩니다.

(2)  56_blog_04

식(2)가 우리가 풀고자 하는 주요식입니다. 이 해는 해석 영역에서 온도 분포를 나타낼 것입니다. 이 형태의 식은 다른 형식으로 나타내어 질 수 있습니다. 예를 들어, 정전계(electrostatics)에서는 T대신 포텐셜을, q대신 전계로, 탄성 분야에서는 T대신 변위를, q대신 응력으로 나타낼 수 있습니다.

왜 COMSOL Multiphysics에서는 연동된 다중물리문제를 아주 쉽게 계산할 수 있을까요? 즉, 풀고자 하는 물리 현상이 무엇이든지 간에 식으로 구성되어져 있기에, 직관적으로 COMSOL 소프트웨어의 주요 알고리즘에 의해 이산화와 해석이 수행됩니다.

몇몇 독자들은 단순한 수식으로 이론적인 값을 쉽게 구할 수 있는 아주 단순한 예제를 취급하느냐고 의문을 가질 것입니다. 그 이유는 2가지로 나눌 수 있습니다:

1.약형에 대한 중심 내용에 집중하기를 원하는 것이지, 복잡한 물리 현상에 대한 수식으로 인해 논점에서 벗어나지 않기를 원하는 것입니다.

2.다음 블로그에서 경계 조건을 통해 두 식간의 연동을 보여주는 하나 이상의 도메인 예제를 살펴 볼 것입니다. 지금 복잡한 예제를 다루는 것은 점차 예제 내용이 확장됨에 따라 중심 내용을 애매모호하게 할 것입니다.

 

약형 공식화

식(2)는 열량q에 대해서는 일차 미분, 온도T 에 대해서는 2차 미분으로 나타나고 있으며, 이는 온도 분포를 식별하는데 제한되어 있는 실제 환경에서 수치적인 이슈가 되고 있습니다. 예를 들어, 열전도도가 다른 인접한 물질 경계에서 수치적으로 온도T의 일차 미분은 불연속이고, T의 이차 미분은 구할 수 없습니다. 약형의 주요 관점은 미분식을 적분식으로 변환하여 미분을 계산하고자 할 때 수치적 알고리즘 부하를 줄이는 것입니다.

미분식(2)를 적분식으로 변환하기 위해, 첫 번째로 할 작업은 전체 영역1 ≤ x ≤ 5 에 대해 전체 식을 적분합니다:

56_blog_05

이는 56_blog_07의 평균값이 0이 되도록 하는 것입니다. 실은 1 ≤ x ≤ 5 전체 구간에서 56_blog_07이 0이 되어야 한다는 원 미분식과 비교하였을 때, “너무 빈약한” 것처럼 보입니다. 이를 개선하기 위해서 좁은 구간에서 56_blog_07의 평균값이 0이 되도록 처리할 수 있습니다:

56_blog_05

이 적분항은 x=3.5 근처에서 56_blog_07 의 값을 나타냅니다. 그래서, 위의 관계식은 0에 근접한 값을 갖습니다: 56_blog_08. 전체 도메인1 ≤ x ≤ 5 에 대해서 똑 같은 방식을 적용하면 원 미분식은 다음과 같은 적분조합으로 표현할 수 있습니다:

(3)  56_blog_09

적분식이 많으면 많을수록 근사치는 점점 좋아질 것입니다. 무한개의 적분식으로 원미분식을 나타낼 수 있을 것입니다. 모든 적분식을 표현한다면 다루기 어렵거나 불가능할지도 모릅니다. 하지만, 다른 방법으로 이를 적용할 수 있습니다.

주 요점은 좁은 구간에서 56_blog_07값을 표본으로 구합니다. 이 작업은 식(3)처럼 좁은 구간에서의 적분을 취하면 됩니다. 표본과 같은 종류는 아래 그림과 같이 좁은 구간에서 값이 존재하는 가중함수(weight function) 56_blog_10을 피적분함수와 곱해서 구해질 수 있습니다:

56_blog_11

그 다음, 다수의 가중함수 56_blog_10에 대해 전체 영역1 ≤ x ≤ 5 에서 곱 값인 56_blog_12을 적분할 수 있습니다. 각각의 가중함수는 피적분함수 부여를 각각 다른 x값 주변 구간의 중심을 토대로 좁은 범위 내로 제한합니다. 그리고, 식(3)에서의 적분식 조합과 같은 똑 같은 효과를 이룰 수 있습니다. 위에서 언급한 내용으로 관계식(식(4))를 표명하는 약형 공식화가 이루어지게 됩니다.

(4) 56_blog_05

식(4)는 일명 시험함수(test functions)라고 불리는 가중함수 56_blog_10를 항상 갖추고 있어야 합니다. 모든 56_blog_14값에 대해, 예를 들어x=3.5이라고 한다면, x=3.5주변 구간의 중심에 근소한 가중함수가 되는 시험함수 56_blog_10를 선택할 수 있습니다. 시험함수를 식(4)에 기입하여 x=3.5 주변 구간에서의 56_blog_07값을 견본으로 하고, 이 값은 0에 가까운 값을 가지게 됩니다: 56_blog_08.
시험함수로서 다수의 근소한 가중함수를 식(4)에 적용함으로써, 구간 1 ≤ x ≤ 5 에서 각각의 가중함수는 서로 다른 위치에서의 중심부에 있고, 56_blog_07값은 모든 영역에서 0에 종속시킵니다.
주석: 위의 그림에서 의도적으로 56_blog_07을 식의 최종 해가 아니라 임의의 곡선으로 그렸습니다. 아직 해를 찾지 못했다는 것을 강조하기 위해서입니다. 뒤에 해를 찾는 과정에서 임의의 곡선은 최종 해의 형상에 맞추어지기 위해서 시험함수로 인해 곡선의 변화가 있을 것입니다.

 

미분에서의 차수 낮추기

식(4)에서의 피적분 미분 차수가 여전히 식(2)와 똑같다(여하튼 똑 같은 56_blog_07이니까)는 것을 눈여겨 볼 필요가 있지만, 부분적분을 이용하여 차수를 낮출 수 있습니다:

(5)  56_blog_15

식에는 열량q나 온도T에 대한 미분이 존재하지 않고, 미분 차수는 2차에서 1차로 낮추어졌습니다. 식에 나타나 있는 시험함수 의 1차미분은 무엇일까요?
방금 전에서 보았듯이, 시험함수는 56_blog_10식에서 해를 찾는데 도움을 주는 도구입니다. 그래서, 편리하게 미분형태를 선택할 수 있는 자유를 보장합니다.

 

자유 경계 조건

식(5)의 앞의 두 항은 열량이 x축 양의 방향으로 들어오는 조건에서 x=1과x=5 경계에서의 열량과 시험함수와 관련이 있습니다. 이 두 항에 대해서 열량이 영역 바깥 방향으로 나가게 하고, 우변으로 옮기면 식(6)이 됩니다:

(6)  56_blog_16

Here, 56_blog_17는 외부로 나가는 열량, 1, 2는 각각 x=1와x=5에서의 경계를 나타내며, 아래와 같습니다.

56_blog_18

또한, 온도T와 시험함수 56_blog_24로 된 피적분함수를 쓰기 위해 식(1)에서의 열량을 사용하였습니다. 식 우변은 열량관점에서의 경계조건을 부여하기 위한 자연스러운 형태입니다. 절연 경계 조건(경계에서의 열량 출입이 없는 조건)은 56_blog_1956_blog_20 을 0으로 처리하면 됩니다.

이것은 COMSOL Multiphysics에서 열전달의 기본경계조건이 “Thermal Insulation”, 구조에서는 “Free (경계 하중 없는 조건)”, 유체에서는 “Wall (경계를 통한 유출입이 없는 조건)”이 되는 이유가 되는 것입니다. (풀고자 하는 변수의 일차 미분인) 플럭스 또는 힘을 나타내는 이러한 종류의 경계 조건을 통상적으로 자유경계조건(natural boundary condition) 또는 노이먼경계조건(Neumann boundary condition)이라고 합니다.

 

고정 경계 조건

일명 고정경계조건(fixed boundary condition) 또는 디리클레경계조건(Dirichlet boundary condition) 이라고 하는 또 다른 경계 조건은 풀고자 하는 변수 값을 명확히 하는 것입니다. 현 예로는 경계에서 온도 값을 나타내는 것입니다. 이러한 종류의 경계 조건은 단일 해를 갖는 우량조건(well-posed)문제 설정 시 필요합니다. 예를 들어, 유체에서 해석 영역 어딘가에 압력(단지 유속이 아닌)을 지정해야 하며, 구조에서는 변위(힘이 아닌)를 지정해야 합니다.

예제에서 봤듯이, 약형 형태는 경계에서 열량을 지정하기 위한 자연스러운 방법을 제공하고 있습니다. 그렇다면, 경계에서 고정 온도를 지정하려면 어떻게 해야 할까요?

이 방법은 자유경계조건의 수학적 구조를 활용하여 시험함수를 사용하는 똑 같은 방식을 도입해 해를 단속하는 것입니다. 개념적으로는, 경계지점에서 지정된 온도를 유지하기 위해 경계 외부에서 들어오는 열량은 경계 내부의 열량으로 상쇄됩니다. 약형 형태는 이 문제를 다음과 같이 취합니다: 경계점에서의 온도를 고정하기 위해 필요한 열량을 찾는 것입니다.

예를 들어, x=1에서 외부로 나가는 열량 56_blog_17을 2라고 하고, x=5에서는 온도T를 9라고 하고, 새로운 미지수 56_blog_2156_blog_22시험함수 을 도입하여 식(6)에 적용하면 식(7)이 됩니다:

(7)  56_blog_23

여기서 우변의 첫 번째 항은 x=1에서 2만큼 외부로 열량이 빠져나가는 것을 나타내고, 두 번째 항은 x=5에서 미지 열량을 나타냅니다. 두 항 모두 식(6) 우변에 있는 자연경계조건에서 바로 불러온 것입니다.

새로운 변수 56_blog_21는 경계 x=5에서의 미지 열량을 나타냅니다. 세 번째 항은 위에서 언급한 시험함수 56_blog_10에 대해서 똑 같은 방식으로 시험함수 56_blog_22를 이용하여 x=5에서의 해가 T=9가 되게끔 강제적으로 추가한 식입니다.

 

고차원에서의 의견

지금까지 단순한 1차원 예제를 통해 살펴보았습니다. 2차원 표면, 3차원 부피와 같은 고차원에서는 식이 더욱 복잡하나 기본 개념은 똑같습니다.

약형 형태는 미분식을 적분식으로 전환하고, 수치적 향상을 위해 부분 적분을 이용하여 미분차수를 줄입니다. 그리고, 경계에서 플럭스를 나타내는 자유경계조건을 생성합니다. 1차원 예제에서 경계는 양 끝점에 있고, 각 점에서 플럭스는 하나의 값을 가지고 있습니다.

2차원과 3차원에서의 경계는 각각 영역을 둘러싸고 있는 닫힌 곡선과 닫힌 면입니다. 식(6)의 우변은 유입 플럭스 밀도, 즉 총 유입 플럭스의 선 또는 표면 적분이 되며, 모델링 영역의 경계에서 선 또는 표면 적분을 구하기 위해서 발산정리(divergence theorem)을 이용해 2차원과 3차원에서의 부분적분과정이 이루어 집니다.

이 블로그에서는 수치적 복잡함으로 인해 주요 개념을 벗어나지 않기 위해 간단한 1차원 예제를 선택하였습니다.

 

요점 및 다음 단계

해를 제한하기 위한 시험함수를 사용하는 약형 형태의 개념을 익혔습니다. 약형을 부분 적분함으로써 미분차수를 낮추어 수치적 혜택을 받았습니다. 일명 자유경계조건 또는 노이먼경계조건이라고 하는 (풀고자 하는 변수의 일차 미분인) 플럭스나 힘 항으로 경계 조건을 정하는데 자연스러운 방법이 제공되었습니다.

실제 문제를 풀 때, 미분 형태가 아닌 풀고자 하는 변수, 이른바 고정경계조건 또는 디리클레경계조건을 수립할 필요가 종종 있습니다. 고정경계조건에 대한 추가 항을 구성하기 위해 약형 형태는 똑 같은 시험함수와 자유경계조건을 사용하는 것을 살펴보았습니다.

지금까지, 수치 근사 없이 이론 값을 토대로 식을 다루었습니다. 다음 번에는 COMSOL Multiphysics에서 약형 식(7)에 대해 수치적으로 다루어 볼 것이며, 내부적으로 수치 근사가 어떻게 이루어지고, 여러 방법으로 똑 같은 모델이 어떻게 풀려지는지 살펴볼 것입니다. 또한, 다양한 경계 조건이 다양한 문제에 어떻게 설정이 되는지도 볼 것입니다.

0 replies

댓글 남기기