Đầu ra và khởi động lại¶
Kết quả phân tích tồn tại trong bộ nhớ nếu không được ghi ra, vì vậy cần xuất thành các tệp thích hợp để hậu xử lý, trực quan hóa, khôi phục và tiếp tục tính toán. Do định dạng tệp, hạng mục đầu ra và tần suất xuất khác nhau tùy mục đích, FrontISTR sử dụng nhiều hệ thống đầu ra khác nhau.
Đầu ra của FrontISTR gồm ba hệ thống: tệp kết quả (!WRITE,RESULT) để lưu các giá trị phân tích, tệp trực quan hóa (!WRITE,VISUAL) dùng cho trực quan hóa, và tệp khởi động lại (!RESTART) để lưu trạng thái phân tích. Các đại lượng vật lý đưa vào tệp kết quả và tệp trực quan hóa được chọn lần lượt bằng !OUTPUT_RES và !OUTPUT_VIS.
Tổng quan chức năng¶
Có thể tổ chức thiết lập đầu ra rõ ràng hơn bằng cách tách ba khía cạnh sau.
| Khía cạnh | Đầu vào chính | Vai trò |
|---|---|---|
| Đích đầu ra | !WRITE,RESULT, !WRITE,VISUAL, !RESTART |
Quyết định lưu kết quả thành loại tệp nào tùy mục đích. |
| Biến đầu ra | !OUTPUT_RES, !OUTPUT_VIS |
Quyết định các đại lượng vật lý có trong tệp kết quả hoặc tệp trực quan hóa. |
| Tần suất đầu ra | FREQUENCY |
Quyết định ghi ra tệp sau bao nhiêu bước. |
!WRITE,RESULT bật tệp kết quả và các biến đầu ra được chỉ định bằng !OUTPUT_RES. !WRITE,VISUAL bật tệp trực quan hóa và các biến chuyển sang trực quan hóa được chỉ định bằng !OUTPUT_VIS. Trong cả hai trường hợp, khoảng xuất có thể được điều khiển bằng FREQUENCY. !WRITE là một thẻ duy nhất, trong đó RESULT / VISUAL / FEMAP có thể cùng tồn tại như các tham số chọn đích đầu ra.
Các dòng dữ liệu của !OUTPUT_RES và !OUTPUT_VIS liệt kê tên biến đầu ra cùng ON / OFF. Khi chỉ định GROUP, đối tượng đầu ra có thể được giới hạn theo nhóm. Xem phần tham chiếu từ khóa để biết cú pháp đầu vào cụ thể và các dòng dữ liệu có thể chỉ định.
!RESTART lưu chính trạng thái phân tích, tách biệt với tệp kết quả và tệp trực quan hóa. Tệp khởi động lại được dùng để tiếp tục phân tích từ cùng trạng thái sau khi tính toán bị dừng.
Cách chọn đầu ra¶
Trước tiên hãy chọn đầu ra theo mục đích cần kiểm tra. Nếu muốn dùng các giá trị số cho hậu xử lý hoặc một phân tích khác, hãy chọn tệp kết quả; nếu muốn kiểm tra hình dạng hoặc phân bố bằng công cụ trực quan hóa, hãy chọn tệp trực quan hóa. Nếu cần tiếp tục phân tích từ giữa chừng, hãy bật tệp khởi động lại ngoài đầu ra kết quả thông thường.
| Mục đích | Đầu ra cần chọn | Chỉ định chính |
|---|---|---|
| Lưu giá trị phân tích để hậu xử lý, so sánh hoặc dùng trong phân tích khác | Tệp kết quả | !WRITE,RESULT và !OUTPUT_RES |
| Kiểm tra phân bố hoặc hình dạng biến dạng bằng ParaView, v.v. | Tệp trực quan hóa | !WRITE,VISUAL, !OUTPUT_VIS, !VISUAL |
| Tiếp tục một phân tích dài từ giữa chừng | Tệp khởi động lại | !RESTART |
| Giảm dung lượng đầu ra | Chỉ xuất các biến cần thiết | ON / OFF và FREQUENCY của !OUTPUT_RES / !OUTPUT_VIS |
Trong phân tích quy mô lớn, nếu lưu mọi bước với thiết lập đầu ra mặc định, dung lượng tệp kết quả và tệp trực quan hóa có thể trở nên lớn. Chỉ đặt ON cho những đại lượng vật lý cần thiết và đặt OFF cho các đại lượng không cần kiểm tra. Nếu không cần theo dõi lịch sử thời gian với độ phân giải cao, hãy tăng FREQUENCY để làm thưa khoảng đầu ra.
Nên quyết định các biến đầu ra theo thứ tự “đại lượng vật lý cần kiểm tra”, “nơi lưu”, rồi “tần suất”. Ví dụ, nếu muốn xem phân bố ứng suất trong ParaView, hãy bật tệp trực quan hóa và chọn NSTRESS hoặc NMISES bằng !OUTPUT_VIS. Nếu muốn hậu xử lý lực tiếp xúc dưới dạng số, hãy bật tệp kết quả và chọn CONTACT_NFORCE, v.v. bằng !OUTPUT_RES.
Các đại lượng vật lý có thể xuất¶
Các biến đầu ra được chia thành kết quả của phân tích kết cấu, phân tích động, phân tích nhiệt, phân tích tiếp xúc, kết quả đặc thù của phần tử và siêu dữ liệu nhận dạng. Bảng sau tổng hợp các tên biến chính, kiểu và loại phân tích sử dụng chúng. Để biết danh sách đầy đủ tên biến và cú pháp dòng dữ liệu, xem !OUTPUT_RES và !OUTPUT_VIS.
| Phân loại | Tên biến | Kiểu | Loại phân tích chính | Nội dung |
|---|---|---|---|---|
| Đại lượng cơ bản của phân tích kết cấu | DISP, ROT, REACTION |
Vectơ | Phân tích tĩnh, phân tích động | Chuyển vị, quay và phản lực nút. ROT có hiệu lực với phần tử có bậc tự do quay. |
| Ứng suất | NSTRESS, ESTRESS, ISTRESS |
Tenxơ đối xứng | Phân tích kết cấu | Ứng suất trung bình tại nút, ứng suất phần tử, ứng suất tại điểm tích phân. |
| Ứng suất Mises và ứng suất chính | NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS |
Vô hướng, vectơ | Phân tích kết cấu | Ứng suất Mises, giá trị ứng suất chính, hướng ứng suất chính. |
| Biến dạng | NSTRAIN, ESTRAIN, ISTRAIN |
Tenxơ đối xứng | Phân tích kết cấu | Biến dạng tại nút, biến dạng phần tử, biến dạng tại điểm tích phân. |
| Biến dạng dẻo và biến dạng nhiệt | PL_ISTRAIN, PL_ESTRAIN, TH_NSTRAIN, TH_ESTRAIN, TH_ISTRAIN |
Vô hướng, tenxơ đối xứng | Phân tích kết cấu phi tuyến, phân tích ứng suất nhiệt | Biến dạng dẻo tương đương, biến dạng nhiệt. |
| Biến dạng chính | PRINC_NSTRAIN, PRINC_ESTRAIN, PRINCV_NSTRAIN, PRINCV_ESTRAIN |
Vô hướng, vectơ | Phân tích kết cấu | Giá trị biến dạng chính, hướng biến dạng chính. |
| Phân tích động | VEL, ACC |
Vectơ | Phân tích động | Vận tốc nút, gia tốc nút. |
| Phân tích nhiệt | TEMP |
Vô hướng | Phân tích truyền nhiệt | Nhiệt độ nút. Trong tệp kết quả và tệp trực quan hóa của phân tích nhiệt, được xuất dưới dạng trường nhiệt độ. |
| Tiếp xúc | CONTACT_NFORCE, CONTACT_FRICTION, CONTACT_RELVEL, CONTACT_STATE, CONTACT_NTRACTION, CONTACT_FTRACTION |
Vectơ, vô hướng | Phân tích tiếp xúc | Lực pháp tuyến tiếp xúc, lực ma sát, vận tốc trượt tương đối, trạng thái tiếp xúc, lực tiếp xúc trên đơn vị diện tích. |
| Phần tử dầm | BEAM_NQM |
Giá trị 12 thành phần | Phân tích kết cấu có phần tử dầm | Nội lực tiết diện của phần tử dầm. |
| Nhận dạng và trạng thái | NODE_ID, ELEM_ID, SECTION_ID, MATERIAL_ID, ELEMACT, YIELD_RATIO |
Vô hướng | Phân tích kết cấu, trực quan hóa | Thông tin nhận dạng nút, phần tử, section và vật liệu; trạng thái kích hoạt phần tử; tỷ số chảy dẻo. ELEMACT xuất 1 cho phần tử đang hoạt động và 0 cho phần tử không hoạt động. |
| Thông tin phụ trợ của vỏ | SHELL_LAYER, SHELL_SURFACE |
Vô hướng | Phân tích kết cấu có phần tử vỏ | Thông tin phụ trợ nhận dạng đầu ra theo lớp vỏ và bề mặt vỏ. |
Theo mặc định, DISP, ROT, NSTRESS, NMISES là ON. Tuy nhiên, việc một giá trị thực sự có ý nghĩa có được xuất hay không phụ thuộc vào loại phân tích, loại phần tử, mô hình vật liệu và thiết lập tiếp xúc. Ví dụ, VEL và ACC dùng trong phân tích động, còn CONTACT_* dùng khi thông tin tiếp xúc được tạo trong phân tích tiếp xúc.
Đầu ra theo lớp vỏ¶
Do phần tử vỏ có nhiều điểm tích phân hoặc nhiều lớp theo chiều dày, giá trị ứng suất và biến dạng có thể khác nhau theo từng lớp hoặc từng bề mặt ngay trong cùng một phần tử. Chỉ với giá trị trung bình tại nút hoặc giá trị phần tử thông thường thì khó phân biệt giá trị thuộc lớp hay mặt nào.
Khi đặt SHELL_LAYER thành ON, kết quả phía + và phía - được xuất riêng cho từng lớp của vỏ nhiều lớp. Các thành phần ứng suất và biến dạng xuất ra có thông tin nhận dạng biểu thị số lớp và phía bề mặt, vì vậy có thể dùng để đánh giá phân bố ứng suất theo chiều dày hoặc hư hỏng theo từng lớp.
SHELL_SURFACE là thông tin phụ trợ dùng để nhận dạng các bề mặt như mặt trên/mặt dưới của vỏ. Khi trực quan hóa kết quả theo lớp vỏ, hãy bật SHELL_LAYER và các biến ứng suất/biến dạng cần thiết, rồi chọn thành phần kết quả tương ứng với lớp hoặc bề mặt cần xem ở phía công cụ trực quan hóa.
Đầu ra theo lớp vỏ làm tăng số thành phần đầu ra, vì vậy với mô hình có nhiều lớp, dung lượng tệp sẽ tăng. Nên chỉ xuất những biến ứng suất và biến dạng cần thiết.
Đích đầu ra¶
Tệp kết quả và tệp trực quan hóa khác nhau về mục đích và định dạng lưu. Trong cùng một phân tích, có thể xuất cả hai hoặc chỉ một trong hai.
Tệp kết quả¶
Tệp kết quả được bật bằng !WRITE,RESULT. Kết quả phân tích được lưu dưới dạng dữ liệu kết quả FrontISTR / HEC-MW và có thể dùng cho hậu xử lý số hoặc đọc vào một phân tích khác. Các biến cần xuất được chọn bằng !OUTPUT_RES.
!WRITE,RESULT cũng được triển khai như tham số RESULT của thẻ !WRITE, và là một lựa chọn đích đầu ra ngang hàng với đầu ra trực quan hóa và FEMAP.
Trong phân tích kết cấu, tệp kết quả có thể lưu chuyển vị, ứng suất, biến dạng, phản lực, thông tin tiếp xúc, v.v.; trong phân tích nhiệt, có thể lưu trường nhiệt độ. Khoảng xuất theo bước được chỉ định bằng FREQUENCY. Xem hướng dẫn thực thi để biết tên tệp cụ thể, vị trí và cách kiểm tra sau khi chạy.
Tệp kết quả (phần mở rộng .res) là dữ liệu văn bản có cấu trúc sau. Đầu tệp là phiên bản định dạng và chú thích, tiếp theo là các biến toàn cục, và cuối cùng là các biến đầu ra cho từng nút và phần tử.
*fstrresult 2.0
*comment
<dòng chú thích>
*global
<số lượng biến toàn cục>
<số bậc tự do của biến toàn cục>
<tên biến toàn cục>
<giá trị biến toàn cục>
...
*data
<số nút> <số phần tử>
<số lượng dữ liệu nút> <số lượng dữ liệu phần tử>
<số bậc tự do của dữ liệu nút> ...
<tên dữ liệu nút>
...
<giá trị dữ liệu nút>
...
<số bậc tự do của dữ liệu phần tử> ...
<tên dữ liệu phần tử>
...
<giá trị dữ liệu phần tử>
...
Tệp nhật ký¶
Tệp nhật ký (phần mở rộng .log) là tệp tóm tắt luôn được xuất sau phân tích. Ngoài các đại lượng vật lý theo nút và phần tử, nó còn xuất giá trị lớn nhất/nhỏ nhất của các thành phần chuyển vị, biến dạng và ứng suất. Trong phân tích dao động riêng, các giá trị riêng và vectơ riêng cũng được xuất. Nội dung đầu ra có thể được điều khiển bằng tham số LOG của !WRITE. Xem hướng dẫn thực thi để biết tên tệp và vị trí.
Tệp trực quan hóa¶
Tệp trực quan hóa được bật bằng !WRITE,VISUAL. Lưới và dữ liệu kết quả được chuyển đổi và xuất theo định dạng dành cho công cụ trực quan hóa. Các biến cần xuất được chọn bằng !OUTPUT_VIS, còn định dạng và điều kiện trực quan hóa được chỉ định bằng !VISUAL.
!WRITE,VISUAL không phải một từ khóa độc lập mà được triển khai dưới dạng tham số VISUAL của thẻ !WRITE; nó chuyển đổi đích đầu ra ngang hàng với !WRITE,RESULT / !WRITE,FEMAP (fstr_ctrl_get_WRITE trong fistr1/src/common/fstr_ctrl_common.f90).
Để bật trực quan hóa, ít nhất phải chỉ định bề mặt trực quan hóa và định dạng đầu ra trong thẻ !VISUAL. Dưới đây là bộ dữ liệu tối thiểu.
Không thể bỏ qua chỉ định surface_num và !surface. Xem !VISUAL để biết cú pháp chi tiết và các tùy chọn khả dụng.
Các định dạng trực quan hóa chính như sau.
| Định dạng | Mục đích |
|---|---|
| VTK | Dùng để trực quan hóa bằng ParaView, v.v. |
| AVS (UCD) | Dùng cho trực quan hóa và trao đổi dữ liệu theo định dạng AVS / UCD. |
| BMP | Xuất kết quả trực quan hóa dưới dạng hình ảnh. |
| NEU | Dùng cho trao đổi dữ liệu theo định dạng FEMAP neutral. |
Tệp trực quan hóa dễ xử lý trực tiếp bằng công cụ trực quan hóa hơn tệp kết quả, nhưng dung lượng có thể tăng tùy định dạng được chọn và số lượng biến. Với mô hình quy mô lớn, chỉ bật bằng !OUTPUT_VIS các biến cần thiết để hiển thị.
Khởi động lại¶
Khởi động lại là chức năng lưu trạng thái nội bộ tại thời điểm phân tích bị gián đoạn để lần chạy sau có thể tiếp tục tính toán từ đúng trạng thái đó. Tệp kết quả thông thường là đầu ra dành cho hậu xử lý, còn tệp khởi động lại lưu trạng thái để solver tiếp tục tính toán.
Khi n của !RESTART, FREQUENCY=n là số dương, tệp khởi động lại được ghi theo khoảng bước được chỉ định. Khi n là số âm, tệp khởi động lại hiện có được đọc lúc bắt đầu chạy, sau đó giá trị tuyệt đối |n| được dùng làm khoảng ghi tệp khởi động lại.
Trong khởi động lại của phân tích kết cấu, trạng thái được lưu gồm bước hiện tại, bước con, tổng số bước, thời gian, gia số thời gian, lịch sử tải, chuyển vị, ngoại lực, ứng suất và biến dạng tại từng điểm Gauss, biến trạng thái nội tại của vật liệu, trạng thái tiếp xúc, v.v. Trong phân tích động, ngoài chuyển vị còn lưu vận tốc, gia tốc, năng lượng biến dạng, thời gian hiện tại, gia số thời gian và các trạng thái động cần thiết để tiếp tục tích phân thời gian. Trong phân tích nhiệt, số bước, thời gian và trường nhiệt độ được lưu; khi đọc lại, trường nhiệt độ được khôi phục làm trạng thái ban đầu.
Thời điểm ghi và hành vi tiếp tục của khởi động lại phân tích tĩnh¶
Khởi động lại của phân tích tĩnh (fstr_solve_NLGEOM) có hai đường ghi và hành vi khi tiếp tục là khác nhau.
- Ghi giữa bước con: được ghi trong vòng lặp bước con khi
step_countlà bội số củaFREQUENCY. Thông tin thời gian được ghi dưới dạng “thời điểm bắt đầu của bước hiện tại”, kèm danh sách tải của bước trước. - Ghi ở cuối bước: được ghi luôn ngay sau khi vòng lặp bước con của mỗi bước tải hoàn tất, bất kể có phải bội số của
FREQUENCYhay không. Thông tin thời gian được ghi dưới dạng “thời điểm kết thúc bước”, kèm danh sách tải của bước đó.
Khi đọc, FrontISTR xác định bước đã hoàn tất hay chưa dựa trên việc “thời gian hiện tại” và “thời gian tham chiếu” đã lưu có trùng nhau hay không (fstr_read_restart trong fstr_Restart.f90).
| Trạng thái khi ghi | Hành vi khi tiếp tục |
|---|---|
| Giữa bước con | Tiếp tục từ bước con kế tiếp của cùng bước. Vị trí bước con tại thời điểm ghi được kế thừa và phần còn lại của vòng lặp bước con được thực hiện. |
| Cuối bước | Bắt đầu từ bước con đầu tiên của bước tiếp theo. cstep tăng thêm 1, substep=1 được đặt lại rồi phân tích tiếp tục. |
Vì vậy, ngay cả với cùng thiết lập FREQUENCY, cần lưu ý rằng số bước và mốc thời gian sau khi tiếp tục sẽ thay đổi tùy thời điểm ghi xảy ra (giữa bước con / cuối bước). Đặc biệt, ghi ở cuối bước luôn được thực hiện vào cuối mỗi bước, độc lập với thiết lập FREQUENCY.
Thời điểm ghi và hành vi tiếp tục của khởi động lại phân tích động¶
Khởi động lại của phân tích động lịch sử thời gian cũng phân biệt ghi giữa bước con và ghi ở cuối bước. Giữa bước con, tệp được ghi khi tổng số bước con step_count trở thành bội số của FREQUENCY; ở cuối bước, tệp được ghi vào cuối bước đó bất kể FREQUENCY.
Khi đọc, vị trí tiếp tục được khôi phục từ số bước, số bước con và tổng số bước con đã lưu. Với định dạng hiện tại (restart_version >= 5), tiêu đề chung với phân tích tĩnh được dùng để lưu thời gian hiện tại, gia số thời gian, thống kê lặp Newton và trạng thái gia số tự động. Nhờ đó, ngay cả trong phân tích động dùng nhiều !STEP cùng gia số tự động và cutback, mốc thời gian và gia số thời gian vẫn được kế thừa sau khi tiếp tục. Tệp khởi động lại phân tích động định dạng cũ vẫn có một mức tương thích đọc nhất định, nhưng phân tích mới nên dùng định dạng hiện tại.
Cách viết thẻ !STEP khi khởi động lại¶
Khi tiếp tục bằng khởi động lại, FrontISTR đọc các thẻ !STEP trong tệp cnt như “chuỗi bước sẽ thực hiện sau khi tiếp tục” và luôn xử lý tuần tự từ đầu (tot_step=1). Số bước trong thông tin khởi động lại đã đọc được dùng để khớp số bước tích lũy khi hiển thị trên màn hình và không ảnh hưởng đến chính chỉ số !STEP trong cnt. Ngoài ra, ở định dạng hiện tại, starttime của từng !STEP trong cnt được cộng đồng loạt với thời gian tham chiếu khi đọc khởi động lại, qua đó căn dòng thời gian theo thời điểm tiếp tục.
Vì vậy, hãy chuẩn bị cnt dành cho tiếp tục bằng khởi động lại theo nguyên tắc sau.
| Cách bị gián đoạn | Phạm vi !STEP cần để lại trong cnt |
|---|---|
| Ghi giữa bước con (bước chưa hoàn tất) | Giữ bước bị gián đoạn ở đầu. Sau đó liệt kê tiếp các bước chưa thực hiện. |
| Ghi ở cuối bước (bước đã hoàn tất) | Xóa bước đã hoàn tất, và bắt đầu từ bước sẽ thực hiện tiếp theo. |
Trong cả hai trường hợp, nguyên tắc là xóa khỏi cnt các bước đã hoàn tất. Vì thời điểm khởi động lại được tự động cộng vào starttime, phía cnt có thể viết với gốc 0 (hoặc thời điểm bắt đầu bước tương đối). Chỉ giữ trong cnt các tham chiếu điều kiện biên, tải, v.v. tương ứng với những thẻ !STEP được giữ lại. Nguyên tắc này cũng áp dụng cho khởi động lại phân tích động sử dụng nhiều !STEP.
Quy trình điển hình khi dùng khởi động lại như sau.
- Trong lần chạy đầu tiên, chỉ định
!RESTART, FREQUENCY=nđể ghi tệp khởi động lại. - Trong lần chạy tiếp tục phân tích, chỉ định
!RESTART, FREQUENCY=-n. - FrontISTR đọc tệp khởi động lại lúc khởi động, sau đó ghi trạng thái mới sau mỗi
nbước.
Xem hướng dẫn thực thi để biết tên tệp khởi động lại, vị trí và cách chỉ định khi chạy. Có một mức tương thích đọc nhất định đối với định dạng phiên bản cũ, nhưng phân tích mới nên dùng định dạng hiện tại.
Mục liên quan¶
- Thực thi tuần tự — các nguyên tắc cơ bản về bố trí tệp và kiểm tra đầu ra khi chạy phân tích.
- !OUTPUT_RES, !OUTPUT_VIS — chỉ định các biến xuất ra tệp kết quả và tệp trực quan hóa.
- !WRITE — bật đầu ra tệp kết quả, tệp trực quan hóa và nhật ký, cùng tần suất đầu ra (các tham số
RESULT/VISUAL/LOG/FEMAP). - !VISUAL — chỉ định bề mặt trực quan hóa và định dạng đầu ra (bao gồm ví dụ bộ dữ liệu tối thiểu).
- !RESTART — chỉ định đọc và ghi tệp khởi động lại.
- Loại phân tích — các hạng mục kết quả chính theo từng loại phân tích.
- Tiếp xúc và nhúng — ý nghĩa của đầu ra tiếp xúc và cách xử lý trạng thái tiếp xúc.
- Điều khiển bước — quan hệ với bước đầu ra và điểm thời gian.