መጀመር

FrontISTR / Getting Started

መጀመር

በFrontISTR የማጠፊያ ትንተና ያድርጉ፣ ከዚያም በParaView ውስጥ የውጥረት ስርጭቱን ይመልከቱ። solver እና ዝግጁ ምሳሌ ካዘጋጁ ለመጀመሪያው ሙከራ mesh ከመፍጠር መጀመር አያስፈልግም።

ደረጃዎቹን ይመልከቱ

በማጠፊያው ውስጥ ያለው የvon Mises ውጥረት ስርጭት፤ በቀዳዳዎቹ ዙሪያ የውጥረት መሰብሰብ ይታያል።
የማጠፊያውን መስመራዊ ስታቲክ ትንተና ያካሂዱ። ግቡ NodalMISES፣ ማለትም የኖድ von Mises ውጥረትን፣ በቀለም 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ን ያስነሱ፣ ከዚያም በተርሚናል ውስጥ የሚከተለውን ትዕዛዝ ያስኪዱ። በWindows ላይ Dockerን በLinux container mode ይጠቀሙ እና ትዕዛዙን በPowerShell ያስኪዱ።

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

አሁን ያለው ኦፊሴላዊ image ለ amd64 የተገነባ ነው። በ Apple Silicon Mac ላይ በemulation ስለሚሰራ ተጨማሪ ጊዜ ሊወስድ ይችላል።

ከsource code build ማድረግ

FrontISTRን ከምንጭ ኮድ በእነዚህ ማንኛውም የክወና ስርዓቶች ላይ ራስዎ መገንባት ይችላሉ። compiler እና አስፈላጊ libraryዎችን ከጫኑ በኋላ CMake አካባቢውን ያገኛል እና buildን ያዘጋጃል።

ለሚጠቀሙበት distribution ተስማሚ የሆኑትን ከታች ያሉ ትዕዛዞች በመጠቀም መሠረታዊ 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 ጋር የተካተተውን ምሳሌ እንደገና ሳያወርዱ በቀጥታ ማስኬድ ይችላሉ። በታች ባሉት ትዕዛዞች ትንተናውን ያካሂዱ፣ ከዚያም ውጤቱን በParaView ለማየት ወደ ደረጃ 04 ይሂዱ።

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

ከsource code build ማድረግ

binaryዎቹ እና containerው በቀጣይነት የሚዘመኑ master / LATEST ስሪቶችን ይጠቀማሉ። ለተለቀቁ ስሪቶች እና ሌሎች አካባቢዎች 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ውን ያወርዳል፣ ያውጣል፣ ከዚያም ወደ ምሳሌው አቃፊ ይገባል። በዚያው ተርሚናል የትንተና ትዕዛዙን መቀጠል ይችላሉ።

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

በምሳሌው አቃፊ ውስጥ ተርሚናል (በWindows ላይ PowerShell) ይክፈቱ እና ትዕዛዙን ያስኪዱ። የምሳሌው አቃፊ በcontainer ውስጥ በ/work ላይ mount ይደረጋል። ውጤቶቹ በአካባቢያዊው የምሳሌ አቃፊ ውስጥ ይቀመጣሉ።

ከተርሚናል ሲያስኪዱ፣ በlog መጨረሻ የሚከተለው መልዕክት ከታየ ትንተናው ተጠናቋል። የሚወስደው ጊዜ በPCዎ ይለያያል።

FrontISTR Completed !!
ካልሰራ

input fileዎች ካልተገኙ ትንተናውን ከ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 ያውርዱ

የማያ ገጽ ምሳሌ፦ ParaView 6.1.0 በmacOS። መሠረታዊ ደረጃዎቹ በWindows እና Linux ላይም ተመሳሳይ ናቸው።

  1. 04 / 1

    ፋይሉን እንደከፈቱ በግራ በኩል Applyን ይጫኑ።

    ፋይሉን እንደከፈቱ በግራ በኩል Applyን ይጫኑ።
  2. 04 / 2

    Applyን ከጫኑ በኋላ የማጠፊያው ጂኦሜትሪ ይታያል።

    Applyን ከጫኑ በኋላ የማጠፊያው ጂኦሜትሪ ይታያል።
  3. 04 / 3

    በላይኛው toolbar ላይ Solid Colorን ወደ NodalMISES ይቀይሩ፣ ይህም የvon Mises ውጥረት ስርጭትን ያሳያል።

    በላይኛው toolbar ላይ Solid Colorን ወደ NodalMISES ይቀይሩ፣ ይህም የvon Mises ውጥረት ስርጭትን ያሳያል።

ቀለሞቹ እና የጀርባ ቀለም በParaView settings ይለያያሉ፤ ከምሳሌው ጋር ተመሳሳይ መሆን አያስፈልጋቸውም። modelው ካልታየ Reset Cameraን ይሞክሩ።

የመጀመሪያው ትንተና ተጠናቋል

ቀጥሎ በምሳሌው ውስጥ ያሉትን ጭነቶች እና የቁሳቁስ ቅንብሮች ይመልከቱ። manualው ይህን model ያብራራል እና ሌሎች የትንተና አይነቶችን ያስተዋውቃል።