დაწყება

FrontISTR / Getting Started

დაწყება

FrontISTR-ით გააანალიზეთ სახსარი, შემდეგ ParaView-ში დაათვალიერეთ მექანიკური ძაბვის განაწილება. solver-ისა და მზა მაგალითის ჩამოტვირთვის შემდეგ პირველი გაშვებისთვის mesh-ის შექმნა საჭირო არ არის.

ნაბიჯების ნახვა

სახსარში von Mises-ის ძაბვის განაწილება; ხვრელების გარშემო ჩანს ძაბვის კონცენტრაცია.
შეასრულეთ სახსრის წრფივი სტატიკური ანალიზი. მიზანია NodalMISES-ის, ანუ კვანძური von Mises-ის ძაბვის, ფერადი კონტურული გამოსახულების მიღება.

01

solver-ის მომზადება

მოამზადეთ Windows-ის binary ან Docker image, რომელიც მუშაობს Windows-ზე, macOS-ზე და Linux-ზე.

Windows (64-bit)

Windows ვერსიის ჩამოტვირთვა

გახსენით ZIP. შემდეგ ნაბიჯში მაგალითის მომზადების შემდეგ დააკოპირეთ fistr1.exe და მასთან ერთად მოწოდებული ყველა DLL მაგალითის საქაღალდეში (01_elastic_hinge).

Docker (Windows / macOS / Linux)

გაუშვით Docker და შემდეგ ტერმინალში შეასრულეთ ქვემოთ მოცემული command. Windows-ზე გამოიყენეთ Docker Linux container mode-ში და command გაუშვით PowerShell-ში.

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

ამჟამინდელი ოფიციალური image აგებულია amd64-ისთვის. Apple Silicon Mac-ზე ის ემულაციის რეჟიმში მუშაობს და შეიძლება მეტი დრო დასჭირდეს.

source code-იდან build

FrontISTR-ის source code-იდან build შეგიძლიათ ნებისმიერ ამ ოპერაციულ სისტემაზე. compiler-ებისა და საჭირო library-ების დაყენების შემდეგ CMake გარემოს ამოიცნობს და build-ს დააკონფიგურირებს.

თქვენი დისტრიბუციისთვის ქვემოთ მოცემული 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

შეგიძლიათ პირდაპირ გაუშვათ source-ში მოყოლილი მაგალითი; ხელახლა ჩამოტვირთვა საჭირო არ არის. ქვემოთ მოცემული 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-ს, შემდეგ გადავა მაგალითის საქაღალდეში. იმავე ტერმინალში შეგიძლიათ გააგრძელოთ 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-ში.

ლოგის სანახავად

თუ ფანჯარა მაშინვე იხურება და შედეგი არ იქმნება, ან ლოგის ნახვა გსურთ, მაგალითის საქაღალდეში გახსენით 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) და გაუშვით command. მაგალითის საქაღალდე container-ში /work-ზე mountდება. შედეგები ინახება თქვენს ლოკალურ მაგალითის საქაღალდეში.

ტერმინალიდან გაშვებისას, თუ ლოგის ბოლოში ქვემოთ მოცემული შეტყობინება გამოჩნდა, ანალიზი დასრულებულია. შესრულების დრო დამოკიდებულია თქვენს 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-ის ჩამოტვირთვა

ეკრანის მაგალითები: ParaView 6.1.0 macOS-ზე. ძირითადი მოქმედებები 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-ებსაც.