4
182C2009/3 nalysis A 오픈소스에 대하여 가장 대표적인 오픈소스는 리눅스 (Linux)이다. 리눅스는 1991년 헬싱키 대 학생이었던 리누스 토발즈에 의해 개발되 었다. 그의 말처럼‘그냥 재미로(Just for fun)’만든 프로그램이 수많은 전 세계 프로그래머의 협업에 의해 급 속도로 개발이 이루어져 현재는 대표적인 운영체제 중 하나가 되 었다. 그냥 재미로 만든 운영체제 는 우리에게 운영체제에 대한 선 택권, 경제적인 도움, 일부에게는 도덕적인 안도감마저 얻게 해주었다. 게다가 지금은 리눅스를 위한 유 틸리티 프로그램들이 경쟁적으로 개발되어, 제한적인 프로그램 사용 이라는 리눅스 최대의 단점마저도 허물게 되었다. 오픈소스는 개발자 의 명예는 인정되지만 소유권은 인정되지 않으며 완전한 평등, 완전한 공유 정신을 따른다. 오픈소스 해석 프로그램의 필요성 사무적인 작업 또는 가정에서의 작업을 위한 오픈소스 프로그램은 이미 충분히 개발되어 양질의 소프트웨어를 사용할 있게 되었다. 그 러나 전문가들을 위한 오픈소스 공학 프로그램들은 아직 상용 프로그 램에 필적할 만큼 개발이 이루어지지 않은 것이 사실이다. 이런 단점을 감안하여 오픈소스의 필요성을 3가지 정도 말하고 싶다. 먼저 현실적으로 일 년에 몇 번 사용하기 위하여 작게는 수천, 많게 수억에 달하는 프로그램을 구입하는 회사가 적지 않다. 대부분의 학 프로그램을 수입하고 있는 우리나라로서는 엄청난 외화의 낭비가 아닐 수 없다. 두 번째는 최신 해석 이론과 프로그램의 알고리즘을 연구 및 교육해 야 할 학계에서조차 막대한 비용을 지불하면서 상용 프로그램을 사용 하여 기술이 아닌 기능을 교육하는 것이 굉장한 아쉬움으로 남는다. 학 계에서 오픈되어 있는 소스를 통해 해석 프로그램을 기본 구조를 이해 하고 최신의 해석 알고리즘을 추가하여 진보적인 해석 기술 발전에 기 여했으면 한다. 마지막으로 세계적인 반도체, 디스플레이, 조선 기술을 가지고 있는 우리나라에서 대표적인 해석 프로그램이 없다는 것이 굉장히 아쉽다. 이렇게 된 이유는 많은 사람들이 세계적인 인터넷 기술을 통해 불법적 상용 프로그램을 사용하는 데에 있다. 심각한 도덕적 해이로 인하여 심지어 1만원의 프로그램까지도 아깝다는 생각이 드는 것이 현실이다. 오픈소스의 사용은 도덕적으로 자유로울 수 있으며 Internet Technology 강국이 아닌 Information Technology 강국이 될 수 있 는 터전이 될 것이다. 공학 해석을 위한 오픈소스 프로그램의 활용 � 최근 오픈소스 유한요소해석 프로그램들이 상용 프로그램에 필적할 만큼 점진적인 발전을 이룩하고 있다. 이를 통해 업체에서는 상용 프로그램의 심각한 비용 소모를 극복 있을 것이며, 학계에서는 소스를 수정할 수도 있는 오픈소스를 이용하여 조금 더 발전적인 유한 요소해석 기술을 개발할 있을 것이다. 이번 에서는 대표적인 오픈소스 유한요소해석 프로그램을 소개하고자 한다. 오픈소스 유한요소해석 프로그램의 소개 ■한혁섭 한화 대전공장 개발부에 근무하 있으며, 방산관련 설계 및 해석 업무를 담당하 고 있다. E-Mail │ [email protected] ▲ 대표적 오픈소스 운영체제인 리눅스의 마스 코트 턱스(Tux)

오픈소스유한요소해석 프로그램의소개BF... · 2009/3 c∙183 리눅스배포판 해석프로그램을사용하기에앞서먼저운영체제를설치하여야한 다

Embed Size (px)

Citation preview

Page 1: 오픈소스유한요소해석 프로그램의소개BF... · 2009/3 c∙183 리눅스배포판 해석프로그램을사용하기에앞서먼저운영체제를설치하여야한 다

182∙C 2009/3

nalysisA

오픈소스에 하여

가장 표적인 오픈소스는 리눅스

(Linux)이다. 리눅스는 1991년 헬싱키

학생이었던 리누스 토발즈에 의해 개발되

었다. 그의 말처럼‘그냥 재미로(Just

for fun)’만든 프로그램이 수많은 전

세계 프로그래머의 협업에 의해 급

