FrontISTR / Getting Started
ចាប់ផ្តើម
ធ្វើការវិភាគសន្លាក់បត់មួយដោយ FrontISTR ហើយមើលការចែកចាយ stress ក្នុង ParaView។ ដោយមាន solver និង example ដែលបានរៀបចំរួច អ្នកមិនចាំបាច់ចាប់ផ្តើមពីការបង្កើត mesh សម្រាប់ការរត់លើកដំបូងទេ។
01
រៀបចំ solver
Windows (64-bit)
Extract ZIP។ បន្ទាប់ពីរៀបចំ example នៅជំហានបន្ទាប់ សូម copy fistr1.exe និង DLL ទាំងអស់ដែលភ្ជាប់មក ទៅក្នុង example folder (01_elastic_hinge)។
Docker (Windows / macOS / Linux)
ចាប់ផ្តើម Docker រួចរត់ command ខាងក្រោមក្នុង terminal។ នៅលើ Windows សូមប្រើ Docker ក្នុង Linux container mode ហើយរត់ command ក្នុង PowerShell។
docker pull --platform linux/amd64 registry.gitlab.com/frontistr-commons/frontistr/fistr1:master
image ផ្លូវការបច្ចុប្បន្នត្រូវបាន build សម្រាប់ amd64។ នៅលើ Mac ដែលប្រើ Apple Silicon វាដំណើរការតាម emulation ដូច្នេះអាចចំណាយពេលយូរជាងមុន។
Build ពី source code
អ្នកក៏អាច build FrontISTR ពី source code ដោយខ្លួនឯងលើ operating system ទាំងនេះបាន។ បន្ទាប់ពីដំឡើង compiler និង library ដែលចាំបាច់ CMake នឹងស្គាល់ environment ហើយ configure build។
ដំឡើង tools មូលដ្ឋានដោយ command ខាងក្រោមសម្រាប់ distribution របស់អ្នក។ អ្នកអាចប្រើ 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 ខាងក្រោមជាឧទាហរណ៍សម្រាប់ build និង install លើ macOS និង Linux។ executable នឹងត្រូវដាក់ក្នុង bin ក្រោម home directory ដូច្នេះមិនត្រូវការ 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
អ្នកអាចដំណើរការ example ដែលភ្ជាប់មកដោយផ្ទាល់ ដោយមិនចាំបាច់ download ម្តងទៀត។ រត់ analysis ដោយ command ខាងក្រោម ហើយបន្តទៅ step 04 ដើម្បីមើលលទ្ធផលក្នុង ParaView។
cd tutorial/01_elastic_hinge
"$HOME/bin/fistr1"
Binary និង container ប្រើ version master / LATEST ដែលត្រូវបាន update ជាបន្តបន្ទាប់។ សម្រាប់ release version និង environment ផ្សេង សូមមើល download page។ Version និង environment ផ្សេងទៀត
02
Download example
Download និង extract example ZIP។ ប្រើ input file ចំនួន 3 នៅក្នុង folder 01_elastic_hinge។
រត់ analysis នៅក្នុង folder 01_elastic_hinge ដែលបាន extract។ បើ extract តាម command line នៅលើ macOS និង Linux សូមប្រើ unzip។
01_elastic_hinge/
hecmw_ctrl.dat- ទីតាំង input និង output file
hinge.cnt- Material, load, restraint និង analysis setting
hinge.msh- Hinge mesh
បើចង់រៀបចំ example តាម command line សូមរត់ block ខាងក្រោមទាំងមូលនៅទីតាំងដែលអ្នកចង់រក្សាទុក example។ វានឹង download និង extract archive ហើយចូលទៅក្នុង example folder។ បន្ទាប់មកអាចរត់ analysis command ក្នុង terminal ដដែល។
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
រត់ពី example folder
Windows binary
រត់ analysis នៅក្នុង example folder (01_elastic_hinge)។ សូមពិនិត្យថាមាន hecmw_ctrl.dat នៅក្នុង folder នោះ។
Double-click fistr1.exe នៅក្នុង example folder។ DLL ដែលភ្ជាប់មកក៏ត្រូវស្ថិតក្នុង folder ដូចគ្នា។ បើ window បិទនៅពេលរត់ចប់ សូមបើកលទ្ធផលដែលបានសរសេរទៅ example folder ក្នុង ParaView។
បើចង់ពិនិត្យ log
បើ window បិទភ្លាមៗដោយមិនបង្កើតលទ្ធផល ឬអ្នកចង់ពិនិត្យ log សូមបើក PowerShell នៅក្នុង example folder ហើយរត់៖
.\fistr1.exeបើរត់ក្នុង terminal សារខាងក្រោមនៅចុង log បញ្ជាក់ថា analysis បានបញ្ចប់។ ពេលវេលាដំណើរការអាស្រ័យលើ PC របស់អ្នក។
FrontISTR Completed !!បើមានបញ្ហា
បើរក input file មិនឃើញ សូមពិនិត្យថាអ្នកកំពុងរត់ analysis ពី folder 01_elastic_hinge។ នៅលើ Windows សូមពិនិត្យផងដែរថា fistr1.exe និង DLL ទាំងអស់ដែលភ្ជាប់មកត្រូវបាន copy ទៅ folder ដូចគ្នា។
Docker (Windows / macOS / Linux)
រត់ analysis នៅក្នុង example folder (01_elastic_hinge)។ សូមពិនិត្យថាមាន hecmw_ctrl.dat នៅក្នុង folder នោះ។
docker run --rm --platform linux/amd64 -v "${PWD}:/work" -w /work registry.gitlab.com/frontistr-commons/frontistr/fistr1:master fistr1
បើក terminal (PowerShell នៅលើ Windows) ក្នុង example folder ហើយរត់ command។ Example folder នឹងត្រូវ mount ទៅ /work ក្នុង container ហើយលទ្ធផលនឹងត្រូវរក្សាទុកក្នុង local example folder។
បើរត់ក្នុង terminal សារខាងក្រោមនៅចុង log បញ្ជាក់ថា analysis បានបញ្ចប់។ ពេលវេលាដំណើរការអាស្រ័យលើ PC របស់អ្នក។
FrontISTR Completed !!បើមានបញ្ហា
បើរក input file មិនឃើញ សូមពិនិត្យថាអ្នកកំពុងរត់ analysis ពី folder 01_elastic_hinge។ នៅលើ Windows សូមពិនិត្យផងដែរថា fistr1.exe និង DLL ទាំងអស់ដែលភ្ជាប់មកត្រូវបាន copy ទៅ folder ដូចគ្នា។
Build ពី source code
រត់ analysis នៅក្នុង example folder (01_elastic_hinge)។ សូមពិនិត្យថាមាន hecmw_ctrl.dat នៅក្នុង folder នោះ។
"$HOME/bin/fistr1"
បើរត់ក្នុង terminal សារខាងក្រោមនៅចុង log បញ្ជាក់ថា analysis បានបញ្ចប់។ ពេលវេលាដំណើរការអាស្រ័យលើ PC របស់អ្នក។
FrontISTR Completed !!បើមានបញ្ហា
បើរក input file មិនឃើញ សូមពិនិត្យថាអ្នកកំពុងរត់ analysis ពី folder 01_elastic_hinge។ នៅលើ Windows សូមពិនិត្យផងដែរថា fistr1.exe និង DLL ទាំងអស់ដែលភ្ជាប់មកត្រូវបាន copy ទៅ folder ដូចគ្នា។
04
បើក result ក្នុង ParaView
ដំឡើង ParaView។ ជ្រើស File → Open ហើយបើក file ខាងក្រោមនៅក្នុង example folder។
hinge_vis_psf.0001.pvtu
លទ្ធផលត្រូវបានសរសេរទៅ folder 01_elastic_hinge ដដែល។ ត្រូវរក្សា folder hinge_vis_psf.0001 ដែលនៅជិតគ្នាផង ដូច្នេះកុំផ្លាស់ទី .pvtu file តែឯង។ 0000 ជាស្ថានភាពដំបូង ហើយ 0001 ជាលទ្ធផលបន្ទាប់ពីដាក់ load។
ឧទាហរណ៍អេក្រង់: ParaView 6.1.0 លើ macOS។ ជំហានមូលដ្ឋានដូចគ្នាលើ Windows និង Linux។
-
04 / 1
ភ្លាមៗបន្ទាប់ពីបើក file។ Click Apply នៅខាងឆ្វេង។
-
04 / 2
រូបរាងសន្លាក់បត់នឹងបង្ហាញបន្ទាប់ពី click Apply។
-
04 / 3
ប្តូរ Solid Color នៅ toolbar ខាងលើទៅជា NodalMISES ដើម្បីបង្ហាញការចែកចាយ von Mises stress។
ពណ៌ និង background អាស្រ័យលើ setting របស់ ParaView ហើយមិនចាំបាច់ដូចរូបឧទាហរណ៍ទេ។ បើមិនឃើញ model សូមសាក Reset Camera។
Analysis លើកដំបូងរបស់អ្នកបានបញ្ចប់
បន្ទាប់ សូមមើល load និង material setting ក្នុង example។ manual ពន្យល់អំពី model នេះ និងណែនាំ analysis type ផ្សេងទៀត។