آغاز

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 کو extract کریں۔ اگلے مرحلے میں مثال تیار کرنے کے بعد fistr1.exe اور اس کے ساتھ آنے والی تمام DLL فائلیں مثال کے فولڈر (01_elastic_hinge) میں copy کریں۔

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 کے لیے بنائی گئی ہے۔ Apple Silicon Mac پر یہ emulation کے ذریعے چلتی ہے، اس لیے زیادہ وقت لگ سکتا ہے۔

source سے build کریں

آپ FrontISTR کو ان میں سے کسی بھی operating system پر 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

نیچے دیے گئے command macOS اور Linux پر build اور installation کی مثال ہیں۔ 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 سے تجزیہ چلائیں، پھر نتیجہ ParaView میں دیکھنے کے لیے مرحلہ 04 پر جائیں۔

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

source سے build کریں

binary اور container مسلسل اپ ڈیٹ ہونے والی master / LATEST versions استعمال کرتے ہیں۔ جاری شدہ versions اور دوسرے environments کے لیے download page دیکھیں۔ دوسرے versions اور environment

02

مثال ڈاؤن لوڈ کریں

مثال کا ZIP ڈاؤن لوڈ کرکے extract کریں۔ 01_elastic_hinge فولڈر کی تین input فائلیں استعمال کریں۔

مثال ڈاؤن لوڈ کریں (ZIP)

تجزیہ extract کیے گئے 01_elastic_hinge فولڈر میں چلائیں۔ macOS اور Linux پر command line سے extract کرنے کے لیے unzip استعمال کریں۔

01_elastic_hinge/

hecmw_ctrl.dat
input اور output file کی جگہیں
hinge.cnt
material، load، restraint اور analysis settings
hinge.msh
hinge mesh

مثال کو command line سے تیار کرنے کے لیے، جس جگہ اسے رکھنا چاہتے ہیں وہاں نیچے دیا گیا پورا block چلائیں۔ یہ archive ڈاؤن لوڈ اور extract کرکے مثال کے فولڈر میں چلا جائے گا۔ پھر اسی terminal میں تجزیے کا 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

مثال کے folder سے چلائیں

تجزیہ مثال کے فولڈر 01_elastic_hinge میں چلائیں۔ یقینی بنائیں کہ hecmw_ctrl.dat اسی فولڈر میں موجود ہے۔

Windows binary

مثال کے فولڈر میں fistr1.exe پر double-click کریں۔ ساتھ آنے والی DLL فائلیں بھی اسی فولڈر میں ہونی چاہییں۔ اگر چلانے کے بعد window بند ہو جائے تو مثال کے فولڈر میں بننے والے نتائج ParaView میں کھولیں۔

log دیکھنے کے لیے

اگر window فوراً بند ہو جائے اور نتیجہ نہ بنے، یا آپ 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 کے آخر میں درج ذیل پیغام نظر آئے تو تجزیہ مکمل ہو چکا ہے۔ وقت آپ کے PC کے لحاظ سے مختلف ہو سکتا ہے۔

FrontISTR Completed !!
اگر کچھ درست نہ چلے

اگر input فائلیں نہ ملیں تو تصدیق کریں کہ آپ 01_elastic_hinge فولڈر سے تجزیہ چلا رہے ہیں۔ Windows میں یہ بھی دیکھیں کہ fistr1.exe اور تمام ساتھ آنے والی DLL اسی فولڈر میں copy کی گئی ہیں۔

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 پر کلک کرنے کے بعد قبضے کی geometry دکھائی دیتی ہے۔

    Apply پر کلک کرنے کے بعد قبضے کی geometry دکھائی دیتی ہے۔
  3. 04 / 3

    اوپر toolbar میں Solid Color کو NodalMISES میں بدلیں تاکہ von Mises تناؤ کی تقسیم دکھائی دے۔

    اوپر toolbar میں Solid Color کو NodalMISES میں بدلیں تاکہ von Mises تناؤ کی تقسیم دکھائی دے۔

رنگ اور پس منظر ParaView کی settings کے مطابق مختلف ہو سکتے ہیں؛ انہیں نمونے جیسا ہونا ضروری نہیں۔ اگر model نظر نہ آئے تو Reset Camera آزمائیں۔

آپ کا پہلا analysis مکمل ہو گیا

اس کے بعد مثال میں بوجھ اور material settings دیکھیں۔ manual اس model کی وضاحت کرتا ہے اور دوسرے تجزیاتی طریقوں کا تعارف دیتا ہے۔