[re] 유체의 수치해석에 대한 의문

글쓴이
사색자
등록일
2002-08-18 07:22
조회
7,599회
추천
0건
댓글
0건
음냐님의 글을 보고나서 몇가지 제 자신이 가진 의문점들을 여쭤보고자하는데 혹시 시간되시면 고견을 듣고 싶군요.

저는 1차원 자유표면을 가진 유동해석을 위해 finite difference method를 이용하고 있습니다. Lagrangian 프레임에서 1차원으로 단순화시킨 Navier-Stokes z momentum 방정식은 매틀랩을 통해 풀고 이 값을 Crank-Nicholson method를 이용한 contium 방정식으로 넘겨준후 liquid jet의 거동을 관찰합니다. 그리고 다시 N-S 방정식으로 피드백시킵니다.

1차원으로 단순화시킨 근거중 하나는 노즐밖으로 돌출된 liquid jet의 pressure r gradient는 z  gradient에 비해 크게 중요하지 않다는 것이 Flow 3D 해석결과 관찰되었기 때문입니다.

또한, radial velocity가 axial velocity에 비해 그 기여도가 적다고 판단되며 axial velocity도 노즐을 떠난 직후 급속히 r gradient가 사라지게 됩니다.

결국 tau_zz는 고려되지만 tau_rz는 liquid jet 자유표면의 대부분의 영역에서 그 중요도가 떨어지기때문에 이와 관련된 항들은 소거시켜도 무방하리라 추측됩니다.

지금까지 드린 말씀으로 아마 짐작하시겠지만, 제가 푸는 문제는 drop-on-demand inkjet print head에서 drop formation에 관련된 문제입니다.

이러한 drop formation문제를 Fromm의 경우는 3차원 N-S 방정식으로 풀었습니다만 이후 CH Lee, Roy and Adams, PH Chen등 많은 사람들이 1차원으로 단순화된 surface tension driven liquid jet 의 drop formation 문제를 다뤘으며, 1차원으로 단순화된 접근이 3차원 혹은 axisymmetric 가정하의 2차원 문제로 푸는 것보다 훨씬 빠른 시간안에 3차원 가정때와 꽤 유사하게 풀 수 있다는 것이 입증되었습니다.

유사하게 풀 수 있다는 것이지 정확하다는 것은 아닙니다. 수치해석이란 것 자체가 정확성에 근접하고자하는 학문이지 정확성을 모사하는 학문은 아니라고 개인적으로 생각합니다.

저는 이 문제에 접근함에 있어서 기본 방정식은 Jens Egger 의 논문을 참조하고 있습니다.
개인적으로는 Roy and Adams와 그에 연관된 다른 연구자들의 논문의 기본방정식에 오류가 있지 않나 의심을 합니다.

제가 개발한 모델 (단순하면서도 빠르면서도 정확하게...이게 제가 추구하는 세가지 목표입니다.) 을 Flow 3D라는 상용패키지와 비교를 해봅니다.

Flow 3D는 volume of fluid method를 사용합니다. 최근들어 Ansys도 이 해석방법을 도입하였습니다.

이 방법의 장점은 자유표면을 가진 유체의 거동 관찰에 있어서 메쉬를 각 시간 프레임마다 새로 짜줄 필요가 없다는 것입니다.

음냐님께서 liquid-liquid 혹은 air-liquid와 같이 free surface 혹은 interface를 가지는 유체문제를 다루시는지는 잘 모르겠습니다만, OA Basaran (Purdue univ 화공과의 OA Basaran이라는 분이 이쪽에서 재미있는 논문을 꽤 내고 있습니다.)과 같이 경계면내의 유체에 대해서 일반적인 FEM으로 해석할 경우 시간값이 변할때마다 메쉬를 새로 생성하고 적절한 알고리듬을 동원하여 리파인해줘야 합니다. time and cost expensive하다고 표현하더군요.

여하튼 이런저런 이유로 최소한 free surface 를 가진 유체문제에 있어서는 VOF 방식이 요즘에 꽤 두각을 나타내고 있습니다.

물론 VOF방식도 문제가 없는 것이 아닙니다.
가장 기본적인 문제점이 예를 들어,… 흠… VOF방식에서 노즐내 air entrapment문제가 해석이 안됩니다.

유체 경계외를 단순히 void로 간주하기때문에 한 cell안의 fluid volume이 일정 이하 (기본설정이 0.05일겁니다.)가 되면 그 cell은 유체가 없는 것으로 간주됩니다.

