Translation update pending
The Thai translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
!MATERIAL¶
การกำหนดสมบัติวัสดุ
หากสมบัติขึ้นกับอุณหภูมิ สามารถป้อนเป็นตารางสำหรับอุณหภูมิแต่ละค่าได้
บรรทัดที่ 1
| พารามิเตอร์ | |
|---|---|
NAME | ชื่อวัสดุ (จำเป็น) |
ITEM | จำนวนรายการสมบัติ (ไม่บังคับ หากละเว้นจะเป็น 1) |
INPUT | ชื่อไฟล์ภายนอก (ไม่บังคับ) |
| ชื่อพารามิเตอร์ | ค่าพารามิเตอร์ | เนื้อหา |
|---|---|---|
NAME | <name> | ชื่อวัสดุ |
ITEM | <ITEMnum> | จำนวนรายการสมบัติที่ผู้ใช้กำหนด |
INPUT | <filename> | ชื่อไฟล์ภายนอก (ไม่บังคับ) สามารถใช้ร่วมกับบรรทัดที่ 2 เป็นต้นไปได้ |
ตั้งแต่บรรทัดที่ 2 เป็นต้นไป
(บรรทัดที่ 2) !ITEM=1, SUBITEM=<k>
(บรรทัดที่ 3) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(บรรทัดที่ 4) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
…
(บรรทัด L+2) VAL1-L-1, VAL1-L-2, … VAL1-L-k, TEMP1-L
ทำซ้ำการกำหนดจนถึง !ITEM=<ITEMnum>
พารามิเตอร์ย่อย (สำหรับ !ITEM) | |
|---|---|
SUBITEM | จำนวนรายการสมบัติย่อยที่กำหนดในแต่ละรายการสมบัติ |
| (ไม่บังคับ หากละเว้นจะเป็น 1) |
| ชื่อพารามิเตอร์ย่อย | ค่าพารามิเตอร์ | เนื้อหา |
|---|---|---|
SUBITEM | <subITEMnum> | จำนวนรายการสมบัติย่อยที่ผู้ใช้กำหนด |
[กรณีสมบัติลำดับที่ m ขึ้นกับอุณหภูมิ]
หากจำนวนรายการในตารางที่ขึ้นกับอุณหภูมิเป็น N ให้ป้อนดังต่อไปนี้:
!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
| ชื่อตัวแปร | คุณลักษณะ | เนื้อหา |
|---|---|---|
| VALmn-k | R | ค่าสมบัติ (ขึ้นกับอุณหภูมิ) |
| TEMPmn | R | อุณหภูมิที่สอดคล้อง |
ต้องเป็นไปตาม TEMPm1 < TEMPm2 < ... < TEMPmN
เมื่ออุณหภูมิต่ำกว่าหรือเท่ากับ TEMPm1 จะใช้ VALm1 และเมื่อสูงกว่าหรือเท่ากับ TEMPmN จะใช้ VALmN
[กรณีสมบัติลำดับที่ m ไม่ขึ้นกับอุณหภูมิ]
| ชื่อตัวแปร | คุณลักษณะ | เนื้อหา |
|---|---|---|
| VALmn-k | R | ค่าสมบัติ (ไม่ขึ้นกับอุณหภูมิ) |
หมายเหตุ:
- หากชื่อวัสดุซ้ำกัน จะเกิดข้อผิดพลาด
- หากไม่ได้กำหนด
MATERIALที่อ้างอิงโดยตัวเลือก!SECTIONจะเกิดข้อผิดพลาด- หากป้อนสมบัติสำหรับแต่ละเอลิเมนต์โดยใช้พารามิเตอร์
MATITEMในตัวเลือก!ELEMENTค่านั้นจะมีลำดับความสำคัญ ในกรณีนี้จะไม่ใช้ค่าสมบัติที่ป้อนด้วยตัวเลือก!MATERIAL- หากจำนวนตัวเลือกย่อย
!ITEM=mไม่สอดคล้องกับจำนวนที่ระบุด้วยพารามิเตอร์ITEMหรือมีตัวเลือกย่อยที่ไม่ได้กำหนด จะเกิดข้อผิดพลาด- ตัวเลือกย่อย
!ITEM=mไม่จำเป็นต้องเรียงตามค่า m จากน้อยไปมาก- เมื่อใช้ตัวเลือกย่อย
SUBITEM=kและการขึ้นกับอุณหภูมิ ค่าที่ละเว้นจะเป็น 0.0- เมื่อใช้การขึ้นกับอุณหภูมิ ต้องกำหนดค่าเรียงจากอุณหภูมิต่ำไปสูง
- เมื่อใช้การขึ้นกับอุณหภูมิ หากใช้อุณหภูมิเดียวกันสองครั้งขึ้นไปจะเกิดข้อผิดพลาด
ตัวอย่างการใช้งาน
!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 ไม่ขึ้นกับอุณหภูมิ
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0
!MATERIAL, NAME= COPPER จำนวนรายการ = 1 (ค่าเริ่มต้น)
!ITEM=1 ไม่ขึ้นกับอุณหภูมิ
80.0
ตัวอย่างการใช้งานที่ไม่ถูกต้อง
ตัวอย่าง 1 [จำนวนพารามิเตอร์ ITEM กับจำนวนตัวเลือกย่อย !ITEM=m ไม่สอดคล้องกัน -1]
ตัวอย่าง 2 [จำนวนพารามิเตอร์ ITEM กับจำนวนตัวเลือกย่อย !ITEM=m ไม่สอดคล้องกัน -2]
การวิเคราะห์สถิตยืดหยุ่นและการวิเคราะห์โหมด¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| ชื่อพารามิเตอร์ | ค่าพารามิเตอร์ | เนื้อหา |
|---|---|---|
| NAME | <name> | ชื่อวัสดุ สอดคล้องกับ MATERIAL ของ !SECTION |
| ITEM | <ITEMnum> | จำนวนรายการสมบัติที่ผู้ใช้กำหนด (อย่างน้อย 1) <Young_modulus>-----มอดูลัสของยัง (จำเป็น) <Poisson_ratio>-------อัตราส่วนปัวซอง (จำเป็น) <Density>--------------ความหนาแน่นมวล (จำเป็นเมื่อ ITEMnum=2) < Expansion_coeff >--สัมประสิทธิ์การขยายตัวเชิงเส้น (เมื่อ ITEMnum=3) |
(ตัวอย่าง)
!MATERIAL, NAME=M1,
ITEM=3 --- หมายถึงกำหนดค่าสมบัติ 3 ชนิดสำหรับวัสดุชื่อ M1
!ITEM=1, SUBITEM=2 --- ใน !ITEM=1 กำหนดมอดูลัสของยังและอัตราส่วนปัวซอง (จำเป็น)
4000.0, 0.3
!ITEM=2 --- กำหนดความหนาแน่นมวลใน !ITEM=2 (จำเป็นเมื่อ ITEM=2)
8.0102E-0
!ITEM=3 --- กำหนดสัมประสิทธิ์การขยายตัวเชิงเส้นใน !ITEM=3
1.0E-5
หมายเหตุ:
- ไม่สามารถใช้วัสดุที่ขึ้นกับอุณหภูมิในการวิเคราะห์โหมดได้
การวิเคราะห์การนำความร้อน¶
กรณีเอลิเมนต์ลิงก์ ระนาบ solid และแผ่นสามมิติ
!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>
!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>
!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
| ชื่อพารามิเตอร์ | ค่าพารามิเตอร์ | เนื้อหา |
|---|---|---|
NAME | <name> | ชื่อวัสดุ สอดคล้องกับ MATERIAL ของ !SECTION |
ITEM | <ITEMnum> | จำนวนรายการสมบัติที่ผู้ใช้กำหนด (ต้องเป็น 3 เสมอ) <Density>----------ความหนาแน่น <Specific_heat>----ความร้อนจำเพาะ <Conductivity>-----สภาพนำความร้อน <Temperature>------อุณหภูมิ |
(ตัวอย่าง)
!MATERIAL, NAME=M1,
ITEM=3 --- หมายถึงกำหนดค่าสมบัติ 3 ชนิดสำหรับวัสดุชื่อ M1
!ITEM=1, SUBITEM=1 --- ใน !ITEM=1 กำหนดความหนาแน่นและอุณหภูมิ (จำเป็น)
7850., 300.
7790., 500.
7700., 800.
!ITEM=2, SUBITEM=1 --- ใน !ITEM=2 กำหนดความร้อนจำเพาะและอุณหภูมิ (จำเป็น)
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3 --- ใน !ITEM=3 กำหนดสภาพนำความร้อนและอุณหภูมิ (จำเป็น)
43., 300.
38.6, 500.
27.7, 800.
กรณีเอลิเมนต์อินเทอร์เฟซ
กำหนดด้วยส่วนหัว !SECTION (ไม่ต้องใช้ข้อมูลวัสดุ)
(ตัวอย่าง)
!SECTION ด้านบนกำหนดพารามิเตอร์ช่องว่างของเอลิเมนต์อินเทอร์เฟซที่อยู่ในกลุ่มชื่อ GAP
- พารามิเตอร์ที่ 1: ความกว้างช่องว่าง
- พารามิเตอร์ที่ 2: สัมประสิทธิ์การถ่ายเทความร้อนผ่านช่องว่าง
- พารามิเตอร์ที่ 3: สัมประสิทธิ์การแผ่รังสีผ่านช่องว่าง 1
- พารามิเตอร์ที่ 4: สัมประสิทธิ์การแผ่รังสีผ่านช่องว่าง 2
อ้างอิง¶
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