시작하기

FrontISTR / Getting Started

시작하기

FrontISTR로 힌지를 해석한 뒤 ParaView에서 응력 분포를 확인해 봅시다. 솔버와 준비된 예제만 있으면 첫 실행을 위해 직접 메시를 만드는 단계부터 시작할 필요는 없습니다.

절차 보기

힌지의 von Mises 응력 분포. 구멍 주변에 응력이 집중되어 있습니다.
힌지의 선형 정적 해석을 실행합니다. 최종 목표는 절점 von Mises 응력인 NodalMISES를 컬러 컨투어로 표시하는 것입니다.

01

솔버 준비하기

Windows용 바이너리 또는 Windows, macOS, Linux에서 사용할 수 있는 Docker 이미지를 준비합니다.

Windows (64-bit)

Windows 버전 다운로드

ZIP 파일을 압축 해제합니다. 다음 단계에서 예제를 준비한 뒤 fistr1.exe와 함께 제공된 모든 DLL을 예제 폴더(01_elastic_hinge)에 복사합니다.

Docker (Windows / macOS / Linux)

Docker를 시작한 뒤 터미널에서 다음 명령을 실행합니다. Windows에서는 Docker를 Linux 컨테이너 모드로 설정하고 PowerShell에서 명령을 실행합니다.

docker pull --platform linux/amd64 registry.gitlab.com/frontistr-commons/frontistr/fistr1:master

현재 공식 이미지는 amd64용으로 빌드되어 있습니다. Apple Silicon Mac에서는 에뮬레이션으로 실행되므로 시간이 더 걸릴 수 있습니다.

소스 코드에서 빌드하기

어느 운영체제에서든 소스 코드로 FrontISTR를 직접 빌드할 수도 있습니다. 컴파일러와 필요한 라이브러리를 설치하면 CMake가 환경을 감지해 빌드를 설정합니다.

사용 중인 배포판에 맞는 아래 명령으로 기본 도구를 설치합니다. 기존 개발 환경을 사용하면 MPI 같은 추가 라이브러리 없이 시작할 수 있습니다.

Ubuntu / Debian

sudo apt-get update
sudo apt-get install build-essential cmake git gfortran

RHEL / Rocky Linux / AlmaLinux

sudo dnf install gcc gcc-c++ gcc-gfortran make cmake git

아래는 macOS와 Linux에서 빌드하고 설치하는 예입니다. 실행 파일은 홈 디렉터리의 bin에 설치되므로 sudo나 PATH 변경이 필요하지 않습니다. macOS/Windows 환경 준비와 선택적 라이브러리는 빌드 가이드를 참고하십시오.

git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
cd FrontISTR
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$HOME"
cmake --build build --parallel
cmake --install build

포함된 예제를 다시 다운로드하지 않고 그대로 실행할 수 있습니다. 아래 명령으로 해석을 실행한 뒤 단계 04로 이동하여 ParaView에서 결과를 확인하십시오.

cd tutorial/01_elastic_hinge
"$HOME/bin/fistr1"

소스 코드에서 빌드하기

바이너리와 컨테이너는 지속적으로 업데이트되는 master / LATEST 버전을 사용합니다. 릴리스 버전과 다른 환경은 다운로드 페이지를 참고하십시오. 다른 버전 및 환경

02

예제 다운로드하기

예제 ZIP을 다운로드해 압축을 풉니다. 01_elastic_hinge 폴더 안의 입력 파일 3개를 사용합니다.

예제 다운로드 (ZIP)

압축을 푼 01_elastic_hinge 폴더에서 해석을 실행합니다. 명령줄로 압축을 풀 때 macOS와 Linux에서는 unzip을 사용합니다.

01_elastic_hinge/

hecmw_ctrl.dat
입력 및 출력 파일 위치 지정
hinge.cnt
재료, 하중, 구속조건 및 해석 설정
hinge.msh
힌지 메시

명령줄에서 예제를 준비하려면 예제를 둘 위치에서 아래 블록 전체를 실행하십시오. 파일을 다운로드하고 압축을 푼 뒤 예제 폴더로 이동합니다. 이어서 같은 터미널에서 해석 명령을 실행할 수 있습니다.