이럴 경우 유체가 cell안에서 사라져버리는 경우가 생깁니다. numerical method의 맹점이죠.  컴퓨터에게 어느 일정 수치 이상 혹은 이하가 되면 그 값은 의미없는 값으로 치환시켜버리는 것입니다. 한번 생기기 시작한 에러들은 점점 적층이 되어서 나중에는 이상한 결과가 나올수도 있습니다.

그리고, 상용패키지에서 유저가 자유롭게 취사선택할 수 있는 팩터들은 그다지 많지 않습니다.
Flow 3D의 경우 기껏해야 viscos stress evaluation을 explicit, Jacobi implicit, ADI중 어느방법을 선택하느냐, pressure iteration을 SOR로 하겠느냐 아니면 line implicit으로 풀겠느냐, 기타 preprosessor에 직접 써넣어주는 몇가지 파라미터들, 즉 convergence와 relaxation factor가 전부입니다. 기타 몇몇 파라메터들을 더 조정해줄 수도 있겠지만 별로 유의미한 작업들은 아니라고 봅니다. 그렇다고, 개인이 직접 코드를 만든다... 제가 Flow 3D, Fluent, Ansys보다 더 나은 코드를 만들기는 무리가 아닐까 싶은데요... :) 목숨걸고 하면 비슷하게는 만들 수 있겠지만, 뛰어넘는 역작은 혼자서는 아마 불가능하리라 봅니다. 님께서도 직접 코딩을 해보신듯 하시니 아마 이해하시리라 봅니다. 단순히 코드를 만든다는 것과 검증된 코드를 제공하겠다는 것은 전혀 다른 의미라고 봅니다.

하물며, 개인이 실험실 수준에서 하는 코드와 전담개발인력을 두고 전문 소프트웨어회사에서 하는 코드의 질이 같다고 보면 어폐가 있겠죠. 틈새시장을 파고들수는 있습니다. 저도 Flow 3D에서 구현되지 않은 기능들때문에 스스로의 코드를 만든 것이지 만약 대안이 있었다면 상용 패키지를 사용했을겁니다.

자, 간단한 제 연구의 백그라운드는 이것으로 소개가 되었을듯 싶네요.


대략 이론을 한 몇년 하고 난후 요즘에는 실험을 하고 있습니다. 잉크 방울의 크기가 60 마이크론 그 근방입니다. 한 펄스당 하나씩 생성된다고 했을때 5 kHz~20 kHz 영역을 사용주파수로 했을경우 5,000 개에서 20,000 개의 방울이 생성됩니다. 이때 제가 최종적으로 궁금한 것은 각 잉크 방울의 속도와 크기입니다. 이것을 해석하고 추측하는 것이 제 연구주제입니다만, 실험도 하고 이론도 하다보니 이제와서 CFD에 대한 기본적인 것들에 회의가 들더군요.

 Flow 3D를 예로 들어보자면,

(1) convergence값이 1.0 이 기본설정인데 0.9로 설정하였을때 기본설정일때와 다른 값이 나온다면, convergence factor를 1.0으로 기본설정했을때의 값이 옳을까요 아니면 0.9로 좀더 finer convergence를 취했을때의 값이 옳을까요?

(2) Relaxation factor의 값이 incompressible assumption에서 1.7이 기본설정인데 numerical noise를 줄이기 위해 1.6을 사용했을때 기본설정에서 관찰되던 스파이크들이 사라진다면... 과연 그 스파이크들은 진짜로 numerical noise였을까요, 아니면 실제로는 존재해야하는 값임에도 불구하고 underrelaxation을 함으로서 뭉게져버린 값들일까요?

(3) 5 kHz의 압력 펄스에 대한 drop formation 해석에서 사용한 파라메터들을 이용하여 다른  조건 예를 들어 13 kHz의 압력펄스를 주었을때 지금껏 사용했던 파라메터들을 바꿔주는게 정석일까요 아닐까요?

그럼 이론적 지식으로 어떤 파라메터들을 선택해서 어떤 값을 지정해줘야하는지 예측이 가능할까요, 아니면 trial by error 접근을 해야할까요?

(4) linearized Navier-Stokes z momentum eq를 이용하여 노즐에서의 approximate analytic solution 을 개발했습니다.
convergence 1.0, Relaxation factor 1.7에서의 수치해석값과 비교해보니 에러가 20%였습니다.
convergence 0.9, Relaxation factor 1.6의 수치해석값과 비교해보면 에러가 10% 입니다.
그러면, 둘 중 어느 에러가 제 approximate analytic solution의 에러라고 논문에 보고해아할까요?


(5) 메쉬를 짜는 것도 예술의 하나라고 하셨는데…첫번째 일단 coarse하지만 uniform한 메쉬로 해석을 해보고 복잡한 유동이 관찰 혹은 예상되는 곳은 좀더 세밀하게 refinement해준다가 기본이 아닌가 싶습니다만. 님께서는 이런 기본적인 접근방식이 아닌 님만의 독특한 다른 방식이 있습니까?

