Bỏ qua

!MATERIAL

Định nghĩa các tính chất vật lý của vật liệu

Nếu một tính chất vật lý phụ thuộc nhiệt độ, có thể nhập dưới dạng bảng cho từng nhiệt độ tương ứng.

Dòng thứ nhất

!MATERIAL, NAME=<name> [, optional parameter]
Tham số
NAME Tên vật liệu (bắt buộc)
ITEM Số mục tính chất vật lý (tùy chọn; nếu bỏ qua thì bằng "1")
INPUT Tên tệp ngoài (tùy chọn)
Tên tham số Giá trị tham số Mô tả
NAME <name> Tên vật liệu
ITEM <ITEMnum> Số mục tính chất vật lý do người dùng định nghĩa
INPUT <filename> Tên tệp ngoài (tùy chọn); cũng có thể dùng cùng với dòng thứ 2 và các dòng tiếp theo

Dòng thứ 2 và các dòng tiếp theo

(Dòng thứ 2) !ITEM=1, SUBITEM=<k>
(Dòng thứ 3) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(Dòng thứ 4) VAL1-2-1,VAL1-2-2, … VAL1-2-k, TEMP1-2
...

(Dòng L+2) VAL1-L-1,VAL1-L-2, … VAL1-L-k, TEMP1-L

Lặp lại định nghĩa cho đến !ITEM=<ITEMnum>.
Tham số con (cho !ITEM)
SUBITEM Số mục tính chất con được định nghĩa cho mỗi mục tính chất vật lý
(tùy chọn; nếu bỏ qua thì bằng "1")
Tên tham số con Giá trị tham số Mô tả
SUBITEM <subITEMnum> Số mục tính chất con do người dùng định nghĩa

【Khi tính chất vật lý thứ m phụ thuộc nhiệt độ】

Nếu số phần tử trong bảng phụ thuộc nhiệt độ là N, hãy nhập như sau:

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
Tên tham số Thuộc tính Mô tả
VALmn-k R Giá trị tính chất vật lý (phụ thuộc nhiệt độ)
TEMPmn R Nhiệt độ tương ứng

Phải thỏa mãn TEMPm1 < TEMPm2 < ... < TEMPmN.

Khi nhiệt độ nhỏ hơn hoặc bằng TEMPm1, VALm1 được sử dụng; khi nhiệt độ lớn hơn hoặc bằng TEMPmN, VALmN được sử dụng.

【Khi tính chất vật lý thứ m không phụ thuộc nhiệt độ】

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Tên tham số Thuộc tính Mô tả
VALmn-k R Giá trị tính chất vật lý (không phụ thuộc nhiệt độ)

Lưu ý:

  • Sẽ xảy ra lỗi nếu tên vật liệu bị trùng.
  • Sẽ xảy ra lỗi nếu MATERIAL được tham chiếu bởi tùy chọn !SECTION chưa được định nghĩa.
  • Nếu các tính chất vật lý được nhập riêng cho từng phần tử bằng tham số MATITEM của tùy chọn !ELEMENT, các giá trị đó được ưu tiên. Trong trường hợp này, các giá trị tính chất vật lý nhập bằng tùy chọn !MATERIAL không được sử dụng.
  • Sẽ xảy ra lỗi nếu số tùy chọn con !ITEM=m không khớp với số được chỉ định bởi tham số ITEM, hoặc nếu có tùy chọn con chưa được định nghĩa.
  • Các tùy chọn con !ITEM=m không cần được sắp xếp theo thứ tự m tăng dần.
  • Khi dùng tùy chọn con SUBITEM=k và tính phụ thuộc nhiệt độ, các giá trị bị bỏ qua sẽ trở thành "0.0".
  • Khi dùng tính phụ thuộc nhiệt độ, các định nghĩa phải được đưa ra theo thứ tự nhiệt độ tăng dần.
  • Khi dùng tính phụ thuộc nhiệt độ, sẽ xảy ra lỗi nếu cùng một nhiệt độ được dùng từ hai lần trở lên.

