Elmer 설치

소개

  • https://www.csc.fi/web/elmer
  • 다중물리현상(Multi-Physics)을 다루기에 적합한 유한요소해석(FEM) 소프트웨어이다.
  • 핀란드 CSC 연구소에서 1995년부터 개발, 2005년부터 오픈소스화 했다.
  • 페터 라박(Peter Råback) 박사를 중심으로 한 소수의 연구원들이 개발한다. 라박 박사는 이력을 보니까 학생 시절부터 이걸 개발하기 시작해서 이걸로 박사도 따고 여지껏 여기에 계속 매달리고 있다. 취미는 직장인 밴드 보컬. 대단하다는 생각이 든다. '빨리빨리' 문화의 우리나라에서는 이런 타입의 연구자(개발자)가 존재하는 것은 아마 불가능할 것이다. 아마 이게 현재 한국의 한계일지도 모른다.
  • 해석기의 핵심 라이브러리들은 Fortran 기반이다. GUI 부분은 C++ 및 QT 가지고 만들었다.
  • MPI 기반 Multi Core 연산이 가능하며 상당히 안정적이다. 때문에 병렬형 슈퍼컴퓨터(HPC)에서의 활용을 최종 타겟으로 한 것 같다.
  • 실제로 주요 해석 사례들을 보면, 엄청난 개수의 매쉬로 쪼개서 반도체용 원료 실리콘 덩어리의 상변화 시뮬레이션을 한 것이 대표작이다. (이걸로 라박 박사가 박사학위 취득) 그 외에도, 그린란드 대륙 전체를 뒤덮고 있는 빙하를 모델링해서 매쉬로 쪼갠 다음에 Full Stokes 방정식(레이놀즈 넘버가 아주 작은 경우 즉 점성 효과가 매우 큰 유체 해석)으로 대륙 전체를 장기간에 걸쳐 해석한 사례도 있다. (ElmerICE)
  • Multi-Physics 해석이 가능하며, 이것들이 유기적으로 연결되어 구성되어 있다(모놀리딕 구조). 따라서 사용자 입장에서 간편하게 된다.
  • 최근에 굉장히 업데이트가 잦다. 개발팀이 꽤 속도를 내고 있는 듯 하다. 최근에는 Mechanical Contact 쪽 부분을 주로 보완하고 있던데, 잘 발전시켰으면 좋겠다.

장점

  • 다른 오픈소스 해석기들보다 초보자 입장에서 설치 및 사용이 굉장히 쉽고 간단하다.
  • 간단한 문제는 GUI를 통해서 쉽고 신속하게 조건을 만들어 실행시킬 수 있다.
  • 터미널 명령으로 옵션을 줘서 백그라운드로 실행해도 무방하다.
  • Multi-Physics 문제 해결에 매우 유리하다. 구조해석, 열해석, 유체해석, 전자기장 해석 등을 섞어서 하는 것도 다 된다.
  • 이걸 가지고 놀다 보면 폭넓은 물리학 학습 효과도 얻을 수 있다.
  • 능력이 된다면 간결하게 Fortran Function으로 독자적인 해석기를 만들어 실행할 수도 있다.
  • VTK 출력파일을 만들어낼 수 있어 결과물의 가시화(Visualization)에 유리하다.

단점

  • 32bit 시스템에 대한 지원이 더이상 안되므로, 반드시 64bit 시스템에서만 사용할 수 있다.
  • Multi-Body 해석은 불리하다. 안되는건 아닌데 모델을 만들어내기가 상당히 까다로와진다.
  • 아직 Mechanical Contact 해석 부분이 상당히 약하다. Contact 해석을 제대로 하려면 다른 해석기(Calculix,Code_Aster)를 쓰는게 나을 것이다.
  • 유체해석 부분도 좀 약하다. 압축성 유체해석은 다른 해석기(OpenFOAM,Code_Saturne)를 쓰는게 나을 것이다.
  • 아무래도 형상이 복잡한 경우에는 좀 불리해진다. 가급적 최대한 모델을 단순하게 해서 사용하는 것이 좋다.

배경지식

  • 훨씬 더 전문적이고 기능도 잘 발달된 Calculix, Code_Aster, Code_Saturne, OpenFOAM, SU2 같은 것을 사용하지 않는 이유는 간단하다.
  • 어렵기 때문이다. 이런 것들은 설치하는 것 자체도 초보자에게는 심히 어렵다.
  • 여러가지 검토를 꽤 오랫동안 해 봤는데, 입문 단계에서는 역시 Elmer가 짱이다.
  • 입문이 쉽다고 해서 Elmer가 허접한 소프트웨어라는 것은 아니다. 다른 것들이 가지지 못한 특유의 장점들이 많다. 입출력 파일들이 이해하기 쉽도록 확실하고, 굉장히 안정적이라서 뻑날 확률도 거의 없으며, 다중물리현상을 다루는 다양한 해석기들의 구성을 보면 감탄할 정도로 간결하고 구조적으로 잘 만들어놨다. 유럽에 있는 슈퍼컴퓨터들 중에 상당수는 Elmer를 기본적으로 깔아놓고 쓴다고 한다. 아마 필요한 문제에 대한 해답의 상당부분은 Elmer만 가지고도 충분히 얻어낼 수 있을 것으로 생각된다.

설치 방법

  • 다음 명령을 터미널에 쳐 넣으면 끝.
    sudo apt-add-repository ppa:elmer-csc-ubuntu/elmer-csc-ppa
    sudo apt-get update
    sudo apt-get install elmerfem-csc