저는 점진적으로  uniform, coarse mesh -> locally non-uniform, fine mesh로 진입하는 방식을 선호합니다. 첫번째 uniform, coarse mesh상태의 관찰단계에서 대략적인 윤곽을 살펴본후 관심이 가는곳, 유동의 흐름이 복잡한 곳을 중점적으로 세분화해가는 것인데 이것은 특별한 수련이 필요한 작업이라고는 보기 힘들지 않나 싶은데요. 게다가 요즘에는 mesh generation을 전문적으로 해주는 툴들이 많이 생겼죠. Flow 3D의 경우에는 그냥 사각형의 격자 모델만이 이용됩니다.

여하튼, 이런 단계적 접근은 별다른 예술은 아니라고 생각합니다만… 님께서 예술이라고 말씀하셨을때는 무엇을 이야기하시는지 잘 이해가 안갑니다. 님께서는 어떤 geometry가 주어졌을때 cell의 aspect ratio는 어디는 얼마정도, grid density는 얼마나, 어느곳은 refine해줘야하고 하는 것들을 이론적으로 입증하실 수 있으며 그러한 이론에 기반하여 그리드를 짜십니까?

제가 보기엔 많은 분들이 저와같은 방법으로 메쉬를 짜나간다고 봅니다만 이것은 말씀드렸다시피 예술이라고 보기엔 무리가 있을거 같네요.

그리고 유동장의 특성을 알고 메쉬를 짠다는 말은 잘 이해가 안가네요. 모르기때문에 CFD를 하는게 아닌가 싶네요. 그냥 머릿속에 여기에 난류가 발생할 것이다라는 두리뭉실한 정도의 특성을 파악해야한다는 것인지 아니면 그보다 더 고차원적인 특성을 미리 파악하고 메쉬를 짜야한다는 것인지 잘 모르겠습니다.






제 근본적인 회의는 여기에서 옵니다.
많은 파라메터들과 메쉬의 조합으로 실험에 근접한 값들을 출력시킬 수는 있습니다.
그런데, 이게 자꾸 속된말로 ‘사기’치는 것같은 기분이 들더라구요.
파라메터를 바꿔서 일단 근사한 값들이 나오면 논문에 발표하기에도 즐겁고 보스에게 자랑하기에도 즐겁습니다만, 마음 한구석에는 찜찜합니다.

만약 어떤 연구소의 다른 분들이 자기도 나와같은 해석을 해봤는데 도저히 그런 값이 안나온다고 하면 “아, 그것은 이 파라메터를 이렇게, 저 파라메터를 저렇게… 그리고 메쉬는 이렇게 짜야 나옵니다.” 라고 해야할까요?

엔지니어가 하는 모든 실험은 재생산성에 기반을 둬야합니다만, 그러한 파라메터 설정이나 메쉬 설정이 과연 재생산선을 이루는데 아주 큰 요인이라고 한다면, 그리고 그러한 설정들이 이론적 기반위에 성립하지 않고 근본적으로 직관이나 trial by error에 의존한다면 문제가 있지 않을까요?

예를 들어, JH Ferziger의 Computational Methods for Fluid Dynamics라는 책이 옆에 있기에 지금 막 훑어봤는데도 CFD에서 discretization은 각 방법론에 따라 어떻게 한다 뭐 이런식의 이야기는 나오지만 convergence, relaxation parameter는 어떤 식으로 정해줘야하고 어떤 geometry존재시 어떤 식으로 셀 사이즈크기와 local refinement를 정해줘야하는지는 어떠한 이론도 나오지 않습니다. 실제로 저도 그에 대한 어떠한 이론도 접해본적이 없습니다.

이론도 존재하지 않는 문제,  trial-by-error가 주된 근간인 논점들을 가지고 예술이라고 부르신 것은 아니신지요?


상용 프로그램으로는 Algor, Flow 3D 두가지를 써봤습니다. 제가 디벨로퍼가 아니라서 안의 루틴까지 확인할 수야 없지만, 두 해석툴 모두에게서 문제점을 발견했습니다. Algor의 경우는 quadratic cell의 outnormal vector중 몇몇의 방향이 내부로 향하고 있습니다. 이것은 프로그램상에서는 안타나납니다. 필요에 의해서 Algor가 preprocessing중에 생성하는 데이터파일을 분석해본적이 있는데 그때 우연히 발견되었던 문제입니다. outnormal vector가 반대로 되어있으니 나중에 solver에게 잘못된 값을 전해주겠죠.