Ví dụ

!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Không phụ thuộc nhiệt độ
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0

!MATERIAL, NAME= COPPER         Số mục = 1 (giá trị mặc định)
!ITEM=1 Không phụ thuộc nhiệt độ
80.0

Các ví dụ sai

Ví dụ 1【Số được chỉ định bởi tham số ITEM và số tùy chọn con !ITEM=m không khớp -1】

!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=3
20.0
!ITEM=1
35.0
!ITEM= 2
40.0

Ví dụ 2【Số được chỉ định bởi tham số ITEM và số tùy chọn con !ITEM=m không khớp -2】

!MATERIAL, NAME= STEEL, ITEM= 3
!ITEM=3
20.0
!ITEM= 2
40.0
!MATERIAL, NAME= COPPER
...

Phân tích tĩnh đàn hồi và phân tích dao động riêng

!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
Tên tham số Giá trị tham số Mô tả
NAME <name> Tên vật liệu; tương ứng với MATERIAL trong !SECTION
ITEM <ITEMnum> Số mục tính chất vật lý do người dùng định nghĩa (từ 1 trở lên)
<Young_modulus>-----Mô đun Young (bắt buộc)
<Poisson_ratio>-------Hệ số Poisson (bắt buộc)
<Density>--------------Khối lượng riêng (bắt buộc khi ITEMnum=2)
< Expansion_coeff >--Hệ số giãn nở nhiệt tuyến tính (khi ITEMnum=3)

(Ví dụ)

!MATERIAL, NAME=M1,
ITEM=3                   --- Định nghĩa ba loại giá trị tính chất cho vật liệu M1
!ITEM=1, SUBITEM=2       --- Định nghĩa mô đun Young và hệ số Poisson trong !ITEM=1 (bắt buộc)
4000.0, 0.3
!ITEM=2                  --- Định nghĩa khối lượng riêng trong !ITEM=2 (bắt buộc khi ITEM=2)
8.0102E-0
!ITEM=3                  --- Định nghĩa hệ số giãn nở nhiệt tuyến tính trong !ITEM=3
1.0E-5

Lưu ý:

  • Không thể sử dụng vật liệu phụ thuộc nhiệt độ trong phân tích dao động riêng.

Phân tích dẫn nhiệt

Đối với phần tử thanh liên kết, phần tử phẳng, phần tử khối và phần tử tấm ba chiều

!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>

!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>

!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
Tên tham số Giá trị tham số Mô tả
NAME <name> Tên vật liệu; tương ứng với MATERIAL trong !SECTION
ITEM <ITEMnum> Số mục tính chất vật lý do người dùng định nghĩa (luôn là 3)
<Density>----------Khối lượng riêng
<Specific_heat>----Nhiệt dung riêng
<Conductivity>-----Độ dẫn nhiệt
<Temperature>------Nhiệt độ

(Ví dụ)

!MATERIAL, NAME=M1,
ITEM=3                --- Định nghĩa ba loại giá trị tính chất cho vật liệu M1

!ITEM=1, SUBITEM=1    --- Định nghĩa khối lượng riêng và nhiệt độ trong !ITEM=1 (bắt buộc)
7850., 300.
7790., 500.
7700., 800.

!ITEM=2, SUBITEM=1       --- Định nghĩa nhiệt dung riêng và nhiệt độ trong !ITEM=2 (bắt buộc)
0.465, 300.
0.528, 500.
0.622, 800.

!ITEM=3                  --- Định nghĩa độ dẫn nhiệt và nhiệt độ trong !ITEM=3 (bắt buộc)
43., 300.
38.6, 500.
27.7, 800.

Đối với phần tử giao diện

Được định nghĩa trong header !SECTION. (Không cần dữ liệu vật liệu)

(Ví dụ)

!SECTION, TYPE=INTERFACE, EGRP=GAP  --- Định nghĩa section
1.0, 20.15, 8.99835E-9, 8.99835E-9