속도로 개발이 이루어져 현재는

표적인 운 체제 중 하나가 되

었다. 그냥재미로만든운 체제

는 우리에게 운 체제에 한 선

택권, 경제적인 도움, 일부에게는

도덕적인안도감마저얻게해주었다. 게다가지금은리눅스를위한유

틸리티 프로그램들이 경쟁적으로 개발되어, 제한적인 프로그램 사용

이라는 리눅스 최 의 단점마저도 허물게 되었다. 오픈소스는 개발자

의명예는인정되지만소유권은인정되지않으며완전한평등, 완전한

공유정신을따른다.

오픈소스해석프로그램의필요성

사무적인 작업 또는 가정에서의 작업을 위한 오픈소스 프로그램은

이미충분히개발되어양질의소프트웨어를사용할수있게되었다. 그

러나 전문가들을 위한 오픈소스 공학 프로그램들은 아직 상용 프로그

램에필적할만큼개발이이루어지지않은것이사실이다. 이런단점을

감안하여오픈소스의필요성을3가지정도말하고싶다.

먼저 현실적으로 일 년에 몇 번 사용하기 위하여 작게는 수천, 많게

는수억에달하는프로그램을구입하는회사가적지않다. 부분의공

학 프로그램을 수입하고 있는 우리나라로서는 엄청난 외화의 낭비가

아닐수없다.

두번째는최신해석이론과프로그램의알고리즘을연구및교육해

야 할 학계에서조차 막 한 비용을 지불하면서 상용 프로그램을 사용

하여기술이아닌기능을교육하는것이굉장한아쉬움으로남는다. 학

계에서오픈되어있는소스를통해해석프로그램을기본구조를이해

하고최신의해석알고리즘을추가하여진보적인해석기술발전에기

여했으면한다.

마지막으로세계적인반도체, 디스플레이, 조선기술을가지고있는

우리나라에서 표적인 해석 프로그램이 없다는 것이 굉장히 아쉽다.

이렇게된이유는많은사람들이세계적인인터넷기술을통해불법적

인상용프로그램을사용하는데에있다. 심각한도덕적해이로인하여

심지어1만원의프로그램까지도아깝다는생각이드는것이현실이다.

오픈소스의 사용은 도덕적으로 자유로울 수 있으며 Internet

Technology 강국이 아닌 Information Technology 강국이 될 수 있

는터전이될것이다.

공학해석을위한오픈소스프로그램의활용�

최근 오픈소스 유한요소해석 프로그램들이 상용 프로그램에

필적할 만큼 점진적인 발전을 이룩하고 있다. 이를 통해

업체에서는 상용 프로그램의 심각한 비용 소모를 극복

할 수 있을 것이며, 학계에서는 소스를 수정할 수도

있는 오픈소스를 이용하여 조금 더 발전적인 유한

요소해석 기술을 개발할 수 있을 것이다. 이번 호

에서는 표적인 오픈소스 유한요소해석 프로그램을 소개하고자 한다.

오픈소스유한요소해석프로그램의소개

■ 한 혁 섭 | 한화 전공장개발부에근무하

고있으며, 방산관련설계및해석업무를담당하

고있다.

E-Mail │ [email protected]

▲ 표적 오픈소스 운 체제인 리눅스의 마스

코트 턱스(Tux)

Page 2: 오픈소스유한요소해석 프로그램의소개BF... · 2009/3 c∙183 리눅스배포판 해석프로그램을사용하기에앞서먼저운영체제를설치하여야한 다

2009/3C∙183

리눅스배포판

해석 프로그램을 사용하기에 앞서 먼저 운 체제를 설치하여야 한

다. 오픈소스프로그램중에윈도우를지원하는프로그램도있지만계

속적으로 업데이트되는 최신의 프로그램을 사용하기 위해서는 많은

시간을요구하게된다. 따라서리눅스배포판을설치하고최신의오픈

소스해석프로그램을다운로드하여설치할것을추천한다.

리눅스 배포판은 수백 가지에 달한다. 표적인 리눅스 배포판에는

래드햇, 페도라, 맨드리바, 오픈수세, 우분투등이있다. 오픈소스프로

그램 중에도 특정한 리눅스 배포판을 요구하는 경우도 있지만 부분

모든리눅스배포판에서사용이가능하다. 리눅스배포판은압축관리,

멀티미디어 재생, 이미지뷰어 등의 기본적인 유틸리티가 포함되어 있

으며, 추가적으로 기본적인 사무용 프로그램인 오픈오피스(워드 프로

세서, 스프레드시트, 프레젠테이션), 파이어폭스(인터넷브라우저), 김

프(비트맵그래픽도구), 잉크스페이스(벡터그래픽도구) 등을사용할

수있는것이큰장점이다.

리눅스 배포판 중 하나인 PCLinuxOS를 기반으로 오픈소스 해석

