Bắt đầu

FrontISTR / Getting Started

Bắt đầu

Chạy phân tích một bản lề bằng FrontISTR, sau đó xem phân bố ứng suất trong ParaView. Chỉ cần tải solver và ví dụ có sẵn; với lần chạy đầu tiên này, bạn không cần bắt đầu từ việc tạo lưới.

Xem các bước

Phân bố ứng suất von Mises trong bản lề, với sự tập trung ứng suất quanh các lỗ.
Chạy phân tích tĩnh tuyến tính cho bản lề. Mục tiêu là hiển thị NodalMISES, tức ứng suất von Mises tại nút, dưới dạng bản đồ đường đồng mức màu.

01

Chuẩn bị solver

Chuẩn bị bản nhị phân cho Windows hoặc image Docker có thể dùng trên Windows, macOS và Linux.

Windows (64-bit)

Tải bản cho Windows

Giải nén ZIP. Sau khi chuẩn bị ví dụ ở bước tiếp theo, hãy sao chép fistr1.exe và tất cả DLL đi kèm vào thư mục ví dụ (01_elastic_hinge).

Docker (Windows / macOS / Linux)

Khởi động Docker, sau đó chạy lệnh sau trong terminal. Trên Windows, dùng Docker ở chế độ Linux container và chạy lệnh trong PowerShell.

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

Image chính thức hiện tại được xây dựng cho amd64. Trên máy Mac Apple Silicon, image chạy qua lớp mô phỏng nên có thể mất nhiều thời gian hơn.

Build từ mã nguồn

Bạn cũng có thể tự build FrontISTR từ mã nguồn trên bất kỳ hệ điều hành nào ở trên. Sau khi cài compiler và các thư viện cần thiết, CMake sẽ phát hiện môi trường và cấu hình build.

Cài các công cụ cơ bản bằng các lệnh bên dưới phù hợp với bản phân phối bạn đang dùng. Có thể bắt đầu từ môi trường phát triển hiện có mà không cần cài thêm MPI hoặc các thư viện tùy chọn khác.

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

Các lệnh sau là ví dụ build và cài đặt trên macOS và Linux. File thực thi được cài vào thư mục bin trong home nên không cần sudo hoặc chỉnh PATH. Hãy xem hướng dẫn build để chuẩn bị môi trường macOS/Windows và các thư viện tùy chọn.

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

Bạn có thể chạy trực tiếp ví dụ đi kèm mà không cần tải lại. Chạy phân tích bằng các lệnh dưới đây, sau đó chuyển sang bước 04 để xem kết quả trong ParaView.

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

Build từ mã nguồn

Bản nhị phân và container dùng các phiên bản master / LATEST được cập nhật liên tục. Xem trang tải xuống để biết các bản phát hành có tag và các môi trường khác. Các phiên bản và môi trường khác

02

Tải ví dụ

Tải và giải nén ZIP của ví dụ. Sử dụng ba file input trong thư mục 01_elastic_hinge.

Tải ví dụ (ZIP)

Chạy phân tích trong thư mục 01_elastic_hinge đã giải nén. Khi giải nén bằng dòng lệnh, macOS và Linux dùng unzip.

01_elastic_hinge/

hecmw_ctrl.dat
Vị trí file input và output
hinge.cnt
Vật liệu, tải, ràng buộc và thiết lập phân tích
hinge.msh
Lưới của bản lề

Nếu muốn chuẩn bị ví dụ bằng dòng lệnh, hãy chạy toàn bộ khối lệnh dưới đây tại nơi bạn muốn lưu ví dụ. Khối lệnh sẽ tải và giải nén tệp rồi chuyển vào thư mục ví dụ. Sau đó có thể chạy lệnh phân tích ngay trong cùng 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

Chạy trong thư mục ví dụ

Chạy phân tích trong thư mục ví dụ (01_elastic_hinge). Hãy kiểm tra rằng hecmw_ctrl.dat có trong thư mục đó.

Bản nhị phân Windows

Nhấp đúp vào fistr1.exe trong thư mục ví dụ. Các DLL đi kèm cũng phải nằm trong cùng thư mục. Nếu cửa sổ đóng khi quá trình kết thúc, hãy mở kết quả được ghi vào thư mục ví dụ bằng ParaView.

Để kiểm tra log

Nếu cửa sổ đóng ngay mà không tạo kết quả, hoặc nếu bạn muốn kiểm tra log, hãy mở PowerShell trong thư mục ví dụ và chạy:

.\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

Mở terminal trong thư mục ví dụ (PowerShell trên Windows) và chạy lệnh. Thư mục ví dụ được mount vào /work trong container. Kết quả được lưu trong thư mục ví dụ trên máy của bạn.

Khi chạy trong terminal, nếu thông báo sau xuất hiện ở cuối log thì phân tích đã hoàn tất. Thời gian chạy phụ thuộc vào PC của bạn.

FrontISTR Completed !!
Nếu có sự cố

Nếu không tìm thấy file input, hãy kiểm tra rằng bạn đang chạy trong thư mục 01_elastic_hinge. Trên Windows, hãy kiểm tra rằng fistr1.exe và tất cả DLL đi kèm đã được sao chép vào cùng thư mục.

04

Mở kết quả trong ParaView

Cài ParaView. Chọn File → Open rồi mở file sau trong thư mục ví dụ.

hinge_vis_psf.0001.pvtu

Kết quả được ghi vào cùng thư mục 01_elastic_hinge. Thư mục hinge_vis_psf.0001 bên cạnh cũng cần thiết, vì vậy không di chuyển riêng file .pvtu. 0000 là trạng thái ban đầu, còn 0001 là kết quả sau khi đặt tải.

Tải ParaView

Ảnh màn hình: ParaView 6.1.0 trên macOS. Các thao tác cơ bản giống nhau trên Windows và Linux.

  1. 04 / 1

    Ngay sau khi mở file. Nhấp Apply ở bên trái.

    Ngay sau khi mở file. Nhấp Apply ở bên trái.
  2. 04 / 2

    Hình học bản lề xuất hiện sau khi nhấp Apply.

    Hình học bản lề xuất hiện sau khi nhấp Apply.
  3. 04 / 3

    Đổi Solid Color trên thanh công cụ phía trên thành NodalMISES để hiển thị phân bố ứng suất von Mises.

    Đổi Solid Color trên thanh công cụ phía trên thành NodalMISES để hiển thị phân bố ứng suất von Mises.

Màu sắc và nền phụ thuộc vào thiết lập ParaView, không cần giống hình minh họa. Nếu không thấy mô hình, hãy thử Reset Camera.

Phân tích đầu tiên đã hoàn tất

Tiếp theo, hãy xem các thiết lập tải và vật liệu trong ví dụ. Tài liệu hướng dẫn giải thích mô hình này và giới thiệu các loại phân tích khác.