!SECTION ở trên định nghĩa các tham số khe hở cho các phần tử thuộc nhóm có tên GAP trong một phần tử giao diện.

  • Tham số thứ 1: Chiều rộng khe hở
  • Tham số thứ 2: Hệ số truyền nhiệt qua khe hở
  • Tham số thứ 3: Hệ số bức xạ khe hở 1
  • Tham số thứ 4: Hệ số bức xạ khe hở 2

Tham khảo

program TEST
use hecmw
implicit REAL*8 (A-H,O-Z)
type (hecmwT_local_mesh) :: hecMESH

!C
!C    !MATERIAL, NAME=SUS304, ITEM=3
!C    !ITEM=1, SUBITEM= 3
!C      100.0, 200.0, 300.0, 0.00
!C      101.0, 210.0, 301.0, 1.00
!C      102.0, 220.0, 302.0, 2.00
!C      103.0, 230.0, 303.0, 3.00
!C    !ITEM=3, SUBITEM= 2
!C      1000.0, , 0.00
!C      1001.0, 1., 1.00
!C      1002.0, 2., 2.00
!C      1003.0, 3., 3.00
!C    !ITEM=2
!C      5000.0
!C
!C    !MATERIAL, NAME=FEC, ITEM=2
!C    !ITEM=1, SUBITEM= 3
!C      2100.0, 2200.0, 2300.0, 0.00
!C      2101.0, 2210.0, 2301.0, 1.00
!C      2102.0, 2220.0, 2302.0, 2.00
!C      2103.0, 2230.0, 2303.0, 3.00
!C      3103.0, 3230.0, 2304.0, 4.00
!C    !ITEM=2
!C      6000.0, 10.0
!C      6500.0, 30.0
!C

hecMESH%material%n_mat = 2

nn= hecMESH%material%n_mat
allocate (hecMESH%material%mat_name(nn))

hecMESH%material%mat_name(1)= 'SUS304'
hecMESH%material%mat_name(2)= 'FEC'

nn= hecMESH%material%n_mat
allocate (hecMESH%material%mat_ITEM_index(0:nn))
hecMESH%material%mat_ITEM_index(0)= 0
hecMESH%material%mat_ITEM_index(1)= 3
hecMESH%material%mat_ITEM_index(2)= hecMESH%material%mat_ITEM_index(1) + 2

hecMESH%material%n_mat_ITEM= hecMESH%material%mat_ITEM_index(hecMESH%material%n_mat)

nn= hecMESH%material%n_mat_ITEM
allocate (hecMESH%material%mat_subITEM_index(0:nn))

hecMESH%material%mat_subITEM_index(0)= 0
hecMESH%material%mat_subITEM_index(1)= 3
hecMESH%material%mat_subITEM_index(2)= hecMESH%material%mat_subITEM_index(1) + 1
hecMESH%material%mat_subITEM_index(3)= hecMESH%material%mat_subITEM_index(2) + 2
hecMESH%material%mat_subITEM_index(4)= hecMESH%material%mat_subITEM_index(3) + 3
hecMESH%material%mat_subITEM_index(5)= hecMESH%material%mat_subITEM_index(4) + 1

hecMESH%material%n_mat_subITEM=
&        hecMESH%material%mat_subITEM_index(hecMESH%material%n_mat_ITEM)