프로그램이 모두 설치되어 있는 CAElinux 2008도 있다. CAELinux

2008은 프랑스의 EDF에서 개발된 GNU GPL을 따르는

Salome_Meca 2008 패키지가설치되어있다. Salome_Meca 2008은

유한요소해석 프로그램인 Code-Aster STA 9.2와 CAD/Pre/Post

Processor인 Salome v3.2.9가 포함되어 있다. 따라서 Salome 플랫

폼을 통해 직접적으로 해석을 수행하는 것이 가능하다. 또한,

CAELinux 2008은 EDF에서 개발한 CFD 해석 프로그램인 Code-

Saturne v1.3.1을 포함하고 있다. 이 밖에도 GMSH 2, Paraview,

Visit, QCad, Calculix 1.7, Impact 0.75, OpenFOAM v1.4.1,

MBDyn 등이포함되어있다.

전처리기(Pre-processor)

SALOME

SALOME(http://www.salome-platform.org)는 수치해석을 위

한 전∙후처리 기능을 가진 오픈소스 통합 플랫폼이다. SALOME는

단순하고 효율적인 다중 물리(multi-physics) 해석, 효율적인 전∙후

처리, 수치해석 코드의 광범위한 사용성, 제품수명관리(PLM)를 위해

2000년에개발되었다.

SALOME는CAD 모델과해석소프트웨어를연결하기위해개방적

이고유연한구조를가지고있으며, 모든기능은파이썬(Python) 콘솔

을통해실행할수있다. SALOME는CAD 모델의생성, 수정, 가져오

기, 내보내기, 수리(Repair), 정리(Clean), 요소망의생성, 요소망의품

질검사, 요소망의가져오기, 내보내기를할수있다. 또한해석을위한

재료속성과경계조건의설정, 해석의실행과다양한해석결과를표현

할수있다.

SALOME에서는 IGES, STEP과 같은 CAD 파일포맷을 지원하며,

요소망포맷으로는MED, UNV, ASCII 포맷을지원한다.

gmsh

gmsh(http://www.geuz.org/gmsh/)는 1997년부터 Christophe

Geuzaine과 Jean-Francois Remacle가 개발하 으며, 현재 2.3.0

버전에이르고있다. gmsh는CAD 엔진을기반으로3차원유한요소를

자동으로생성할수있으며, 여러가지후처리기능을포함하고있다.

gmsh는 기하 모델을 표현하기 위하여 Boundary representation

(b-rep)법을 사용하며, 기하 모델은 보텀-업(Bottom-up) 방법을 사

용하여 점-선-면-입체의 순으로 형성하게 된다. 또한 텍스트 형태인

gmsh 자체의 스크립트 언어를 사용하여 변수를 제어하는 방법으로

기하 모델의 형성이 가능하다. 또, 요소망을 만드는 방법은

Characteristic length에의해제어되며, 기하의형태에의해정렬요

소망, 비정렬요소망을모두만들수있으나내부적으로는모두비정렬

요소망으로인식한다.

CAD 파일포맷은 IGES, STEP을 지원하며, 요소망 포맷은 자체

gmsh 포맷을 비롯하여, MED, UNV, VTK, BDF(Nastran), Plot3D

포맷을지원한다.

공학 해석을 위한 오픈소스 프로그램의 활용 �

◀ 페도라 10

◀ CAElinux2008

Page 3: 오픈소스유한요소해석 프로그램의소개BF... · 2009/3 c∙183 리눅스배포판 해석프로그램을사용하기에앞서먼저운영체제를설치하여야한 다

해석프로그램(솔버)

Code_Aster

Code_Aster(http://www.code-aster.org)는 프랑스 회사인 EDF

에서 자체 소프트웨어로써 개발한 유한요소해석 패키지이다.

Code_Aster는 2001년에 GNU GPL에 의한 오픈소스로 발표되었다.

현재9.4 버전까지개발되었고약150만라인의소스코드로구성되어

있으며, 부분포트란과파이썬에의해작성되었다.

EDF에서는원자력산업에서요구하는규격을만족하기위하여 부

분의분야에서필요한해석적, 실험적비교및다른코드와의벤치마크

를 통해 유효성을 입증하 다. Code_Aster는 약 2,000개의 테스트를

수행하여기본적인능력을확인하 으며, 부분프랑스어로작성된1

만4,000 페이지이상의사용자매뉴얼, 이론매뉴얼, 예제, 검증매뉴

얼등이있다.

Code_Aster는 주로 유한요소법에기초한 역학해석을 위한 계산 프

로그램이다. Code_Aster를이용하여선형과비선형의정역학, 동역학

해석과피로(fatigue), 손상(damage), 파괴(fracture), 접촉(contact),

토질(geomaterials), 다공성 매체(porous media) 등을 해석할 수 있

으며, Code_Saturne, SYRTHES와 연결하여 다중 물리 연성해석을

수행할수있다.

Code_Saturne

Code_Saturne(http://www.code-saturne.org)은 GNU GPL을

따르는오픈소스소프트웨어로써범용전산유체역학소프트웨어이다.

프랑스의EDF 연구소에서1997년부터개발하여2007년에첫번째베

타프로그램이공개되었으며, 현재1.4.0 버전까지개발되었다.

Code_Saturne은 유한체적법(Finite Volumn Method)에 기반하

며, 다양한요소와격자구조를지원하며, 열전달과난류유동을포함하

는 압축성, 비압축성 유체를 해석할 수 있다. 프로그램의 소스는

FORTRAN77(49%), C99(41%), Python(10%)으로 작성되었으며, 총

50만라인으로구성되어있다.

Code_Saturne은 열전달과 유체유동을 동시에 해석하기 위해 열전

달오픈소스프로그램인SYRTHES와연결할수있으며, 구조해석소

프트웨어인 Code_Aster와 연결할 수 있다. 특히 SALOME 플랫폼과

통합하여 구동할 수 있다. Code_Saturne이 지원하는 요소망의 포맷

은 UNV, MED, MSH(gmsh) 등이며, 결과 포맷은 MED와

CASE(Ensight Gold) 포맷을지원한다.

Elmer

Elmer(http://www.csc.fi/english/pages/elmer)는 1995년부터

핀란드의 Finnish 학, 연구기관, 산업체의 협력기관인 CSC에 의해

개발된다중물리해석오픈소스이다. Elmer는구조역학, 유체동역학,

전자기장, 열전달과 소음해석을 위한 물리 모델을 모두 포함한다.

Elmer는 해석을 수행하는 ElmerSolver, 다른 소프트웨어로부터 요

소망을가져오고물리모델과경계조건을설정하는ElmerFront, 후처

리 기능을 가진 ElmerPost, 유한요소망을 만드는 ElmerGrid로 구성

되어있다.

184∙C 2009/3

nalysisA

◀ Code_Saturne

◀ SYRTHES

Page 4: 오픈소스유한요소해석 프로그램의소개BF... · 2009/3 c∙183 리눅스배포판 해석프로그램을사용하기에앞서먼저운영체제를설치하여야한 다

2009/3C∙185

ElmerGrid에서 지원하는 요소망 포맷은 FDNEUT(Gambit),

MSH(gmsh), MPHTXT(Comsol), UNV 파일을 지원한다. 후처리를

위한결과포맷은VTK, GiD 포맷등을지원한다.

CalculiX

CalculiX(http://www.calculix.de/)는

1998년부터 독일의 Guido

Dhondt에 의해 개발되었으며,

현재 1.8 버전까지 개발되

었다.

CalculiX는 ABAQUS

와 거의 동일한 입력 파일

형식을 가지고 있으며, 선

형정적해석, 비선형정적해석,

고유진동해석, 좌굴해석, 열전

달해석등다양한계산기능과다양

한요소를갖추고있다. 재료적으로는탄성, 탄소성, 초탄성과일부점

탄성 재료까지 해석이 가능하다. 계산 알고리즘은 Direct sparse

matrix solver와 Iterative solver를사용할수있다. CalculiX에ccx

라는해석기외에cgx라는전, 후처리기가포함되어있다.

후처리기(Post-processor)

Paraview

ParaView(http://www.paraview.org/)는과학, 공학데이터를효

과적으로 표현하기 위한 가시화 오픈소스로써 Visualization Tool

Kit(VTK) 라이브러리를 기반으로 작성되었다. ParaView는 iso-

contouring, clipping, cutting, volume rendering, thresholding,

subsetting, picking과 같은 수많은 가시화 기능을 제공한다.

ParaView는VTK, Ensight, Plot3D, LSDyna 파일을비롯한수많은

포맷을지원한다.

VisIt

VisIt(https://wci.llnl.gov/codes/visit/)은 2000년에 개발이 시작

되어 2002년에 발표되었으며, BSD 라이선스에 의한 과학, 공학 데이

터를효과적으로표현하기위한가시화오픈소스이다. VisIt은 2차원,

3차원의정렬격자계또는비정렬격자계에정의된스칼라, 벡터, 텐서

장을가시화하기위해사용한다.

VisIt은 수 킬로바이트의 작은 데이터에서부터 수 테라바이트의

용량 데이터까지 분석하기 위해 미국의 에너지부에서 개발되었다. 새

로운 가시화 기술을 빠르게 적용시키고 사용자 정의한 기능을 추가할

수있는프레임워크로써개발되었으며, VTK, Ensight 파일을비롯한

수많은입력포맷을지원한다.

공학 해석을 위한 오픈소스 프로그램의 활용 