ចាប់ផ្តើម

FrontISTR / Getting Started

ចាប់ផ្តើម

ធ្វើការវិភាគ hinge ដោយ FrontISTR ហើយមើលការចែកចាយ stress ក្នុង ParaView។ ដោយមាន solver និង example ដែលបានរៀបចំរួច អ្នកមិនចាំបាច់ចាប់ផ្តើមពីការបង្កើត mesh សម្រាប់ការរត់លើកដំបូងទេ។

មើលជំហាន

ការចែកចាយ von Mises stress ក្នុង hinge ដោយមាន stress concentration ជុំវិញរន្ធ។
រត់ linear static analysis សម្រាប់ hinge។ គោលដៅគឺបង្ហាញ NodalMISES ដែលជា nodal von Mises stress ជា color contour។

01

រៀបចំ solver

រៀបចំ Windows binary ឬ Docker image ដែលអាចប្រើលើ Windows, macOS និង Linux។

Windows (64-bit)

Download សម្រាប់ Windows

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 នឹង detect environment ហើយ configure build។

ដំឡើង tool មូលដ្ឋានដោយ 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"

Build ពី source code

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។

Download example (ZIP)

រត់ 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_hinge

03

រត់ពី example folder

រត់ analysis នៅក្នុង example folder (01_elastic_hinge)។ សូមពិនិត្យថាមាន hecmw_ctrl.dat នៅក្នុង folder នោះ។

Windows binary

Double-click fistr1.exe នៅក្នុង example folder។ DLL ដែលភ្ជាប់មកក៏ត្រូវស្ថិតក្នុង folder ដូចគ្នា។ បើ window បិទនៅពេល run ចប់ សូមបើក result ដែលបានសរសេរទៅ example folder ក្នុង ParaView។

បើចង់ពិនិត្យ log

បើ window បិទភ្លាមៗដោយមិនបង្កើត result ឬអ្នកចង់ពិនិត្យ log សូមបើក PowerShell នៅក្នុង example folder ហើយរត់៖

.\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 (PowerShell នៅលើ Windows) ក្នុង example folder ហើយរត់ command។ Example folder នឹងត្រូវ mount ទៅ /work ក្នុង container ហើយ result នឹងត្រូវរក្សាទុកក្នុង local example folder។

បើរត់ក្នុង terminal សារ​ខាងក្រោមនៅចុង log បញ្ជាក់ថា analysis បានបញ្ចប់។ Run time អាស្រ័យលើ PC របស់អ្នក។

FrontISTR Completed !!
បើមានបញ្ហា

បើរក input file មិនឃើញ សូមពិនិត្យថាអ្នកកំពុងរត់ពី folder 01_elastic_hinge។ នៅលើ Windows សូមពិនិត្យផងដែរថា fistr1.exe និង DLL ទាំងអស់ដែលភ្ជាប់មកត្រូវបាន copy ទៅ folder ដូចគ្នា។

04

បើក result ក្នុង ParaView

ដំឡើង ParaView។ ជ្រើស File → Open ហើយបើក file ខាងក្រោមនៅក្នុង example folder។

hinge_vis_psf.0001.pvtu

Result ត្រូវបានសរសេរទៅ folder 01_elastic_hinge ដដែល។ ត្រូវរក្សា folder hinge_vis_psf.0001 ដែលនៅជិតគ្នាផង ដូច្នេះកុំផ្លាស់ទី .pvtu file តែឯង។ 0000 ជា initial state ហើយ 0001 ជា result បន្ទាប់ពីដាក់ load។

Download ParaView

ឧទាហរណ៍ screen: ParaView 6.1.0 លើ macOS។ ជំហានមូលដ្ឋានដូចគ្នាលើ Windows និង Linux។

  1. 04 / 1

    ភ្លាមៗបន្ទាប់ពីបើក file។ Click Apply នៅខាងឆ្វេង។

    ភ្លាមៗបន្ទាប់ពីបើក file។ Click Apply នៅខាងឆ្វេង។
  2. 04 / 2

    Hinge geometry នឹងបង្ហាញបន្ទាប់ពី click Apply។

    Hinge geometry នឹងបង្ហាញបន្ទាប់ពី click Apply។
  3. 04 / 3

    ប្តូរ Solid Color នៅ toolbar ខាងលើទៅជា NodalMISES ដើម្បីបង្ហាញការចែកចាយ von Mises stress។

    ប្តូរ Solid Color នៅ toolbar ខាងលើទៅជា NodalMISES ដើម្បីបង្ហាញការចែកចាយ von Mises stress។

Color និង background អាស្រ័យលើ setting របស់ ParaView ហើយមិនចាំបាច់ដូចរូបឧទាហរណ៍ទេ។ បើមិនឃើញ model សូមសាក Reset Camera។

Analysis លើកដំបូងរបស់អ្នកបានបញ្ចប់

បន្ទាប់ សូមមើល load និង material setting ក្នុង example។ Manual ពន្យល់អំពី model នេះ និងណែនាំ analysis type ផ្សេងទៀត។