nn= hecMESH%material%n_mat_subITEM
allocate (hecMESH%material%mat_TABLE_index(0:nn))
hecMESH%material%mat_TABLE_index( 0)= 0
hecMESH%material%mat_TABLE_index( 1)= 4
hecMESH%material%mat_TABLE_index( 2)= hecMESH%material%mat_TABLE_index( 1) + 4
hecMESH%material%mat_TABLE_index( 3)= hecMESH%material%mat_TABLE_index( 2) + 4
hecMESH%material%mat_TABLE_index( 4)= hecMESH%material%mat_TABLE_index( 3) + 1
hecMESH%material%mat_TABLE_index( 5)= hecMESH%material%mat_TABLE_index( 4) + 4
hecMESH%material%mat_TABLE_index( 6)= hecMESH%material%mat_TABLE_index( 5) + 4
hecMESH%material%mat_TABLE_index( 7)= hecMESH%material%mat_TABLE_index( 6) + 5
hecMESH%material%mat_TABLE_index( 8)= hecMESH%material%mat_TABLE_index( 7) + 5
hecMESH%material%mat_TABLE_index( 9)= hecMESH%material%mat_TABLE_index( 8) + 5
hecMESH%material%mat_TABLE_index(10)= hecMESH%material%mat_TABLE_index( 9) + 2

hecMESH%material%n_mat_TABLE=
&        hecMESH%material%mat_TABLE_index(hecMESH%material%n_mat_subITEM)

nn= hecMESH%material%n_mat_TABLE
allocate (hecMESH%material%mat_VAL (nn))
allocate (hecMESH%material%mat_TEMP(nn))

hecMESH%material%mat_VAL = 0.d0
hecMESH%material%mat_TEMP= 0.d0

hecMESH%material%mat_VAL ( 1)= 100.0d0
hecMESH%material%mat_TEMP( 1)=   0.0d0
hecMESH%material%mat_VAL ( 2)= 101.0d0
hecMESH%material%mat_TEMP( 2)=   1.0d0
hecMESH%material%mat_VAL ( 3)= 102.0d0
hecMESH%material%mat_TEMP( 3)=   2.0d0
hecMESH%material%mat_VAL ( 4)= 103.0d0
hecMESH%material%mat_TEMP( 4)=   3.0d0

hecMESH%material%mat_VAL ( 5)= 200.0d0
hecMESH%material%mat_TEMP( 5)=   0.0d0

hecMESH%material%mat_VAL (13)= 5000.0d0

hecMESH%material%mat_VAL (14)= 1000.0d0
hecMESH%material%mat_TEMP (14)=   0.0d0
hecMESH%material%mat_VAL (15)= 1001.0d0
hecMESH%material%mat_TEMP (15)=   1.0d0
hecMESH%material%mat_VAL (16)= 1002.0d0
hecMESH%material%mat_TEMP (16)=   2.0d0
hecMESH%material%mat_VAL (17)= 1003.0d0
hecMESH%material%mat_TEMP (17)=   3.0d0

hecMESH%material%mat_VAL (18)=  0.0d0
hecMESH%material%mat_TEMP (18)= 0.0d0
hecMESH%material%mat_VAL (19)=  1.0d0
hecMESH%material%mat_TEMP (19)= 1.0d0
hecMESH%material%mat_VAL (20)=  2.0d0
hecMESH%material%mat_TEMP (20)= 2.0d0
hecMESH%material%mat_VAL (21)=  3.0d0
hecMESH%material%mat_TEMP (21)= 3.0d0

hecMESH%material%mat_VAL (22)= 2100.0d0
hecMESH%material%mat_TEMP (22)=   0.0d0
hecMESH%material%mat_VAL (23)= 2101.0d0
hecMESH%material%mat_TEMP (23)=   1.0d0
hecMESH%material%mat_VAL (24)= 2102.0d0
hecMESH%material%mat_TEMP (24)=   2.0d0
hecMESH%material%mat_VAL (25)= 2103.0d0
hecMESH%material%mat_TEMP (25)=   3.0d0
hecMESH%material%mat_VAL (26)= 3103.0d0
hecMESH%material%mat_TEMP (26)=   4.0d0

write (*,'(a,i10)') '%n_mat_ITEM ', hecMESH%material%n_mat_ITEM
write (*,'(a,i10)') '%n_mat_subITEM', hecMESH%material%n_mat_subITEM
write (*,'(a,i10)') '%n_mat_TABLE ', hecMESH%material%n_mat_TABLE

end program TEST
AI-assisted translation May contain errors Official docs Status