Bỏ qua

!MATERIAL

Định nghĩa tính chất vật liệu

Nếu thuộc tính vật liệu phụ thuộc vào nhiệt độ, có thể nhập dưới dạng bảng cho các nhiệt độ tương ứng.

Dòng thứ 1

!MATERIAL, NAME=<name> [, tham số tùy chọn]
Tham số
NAME Tên vật liệu (bắt buộc)
ITEM Số mục thuộc tính vật liệu (tùy chọn; mặc định là "1" nếu bỏ qua)
INPUT Tên tệp bên ngoài (tùy chọn)
Tên tham số Giá trị tham số Nội dung
NAME <name> Tên vật liệu
ITEM <ITEMnum> Số mục thuộc tính vật liệu do người dùng định nghĩa
INPUT <filename> Tên tệp bên 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 đến !ITEM=<ITEMnum>
Tham số phụ (cho !ITEM)
SUBITEM Số mục thuộc tính phụ được định nghĩa cho mỗi mục thuộc tính vật liệu
(tùy chọn; mặc định là "1" nếu bỏ qua)
Tên tham số phụ Giá trị tham số Nội dung
SUBITEM <subITEMnum> Số mục thuộc tính phụ do người dùng định nghĩa

[Khi thuộc tính vật liệu thứ m phụ thuộc vào nhiệt độ]

Nếu bảng phụ thuộc nhiệt độ chứa N mục, 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 biến Thuộc tính Nội dung
VALmn-k R Giá trị thuộc tính vật liệu (phụ thuộc nhiệt độ)
TEMPmn R Nhiệt độ tương ứng

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

VALm1 được dùng khi nhiệt độ bằng hoặc thấp hơn TEMPm1, và VALmN được dùng khi nhiệt độ bằng hoặc cao hơn TEMPmN.

[Khi thuộc tính vật liệu thứ m không phụ thuộc vào nhiệt độ]

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Tên biến Thuộc tính Nội dung
VALmn-k R Giá trị thuộc tính vật liệu (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 tùy chọn !SECTION tham chiếu đến MATERIAL chưa được định nghĩa.
  • Trong tùy chọn !ELEMENT, nếu thuộc tính vật liệu được nhập cho từng phần tử bằng tham số MATITEM, các giá trị đó được ưu tiên. Trong trường hợp này, các giá trị thuộc tính vật liệu nhập bằng tùy chọn !MATERIAL sẽ không được dùng.
  • Sẽ xảy ra lỗi nếu số tùy chọn con !ITEM=m không khớp vớ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 phải sắp xếp theo thứ tự tăng dần của m.
  • Khi dùng tùy chọn con SUBITEM=k và sự phụ thuộc nhiệt độ, các giá trị bị bỏ qua được đặt thành "0.0".
  • Khi dùng sự 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 sự 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ụ sử dụng

!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

Ví dụ sử dụng sai

Ví dụ 1 [Số tham số ITEM và 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ố tham số ITEM và 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 tuyến tính 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ố Nội dung
NAME <name> Tên vật liệu; tương ứng với MATERIAL trong !SECTION
ITEM <ITEMnum> Số mục thuộc tính vật liệu do người dùng định nghĩa (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ở tuyến tính (khi ITEMnum=3)

(Ví dụ)

!MATERIAL, NAME=M1,
ITEM=3                   --- Định nghĩa ba loại giá trị thuộc tính cho vật liệu M1
!ITEM=1, SUBITEM=2       --- !ITEM=1 định nghĩa mô đun Young và hệ số Poisson (bắt buộc)
4000.0, 0.3
!ITEM=2                  --- !ITEM=2 định nghĩa khối lượng riêng (bắt buộc khi ITEM=2)
8.0102E-0
!ITEM=3                  --- !ITEM=3 định nghĩa hệ số giãn nở tuyến tính
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ử liên kết, phẳng, khối và 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ố Nội dung
NAME <name> Tên vật liệu; tương ứng với MATERIAL trong !SECTION
ITEM <ITEMnum> Số mục thuộc tính vật liệu 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ị thuộc tính cho vật liệu M1

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

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

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

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

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

(Ví dụ)

!SECTION, TYPE=INTERFACE, EGRP=GAP  --- Định nghĩa mặt cắt
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ử giao diện thuộc nhóm name=GAP.

  • 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