1. 서론
화학반응을 포함한 기체의 유동은 매우 많은 산업 분야에서 찾아볼 수 있다. 기체와 액체가 동시에 존재하는 공정(gas-liquid reactions)도 많이 잇지만 기체 유동만 고려해야 하는 경우도 자주 있다. 이러한 다양한 공정 중 화학반응과 이를 적절히 제어하기 위한 기체의 유동이 제품 생산을 위한 핵심 공정인 경우를 흔히 찾아볼 수 있다.
예를 들어 반도체 제조 공정 중 웨이퍼 위에 얇은 막(thin film)을 형성하거나 디스플레이 패널에 필요한 막을 형성하는 증착공정(deposition)은 좋은 품질의 제품을 생산하기 위한 핵심 공정이라고 할 수 있다.
또 탄소나노튜브(carbon nanotube, CNT)나 그래핀(graphene)과 같은 첨단 소재의 제조공정에서도 기체를 흘리면서 화학반응을 유도하게 되며, 고강도 복합재료 소재로 각광 받고 있는 탄소섬유 제조 공정의 핵심인 탄화 (carbonization)또는 흑연화(graphitization) 공정 역시 화학반응이 있는 기체의 유동 공정이다.
제품 생산 공정은 아니지만 자동차 엔진으로 대표되는 내연기관의 엔진 실린더 내 연소과정 또한 대표적인 화학반응을 포함한 기체의 유동현상이다. 이와 같이 화학반응을 고려해야 하는 기체의 유동문제는 화학반응이 없는 일반 열유동 문제에 비해 해석이 매우 까다롭다.
우선 화학종(chemical species)의 보존에 대해 풀어야 하므로 수학적 측면에서 고려해야 하는 방정식의 수가 늘어난다. 또 화학반응을 해석에 포함하기 위하여 적절한 반응모델을 수립하여야 하는데, 많은 경우 반응에 참여하는 화학종을 특정하기 어려우며, 이들 화학종을 선정하였다 하더라도 화학반응식과 반응에 관련된 여러 상수를 결정하는 것이 쉽지 않다.
많은 노력을 들여 화학반응식을 수립한 후에도 이들 반응에 대한 반응율이 또한 문제가 된다. 즉 kinetic model과 관련된 반응율 상수(reaction rate constant)를 알기 어렵다. 화학 반응을 제어하기 위해 공정 압력이 대기압에 비해 아주 낮거나 높은 경우에는 화학종의 물성값(properties)을 찾는 것도 중요한 문제가 된다.
많은 경우 기체끼리 반응하는 기상반응(gas-phase reaction)뿐만 아니라 웨이퍼나 유리 판, 또는 반응로 벽에서 화학반응이 일어나는 표면반응(surface reaction)을 고려해야 한다. 복합소재 제조 공정인 경우에는 플라스틱 섬유나 탄소섬유 표면에서 일어나는 반응을 고려해야 하는 경우도 있다. 표면반응은 기상반응에 비해 모델링하는 것이 한층 까다로운데 모델 수립에 필요한 정보가 더욱 제한적이기 때문이기도 하다.
이처럼 수학적 측면의 어려움에 더해서 해석하는 사람이 가지고 있는 현실적 어려움이 있다. 필자도 여러 공학문제의 해석을 시도하면서 사실 이런 현실적 어려움이 더 크게 느껴졌다. 이것은 바로 전공지식의 한계에 대한 것이다. 요즈음에는 화학공학이나 금속공학, 재료공학 또는 전자공학 전공자 중에서도 전산유체역학(computational fluid dynamics, CFD)을 이용하여 연구를 진행하는 경우를 자주 볼 수 있다.
하지만 필자가 학위과정을 공부하던 시기에는 CFD를 이용한 연구는 대부분 기계공학 전공자들이었다. 지금처럼 다양한 상용 프로그램이 출시되어 있지 않았으며 이용을 위한 접근도 쉽지 않았기 때문에, 미국의 대학이나 연구소에서 개발되어 공개되어 있는 FORTRAN으로 된 프로그램을 직접 수정하여 본인의 문제에 적용하곤 하였다.
이러다 보니 정작 다양한 공학적 문제의 해결보다는 프로그램의 구조나 프로그램의 작성에 더 많은 시간을 소모하였다. 결국 다양한 실제 공학문제의 해결에 필요한 지식, 예를 들면 화학반응을 기술하는 방법이나 전기전자에 대한 기초 지식이 부족해서 CFD 해석에서 어려움을 겪고 있는 것이다.
지금은 여러 가지 범용 전산유체역학 상용 프로그램이나 다양한 분야에 특화된 전문해석 프로그램이 판매되고 있다. 이제 소스코드를 뜯어보고 코딩을 하면서 전산해석을 수행하는 학생은 거의 없을 것이다. 각종 프로그램을 공학도구처럼 사용할 수 있게 된 것이다.
그럼에도 불구하고 CFD 해석을 통해 공학문제를 해결하고자 하는 학생이나 엔지니어 또는 연구원들은 여전히 본인의 주 전공이 아닌 분야에 막혀서 해석에 어려움을 겪고 있는 것으로 보인다. 산업이 고도화 하면서 다양한 전공 분야의 융합이나 복합이 필요해졌고 그에 따라 학교에서도 융합교육 등을 강조하면서 학생들이 다양한 주제에 대해 공부하게 되었지만, 각 주제에 대해 깊게공부하기에는 한계가 있기 때문이 아닐까 싶다.
실제 공학문제의 해결에는 꽤 깊은 지식이 요구되기 때문이다.잠시 내용이 주제에서 조금 벗어난 것 같지만 필자가 말하고자 하는 것은 화학반응이 있는 기체의 유동을 위해서는 유체역학과 전산유체역학에 대한 전공 지식뿐만 아니라, 화학공학에 대해서도 비교적 깊이 있는 지식이 필요하다는 점이다.
이 글에서는 화학반응이 있는 기체의 유동을 해석하기 위해 고려해야할 사항에 대해 정리하여 독자들이 참고할 수 있도록 하고자 한다. 화학반응을 고려하는 경우에도, 화학반응이 없는 일반적인 열유동 문제의 해석을 기본으로 하기 때문에 일반 열유동 문제 해석 시 고려해야 할 내용도 필요한 경우 포함하였다. 앞에서도 언급하였지만 화학반응을 포함한 기체의 유동 문제는 다양한 산업현장에서 찾아볼 수 있다.
2. 해석
2-1. 전산유체역학의 이용
공학문제를 전산유체역학을 이용하여 해석하고자 하는 경우에 보통 해석영역(computational domain)을 결정하고 해석영역을 CAD 데이터로 만든 후에 해석대상을 아주 작은 미소 체적(또는 요소)으로 분할하는 작업, 격자생성(grid generation) 작업을 하게 된다.
사실 이 작업까지는 해석을 위한 준비 단계로 볼 수 있는데 실제 작업을 수행해 보면 이 작업이 시간이 매우 많이 걸리고 또 쉽지 않다는 것을 느끼게 된다. 사실 격자생성은 그 자체로 하나의 연구 분야이며 고등 수학을 배경으로 하고 있다. 격자생성을 좀 더 쉽게 하고 또 해석의 정확도를 높이기 위해서는 해석영역을 신중하게 선정하여야 한다.
해석영역에 좁고 긴 막대나 깊은 구멍처럼 종횡비(aspect ratio)가 매우 큰 부분이 있으면 격자생성이 잘 이루어지지 않으며, 격자를 생성하였다 하더라도 격자 자체의 종횡비나 비대칭성(skewness)이 커져서 격자의 품질이 나쁘게 된다. 또 그 부분에 크기가 매우 작은 격자를 생성하여야 하므로 전체적으로 격자의 수가 매우 많아지게 된다.
따라서 해석하고자 하는 대상과 조건을 충분히 검토하여 해석영역을 가급적 단순하고 작게 선정하여야 한다. 해석영역을 단순하고 작게 선정하기 위해서는 해석 대상의 형상과 물리적 현상이 ‘대칭성이 있는지’, ‘반복적인지’ 또는 ‘차원을 낮출 수 있는지’를 먼저 검토하는 것이 일반적이다. 예를 들어 아래 그림 1의 (a)처럼 원기둥 주변의 유동을 해석하고자 하는 경우, 실제 현상은 3차원이지만 길이가 지름에 비해 충분히 크다면 (b)와 같이 2차원 문제로 가정할 수 있다.
이렇게 2차원 문제로 차원을 낮추어서 생각하면 원기둥 주변의 유동현상이 아래나 위가 동일하므로 대칭성이 있고 따라서 (c)와 같이 해석영역을 줄일 수 있다. 열교환기는 해석 영역이 주기성을 가지고 있는 대표적인 경우인데 그림 2에서 볼 수 있는 것처럼 냉매가 여러 개의 관(tube bundle) 사이로 흐르는 경우이다.
이런 경우에는 유체가 흐르는 통로가 동일한 형상이 반복적으로 이어져 있으므로, 해석하고자 하는 목적에 맞게 반복되는 부분 중의 한 부분을 해석영역으로 선정하면 된다. 요즈음에는 컴퓨터의 계산 속도가 매우 빠르게 되었기 때문에 해석영역을 단순화하여 가능한 작게 선정하는 것을 중요하게 생각하지 않는 경향이 있다.
하지만 이런 고려는 연구자에게 문제의 특성을 더 잘 이해할 수 있도록 해 주기 때문에 중요한 과정이라고 생각된다. 물론 해석하고자 하는 문제가 위의 예처럼 단순하지 않은 경우가 많고 해석대상을 작게 할 수 없는 경우가 있지만 그렇다 하더라도 이 과정을 거치는 것이 중요하다고 생각된다.
그림 1 원기둥 주위의 유동 문제에 대한 해석 영역 단순화
그림 2 주기적으로 배열된 관 군 [1]
2-2. 문제의 정의
해석 영역을 결정하고 이에 대한 격자생성이 완료되었으면 이제 해석을 위해 문제의 특징을 해석 프로그램에 입력하여야 한다.이 작업은 경계조건을 설정하는 것과 밀도나 점성계수(viscosity)와 같은 물성값을 입력하는 것을 의미한다. 화학반응이 없는 경우에도 마찬가지 작업을 하여야 하므로 여기서는 반응이 있는 경우에 고민해야만 하는 부분에 대해 생각해 보자.
반응가스가 해석영역으로 유입되는 경우에 유입되는 기체의 양을 보통 단위 시간당 몰 (mol/s) 또는 질량(kg/s)으로 입력해주어야 한다. MFC(mass flow controller)를 사용하여 각 기체를 따로 공급하는 경우라면 좋겠지만 그렇지 않은 경우에는 유입량 값을 모르는 경우가 많다. 따라서 이 값을 파악하기 위한 고민이 필요하다.
😥 미리 보기는 여기까지!
내용을 이어서 보고 싶다면,
아래 정보를 입력해 주세요.