본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

[공개SW 활용 성공사례 59] 현대중공업 - 오픈폼으로 선박 성능 평가 고도화

OSS 게시글 작성 시각 2012-11-20 21:21:41 게시글 조회수 1573

OpenFOAM 도입으로 상용프로그램에 준하는 범용성, 정확도 갖춰

현대중공업의 선박연구소는 선체 구조에 대한 안정성과 속도 성능에 대한 평가 및 개선을 위해 OpenFOAM에 주목하고, 세계 유수 연구소와 경쟁할 수 있는 자체 기술력 확보에 매진하고 있다.

- 기     관 현대중공업 선박연구소
- 수행년도 2009년~현재
- 도입배경 선박 성능 평가의 고도화와 차별화를 위한 자체 기술력 확보
- 솔 루 션 OpenFOAM (수치 해석용 프로그램)
- 도입효과 : 다양한 상용 프로그램과 교차 검증할 수 있는 기반 마련 및 고차원 해석을 수행할 수 있는 토대 구축

현대중공업 로고세계 조선 시장을 선도하는 현대중공업은 글로벌 금융 위기에 따른 조선 업계의 불황을 타개하기 위해 기술개발본부에 속해있던 연구소를 각 사업본부 소속으로 변경하면서 보다 적극적인 현업 지원 및 자체 기술력 확보에 박차를 가하고 있다. 조선 사업본부에 소속되어 있는 선박연구소에서는 선체 구조에 대한 안정성과 더불어 선박의 속도 성능에 대한 평가와 이를 바탕으로 한 성능 개선에 관한 연구를 수행한다. 이러한 연구 업무는 주로 수조를 이용한 모형 실험과 컴퓨터를 이용한 수치 해석으로 나뉘는데, 모형 실험 결과에 근거하여 속도 성능을 평가하던 과거와 달리 최근에는 컴퓨터의 계산 성능이 급격히 발달함에 따라 수치 해석을 통한 1차적 성능 평가에 대한 요구가 점점 증가하고 있다. 또한 선박에 대한 환경적 규제와 더불어 고효율의 성능 개선을 요구하는 선주 요청에 따라 복잡한 물리적 현상을 엄밀하게 해석해야 하는 어려움도 동시에 존재한다.


수치 해석을 수행하기 위한 격자
▲ 수치 해석을 수행하기 위한 격자
선박의 속도 성능을 해석하는 문제는 물과 공기의 자유 수면이 존재하는 다상 유동, 속도가 높은 데서 기인하는 난류 유동, 파랑과 선박의 운동이 존재하는 비정상 유동을 동시에 고려하여 선체 및 프로펠러에 작용하는 힘을 정도 높게 예측하는 것을 목표로 한다. 현재까지 대부분의 저항 및 자항 성능 평가는 상용 프로그램을 사용하여 이루어지므로 상용 프로그램이 제공하지 못하는 물리적 현상이나 정확도를 기대할 수 없는 한계가 있다. 특히 상용 프로그램을 사용할 경우 동일 프로그램을 사용하는 중국의 동종 후발 업체나 국내 경쟁사와 비교하여 차별화된 기술력을 확보하기 어려운 것도 현실이다.


OpenFOAM 상용프로그램에 준하는 범용성, 정확도 갖춰


상용 프로그램과의 결과 비교/검토 자료
▲ 상용 프로그램과의 결과 비교/검토 자료
이에 연구소는 2008년 미국 해군 연구소(Office of Naval Research, ONR)가 주관하는 국제 학술 대회에서 발표되었던 한 연구 논문에 주목하였다. 미국 해군 연구소에 근무하는 김성은 박사가 발표한 논문으로 유체 해석에 주로 사용되는 상용 프로그램들과 OpenFOAM이라는 공개 소스 코드를 이용하여 3차원 날개 단면에서 발생하는 캐비테이션을 해석 비교한 결과였다. OpenFOAM에 주목한 가장 큰 이유는 특정한 물리적 현상에 특화된 대개의 공개소스코드와달리상용프로그램에준하는수준의범용성을갖추었고, 정확도 측면에서도 상용 프로그램보다 우수한 결과를 보여줄 가능성이 있기 때문이었다. 이후 연구소에서는 자체 과제를 통해 OpenFOAM 코드를 분석하기 시작하였는데 문제는 구조가 너무 체계적이어서 역설적으로 코드를 한 눈에 쉽게 이해하기가 어렵다는 것이었다. 즉 OpenFOAM의 전체 구조를 이해하고 나면 이후에는 굉장히 편리하게 사용할 수 있는 반면 처음에는 그 구조 자체를 파악하는 것조차도 어렵게 느껴진다. 일종의 진입 장벽이라고 표현할 수 있는 이러한 어려움은 현재까지도 OpenFOAM을 이해하고자 하는 사용자들이 공통적으로 보이는 반응이다. 특히 유체 역학 분야에서 FORTRAN으로 만들어진 예전 코드에 익숙한 연구원들이라면 C++이 갖고 있는 객체 지향적 코드 방식에서부터 큰 장벽을 느낄 수 밖에 없다.