Flow 3D의 경우 국내 S 대기업에서도 사용하고 유럽에 있는 Lexmark라는 프린터 회사에서도 사용했던 (혹은 지금도 사용하는 ) 것으로 압니다. 그런데, VOF 자체의 문제뿐 아니라 이 툴의 문제점중 하나는 drop이 날아가서 아무것도 존재하지 말아야할 void cell의 압력값이 사라지지않고 남아있다는 것입니다.  결론은 후속으로 다가오는 liquid jet 의 자유표면이 이런 존재하지 말아야할 압력값때문에 일그러지게 됩니다.

님께서 말씀하시길 “특히 비전공자들이 하는 실수가 그거지요. 무턱대고 엔터키 친다고 결과가 나오는것은 아닙니다. 모르는게 무지는 아니지요. 자신이 모른다는 것을 모르는 것이 문제 이지요.
실제로 실험 전공하신 분들이 겪는 경우 중의 하나 입니다. 어려운 컴퓨터 코드는 아니고, 그저 그래픽으로 화려한 화면에서 몇번 마우스 클릭하여 격자 짜고 적당한 변수를 주고 계산한면 해가 뚝딱나온다고 생각하는 사람 의외로 많습니다. 전산유체역학 그리 쉬운 학문 아닙니다.” 라고 하셨는데, 원칙적으로 추구해야할  잘된 코드라는 것은 제가 보기엔 7살짜리 꼬마라도 마우스 클릭 몇번으로 계산하면 나와야하는 것이 정상이 아닐까 싶습니다.

주관이 개입되기 시작하면 그것은 이론적 토대가 서있는 학문이 되기 힘들지 않을까요?


마지막으로, 값들이 다르게 나온다고 했을때, 님께서 말씀하실때 비슷하게 나와야 하는 것이 정상인데 아니면 제가 잘못했을거라고 하셨는데, 잉크방울 40 마이크론 직경이 실험으로 측정되었는데 36 마이크론이라는 직경이 수치해석값으로 나왔다면 제게는 썩 잘된 결과는 아닙니다.

그런데, 며칠의 시간을 투자하여 이리저리 수치해석 파라메터 조합과 메쉬를 뜯어고치다보면 40 마이크론 나오게 만들 수 있습니다. 실험값과 예측치가 100% 일치합니다.

자, 이게 정말 일치했다고 말할 수 있겠습니까? 이게 제 딜레마입니다. 사기치는 기분같다는…


과학기술Q&A

게시판 리스트
번호 제목 글쓴이 등록일 조회 추천
204 [정보] 일본 식육(食肉)가공업계 댓글 2 로켓연구가 08-17 4883 0
203 엔트로피 질문 댓글 11 로켓연구가 08-15 6445 0
202 답변글 [re] 엔트로피 질문 댓글 14 KO 08-16 5603 0
201 답변글 [re] 엔트로피 반론 댓글 12 Simon 08-23 7510 0
200 inverse heat conduction problem? 댓글 1 Les Miserables 08-14 5502 4
199 유체의 수치해석에 대한 의문 댓글 2 사색자 08-13 7507 1
198 답변글 [re] 유체의 수치해석에 대한 의문 한때 직장인 08-13 6367 2
197 답변글 [re] 유체의 수치해석에 대한 의문 댓글 3 harry kim 08-17 5783 1
196 답변글 [re] 유체의 수치해석에 대한 의문 전문대생 08-25 5299 0
195 답변글 [re] 유체의 수치해석에 대한 의문 황인태 02-07 5499 1
194 답변글 [re] 유체의 수치해석에 대한 의문 댓글 1 음냐 08-26 7084 0
193 답변글 [re] 유체의 수치해석에 대한 의문 음냐 08-17 6304 1
192 답변글 말씀이 지나치시군요 08-27 6124 2
열람중 답변글 [re] 유체의 수치해석에 대한 의문 사색자 08-18 7600 0
190 답변글 [re] 유체의 수치해석에 대한 의문 댓글 13 음냐 08-18 8231 1
189 답변글 [re] 유체의 수치해석에 대한 의문 댓글 4 사색자 08-19 6144 0
188 곡면에서의 가속도 헛가리네요. 댓글 3 이지원 08-12 8033 4
187 혹시 intrinsic safety calculation 을 아시는 분? aaa 08-11 5414 1
186 유체의 저항이란? 댓글 12 환비 08-08 10509 1
185 답변글 흠... 맞나 모르겠네요. 댓글 6 환비 08-09 5814 4


랜덤글로 점프
과학기술인이 한국의 미래를 만듭니다.
© 2002 - 2015 scieng.net
모바일 버전으로 보기