Эхлэх

FrontISTR / Getting Started

Эхлэх

FrontISTR-ээр нугасны анализ хийж, дараа нь ParaView дээр хүчдэлийн тархалтыг харна уу. solver болон бэлэн жишээг татаж авбал анхны ажиллуулалтад mesh шинээр үүсгэх шаардлагагүй.

Алхмуудыг харах

Нугас дахь von Mises хүчдэлийн тархалт; нүхнүүдийн эргэн тойронд хүчдэл төвлөрсөн байна.
Нугасны шугаман статик анализ хийнэ. Зорилго нь зангилааны von Mises хүчдэл болох NodalMISES-ийг өнгөт contour-аар харуулах явдал юм.

01

solver-ийг бэлтгэх

Windows binary эсвэл Windows, macOS, Linux дээр ашиглаж болох Docker image-ийг бэлтгэнэ.

Windows (64-bit)

Windows хувилбарыг татах

ZIP-ийг задлана. Дараагийн алхамд жишээг бэлтгэсний дараа fistr1.exe болон дагалдах бүх DLL-ийг жишээний хавтас (01_elastic_hinge) руу хуулна.

Docker (Windows / macOS / Linux)

Docker-ийг ажиллуулаад terminal дээр доорх command-ийг ажиллуулна. Windows дээр Docker-ийг Linux container mode-д ашиглаж, command-ийг PowerShell дээр ажиллуулна.

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

Одоогийн албан ёсны image нь amd64-д зориулж build хийгдсэн. Apple Silicon Mac дээр эмуляцаар ажилладаг тул илүү удаан байж болно.

Source code-оос build хийх

FrontISTR-ийг эдгээр үйлдлийн системийн аль нэг дээр source code-оос өөрөө build хийж болно. compiler болон шаардлагатай library-уудыг суулгасны дараа CMake орчныг тань илрүүлж build-ийг тохируулна.

Доорх distribution-д тохирох command-уудаар үндсэн tools-ийг суулгана. Одоо байгаа development environment-ээ ашиглаж, MPI зэрэг нэмэлт optional library суулгахгүйгээр эхэлж болно.

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 дээр build, install хийх жишээ юм. executable-ууд home directory-ийн bin дотор суух тул sudo болон PATH өөрчлөх шаардлагагүй. macOS/Windows орчин бэлтгэх болон optional library-уудын талаар build guide-ийг үзнэ үү.

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

Дагалдаж ирсэн жишээг дахин татахгүйгээр шууд ажиллуулж болно. Доорх command-уудаар анализ хийсний дараа алхам 04 рүү орж ParaView дээр үр дүнг харна уу.

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

Source code-оос build хийх

binary болон container нь тасралтгүй шинэчлэгддэг master / LATEST хувилбаруудыг ашиглана. release хувилбарууд болон бусад орчныг download page-ээс харна уу. Бусад хувилбар ба орчин

02

Жишээг татах

Жишээний ZIP-ийг татаж задлана. 01_elastic_hinge хавтас доторх гурван input file-ийг ашиглана.

Жишээг татах (ZIP)

Анализыг задалсан 01_elastic_hinge хавтаст ажиллуулна. command line-аар задлах үед macOS болон Linux дээр unzip ашиглана.

01_elastic_hinge/

hecmw_ctrl.dat
input ба output file-ийн байршил
hinge.cnt
Материал, ачаалал, хязгаарлалт ба analysis settings
hinge.msh
Нугасны mesh

Жишээг command line-аар бэлтгэх бол жишээг хадгалах газартаа доорх block-ийг бүхэлд нь ажиллуулна. Энэ нь archive-ийг татаж задлаад жишээний хавтас руу орно. Дараа нь ижил terminal дээр analysis command-ийг үргэлжлүүлэн ажиллуулж болно.

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 binary

Жишээний хавтас дахь fistr1.exe дээр хоёр товшино. Дагалдах DLL-үүд мөн ижил хавтсанд байх ёстой. Ажиллагаа дуусахад цонх хаагдвал жишээний хавтаст бичигдсэн үр дүнг ParaView дээр нээнэ.

Log шалгах

Цонх үр дүн гаргалгүй шууд хаагдах эсвэл log шалгахыг хүсвэл жишээний хавтаст 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

Жишээний хавтаст terminal (Windows дээр PowerShell) нээгээд command-ийг ажиллуулна. Жишээний хавтас container дотор /work дээр mount хийгдэнэ. Үр дүн таны локал жишээний хавтаст хадгалагдана.

Terminal-аас ажиллуулах үед log-ийн төгсгөлд доорх message гарвал анализ дууссан гэсэн үг. Ажиллах хугацаа таны PC-ээс хамаарна.

FrontISTR Completed !!
Ажиллахгүй байвал

input file олдохгүй байвал 01_elastic_hinge хавтсаас ажиллуулж байгаа эсэхээ шалгана уу. Windows дээр fistr1.exe болон дагалдах бүх DLL ижил хавтаст хуулагдсан эсэхийг мөн шалгана.

04

Үр дүнг ParaView дээр нээх

ParaView-ийг суулгана. File → Open-оос жишээний хавтас дахь доорх file-ийг нээнэ.

hinge_vis_psf.0001.pvtu

Үр дүн ижил 01_elastic_hinge хавтаст бичигдэнэ. Хажуугийн hinge_vis_psf.0001 хавтас мөн шаардлагатай тул .pvtu file-ийг дангаар нь зөөж болохгүй. 0000 нь эхний төлөв, 0001 нь ачаалал өгсний дараах үр дүн юм.

ParaView татах

Дэлгэцийн жишээ: macOS дээрх ParaView 6.1.0. Үндсэн ажиллагаа Windows болон Linux дээр ижил.

  1. 04 / 1

    File-ийг нээсний дараах байдал. Зүүн талын Apply-ийг дарна.

    File-ийг нээсний дараах байдал. Зүүн талын Apply-ийг дарна.
  2. 04 / 2

    Apply дарсны дараа нугасны геометр харагдана.

    Apply дарсны дараа нугасны геометр харагдана.
  3. 04 / 3

    Дээд toolbar дахь Solid Color-ийг NodalMISES болгож өөрчлөхөд von Mises хүчдэлийн тархалт харагдана.

    Дээд toolbar дахь Solid Color-ийг NodalMISES болгож өөрчлөхөд von Mises хүчдэлийн тархалт харагдана.

Өнгө болон background нь ParaView-ийн settings-ээс хамаарна; жишээ зурагтай яг ижил байх шаардлагагүй. Model харагдахгүй бол Reset Camera-г туршина уу.

Анхны анализ дууслаа

Дараа нь жишээний ачаалал болон material settings-ийг үзнэ үү. manual энэ model болон бусад analysis type-ийг тайлбарладаг.