FrontISTR / Getting Started
დაწყება
FrontISTR-ით გააანალიზეთ სახსარი, შემდეგ ParaView-ში დაათვალიერეთ მექანიკური ძაბვის განაწილება. solver-ისა და მზა მაგალითის ჩამოტვირთვის შემდეგ პირველი გაშვებისთვის mesh-ის შექმნა საჭირო არ არის.
01
solver-ის მომზადება
მოამზადეთ Windows-ის binary ან Docker image, რომელიც მუშაობს Windows-ზე, macOS-ზე და Linux-ზე.
Windows (64-bit)
გახსენით 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"
binary-ები და container იყენებენ მუდმივად განახლებად master / LATEST ვერსიებს. release ვერსიებისა და სხვა გარემოებისთვის იხილეთ download page. სხვა ვერსიები და გარემოები
02
მაგალითის ჩამოტვირთვა
ჩამოტვირთეთ და გახსენით მაგალითის ZIP. გამოიყენეთ 01_elastic_hinge საქაღალდეში არსებული სამი input file.
ანალიზი გაუშვით გახსნილ 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_hinge03
გაშვება მაგალითის საქაღალდიდან
ანალიზი გაუშვით მაგალითის საქაღალდეში, 01_elastic_hinge. შეამოწმეთ, რომ იქ არის hecmw_ctrl.dat.
Windows binary
მაგალითის საქაღალდეში ორჯერ დააწკაპუნეთ fistr1.exe-ზე. მასთან ერთად მოწოდებული DLL-ებიც იმავე საქაღალდეში უნდა იყოს. თუ გაშვების დასრულებისას ფანჯარა დაიხურება, მაგალითის საქაღალდეში შექმნილი შედეგები გახსენით ParaView-ში.
ლოგის სანახავად
თუ ფანჯარა მაშინვე იხურება და შედეგი არ იქმნება, ან ლოგის ნახვა გსურთ, მაგალითის საქაღალდეში გახსენით PowerShell და შეასრულეთ:
.\fistr1.exeDocker (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 6.1.0 macOS-ზე. ძირითადი მოქმედებები Windows-სა და Linux-ზეც იგივეა.
-
04 / 1
file-ის გახსნისთანავე. მარცხნივ დააჭირეთ Apply-ს.
-
04 / 2
Apply-ზე დაჭერის შემდეგ გამოჩნდება სახსრის გეომეტრია.
-
04 / 3
ზედა toolbar-ში Solid Color შეცვალეთ NodalMISES-ით, რათა von Mises-ის ძაბვის განაწილება გამოჩნდეს.
ფერები და background დამოკიდებულია ParaView-ის settings-ზე და აუცილებელი არ არის მაგალითის იდენტური იყოს. თუ model არ ჩანს, სცადეთ Reset Camera.
პირველი ანალიზი დასრულებულია
შემდეგ გაეცანით მაგალითში მოცემულ დატვირთვებსა და material settings-ს. manual აღწერს ამ model-ს და სხვა analysis type-ებსაც.