세계 유수 연구소와 경쟁할 수 있는 자체 기술력 확보 목표


OpenFOAM 프로그램 실행 화면
▲ OpenFOAM 프로그램 실행 화면(예제)

연구소 자체적으로 코드에 대한 이해와 검증을 수행한 이후 내린 결론은 여타 다른 공개 소스 코드와 달리 OpenFOAM이 제공하는 프로그램 기반이 매우 훌륭하여 현업에서 사용하는 상용 프로그램보다 응용성이 더 우수하지만 문제는 상용적으로 배포된 프로그램이 아닌 만큼 수치적 안정성과 정확도에 대한 보장을 못한다는 것이었다. 따라서 상용 프로그램에 준하는 해석 시간과 정확도가 나오게끔 사용자가 프로그램을 개선할 수 있느냐는 것이 OpenFOAM을 현업에 적용하는데 있어 관건이다. 이를 위해 연구소에서는 2011년부터 2년동안 서울대학교 조선해양공학과 이신형 교수와의 산학 협동 과제를 통해 선박의 저항, 자항 및 캐비테이션 성능을 예측할 수 있도록 OpenFOAM을 개선하는 연구를 진행하고 있다. 상기 산학 협동 과제의 목표는 현업에 필요로 하는 기능을 OpenFOAM에서 구현하는 것이며, 이를 바탕으로 해석 시간과 정확도에 있어 현업에 적용할 수 있는 수준으로 개선하는 것이 차기 연구 과제의 목표이다. 그리고 상용 프로그램에 준하는 기능과 해석 시간이 구현된 이후에는 보다 개선된모델을적용하여세계유수연구소와경쟁할수있는자체기술력을확보하는것을최종목표로한다. 이러한 수준에 도달하면 OpenFOAM 초기 개발시 애로사항이었던 진입 장벽이 오히려 후발 업체와 차별화할 수 있는 새로운 방패가 될 수 있을 것으로 기대한다.

-----------------------------------------------------------------------------------------------------------------------------
[인터뷰]


이상봉 저항추진연구실 선임연구원
▲ 이상봉 저항추진연구실 선임연구원
Q> 상용 프로그램과 비교하여 어떤 결과를 얻을 수 있으며, 얼마나 연구하면 상용 프로그램을 대체할 수 있는가?

유체 역학의 수치 해석 분야에 있어 공개 소스 프로그램의 위치 및 역할에 대해 생각해 볼 필요가 있는 질문이다. 공개 소스 프로그램에 대해 긍정적 시각을 가진 사람들의 입장에서 보면 장기적으로 상용 프로그램간의 경쟁이 아니라 상용 프로그램과 공개 소스 프로그램과의 경쟁이 될 것이라고 전망한다. 개인적인 생각이지만 현실적으로 보면 상용 프로그램이 하는 역할을 공개 소스 프로그램이 완전히 대체하기는 어려울 것이나 상호 보완하며 공존할 가능성은 매우 높다고 생각한다. 따라서 현업에서 공개 소스 코드를 통해 이루고자 하는 목표를 상용 프로그램에 대한 적대적 경쟁보다 상호 보완적 경쟁이라는 관점에서 설정할 필요가 있다. 이는 OpenFOAM이라는 코드에서도 마찬가지로 단기적 관점에서 라이센스 비용에 대한 경제적 이유로 상용 프로그램을 대체하고자 한다면 정확도 검증 및 수치적 안정성 확보, 모델 개선 등과 같이 매우 힘든 과정을 거쳐야 할 것이다. 조금은 장기적인 관점에서 상용 프로그램에 대한 병행 차원으로 접근하는 것이 바람직하지 않나 생각한다. 적용 분야 및 개인적인 능력에 따라 차이가 있겠지만 코드를 이해하고 개선하여 상용 프로그램에 준하는 수준으로 만드는데 1-2년 정도는 걸릴 것이며, 공개 소스 코드의 장점을 제대로 활용하기 위해서는 그 이상의 시간이 필요할 거라 생각한다.

Q> OpenFOAM 코드가 방대하고 매우 복잡하다. 코드를 이해하기 위한 쉬운 방법은?

다른 사람이 만들어 놓은 코드를 쉽게 볼 수 있는 방법은 없는 것 같다. OpenFOAM과 같이 모든 구조를 클래스화하여 새로운 체계를 만들어 놓은 코드의 경우 프로그램의 가독성은 좋을지 몰라도 내부 구조를 모두 이해하는데는 시간이 꽤 걸린다. 개인적으로 초기에 OpenFOAM을 구조를 이해하기 위해 디버깅 모드로 실행되는 소스 파일을 한줄 한줄 읽어 나가면서 엑셀 파일에 전체 구조를 나름대로 정리했다. 나중에 코드를 수정하고 디버깅하는 데도 이 자료들이 큰 도움이 되었다.

-----------------------------------------------------------------------------------------------------------------------------


오픈폼(OpenFOAM : Open Field Operation and Manipulation)은 소스코드가 공개된 무료 전산유체역학(CFD : Computational Fluid Dynamcis) 해석을 위한 프로그램임.




- 공개SW 역량프라자
맨 위로
맨 위로