Windows / PowerShell

curl.exe -fL -o 01_elastic_hinge.zip https://www.frontistr.com/sys/files/01_elastic_hinge.zip
if ($LASTEXITCODE -eq 0) {
  Expand-Archive -Path 01_elastic_hinge.zip -DestinationPath . -ErrorAction Stop
  cd 01_elastic_hinge
}

macOS / Linux

curl -fL -o 01_elastic_hinge.zip https://www.frontistr.com/sys/files/01_elastic_hinge.zip &&
unzip 01_elastic_hinge.zip &&
cd 01_elastic_hinge

03

예제 폴더에서 실행하기

예제 폴더(01_elastic_hinge)에서 해석을 실행합니다. 해당 폴더에 hecmw_ctrl.dat가 있는지 확인하십시오.

Windows용 바이너리

예제 폴더의 fistr1.exe를 더블 클릭합니다. 함께 제공된 DLL도 같은 폴더에 있어야 합니다. 실행이 끝나면서 창이 닫히면 예제 폴더에 생성된 결과를 ParaView에서 엽니다.

로그를 확인하려면

창이 즉시 닫히고 결과가 생성되지 않거나 로그를 확인하려면 예제 폴더에서 PowerShell을 열고 다음을 실행합니다.

.\fistr1.exe

Docker (Windows / macOS / Linux)

docker run --rm --platform linux/amd64 -v "${PWD}:/work" -w /work registry.gitlab.com/frontistr-commons/frontistr/fistr1:master fistr1

예제 폴더에서 터미널(Windows에서는 PowerShell)을 열고 명령을 실행합니다. 예제 폴더는 컨테이너의 /work에 마운트되며 결과는 로컬 예제 폴더에 저장됩니다.

터미널에서 실행한 경우 로그 마지막에 다음 메시지가 표시되면 해석이 완료된 것입니다. 실행 시간은 PC에 따라 다릅니다.

FrontISTR Completed !!
문제가 발생하는 경우

입력 파일을 찾을 수 없으면 01_elastic_hinge 폴더에서 해석을 실행하고 있는지 확인하십시오. Windows에서는 fistr1.exe와 함께 제공된 모든 DLL이 같은 폴더에 복사되어 있는지도 확인하십시오.

04

ParaView에서 결과 열기

ParaView를 설치합니다. File → Open을 선택하고 예제 폴더의 다음 파일을 엽니다.

hinge_vis_psf.0001.pvtu

결과는 같은 01_elastic_hinge 폴더에 저장됩니다. 옆의 hinge_vis_psf.0001 폴더도 필요하므로 .pvtu 파일만 따로 이동하지 마십시오. 0000은 초기 상태이고 0001은 하중을 적용한 뒤의 결과입니다.

ParaView 다운로드

화면 예시: macOS의 ParaView 6.1.0. Windows와 Linux에서도 기본 조작은 같습니다.

  1. 04 / 1

    파일을 연 직후의 화면입니다. 왼쪽의 Apply를 클릭합니다.

    파일을 연 직후의 화면입니다. 왼쪽의 Apply를 클릭합니다.
  2. 04 / 2

    Apply를 클릭하면 힌지 형상이 표시됩니다.

    Apply를 클릭하면 힌지 형상이 표시됩니다.
  3. 04 / 3

    상단 도구 모음의 Solid Color를 NodalMISES로 바꾸면 von Mises 응력 분포가 표시됩니다.

    상단 도구 모음의 Solid Color를 NodalMISES로 바꾸면 von Mises 응력 분포가 표시됩니다.

색상과 배경은 ParaView 설정에 따라 달라지며 예시 이미지와 같을 필요는 없습니다. 모델이 보이지 않으면 Reset Camera를 시도하십시오.

첫 번째 해석이 완료되었습니다

다음으로 예제의 하중과 재료 설정을 살펴보십시오. 매뉴얼에서는 이 모델과 다른 해석 방법을 설명합니다.