Skip to content

Translation update pending

The Lao translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

!MATERIAL

ການກຳນົດຄຸນສົມບັດວັດສະດຸ

ຖ້າຄຸນສົມບັດຂຶ້ນກັບອຸນຫະພູມ ສາມາດປ້ອນຂໍ້ມູນເປັນຕາຕະລາງສຳລັບແຕ່ລະອຸນຫະພູມທີ່ກ່ຽວຂ້ອງ.

ແຖວທີ 1

!MATERIAL, NAME=<name> [, ພາຣາມິເຕີເລືອກໄດ້]
ພາຣາມິເຕີ
NAME ຊື່ວັດສະດຸ (ຈຳເປັນ)
ITEM ຈຳນວນລາຍການຄຸນສົມບັດ (ລະໄດ້; ຖ້າລະໄວ້ຈະເປັນ “1”)
INPUT ຊື່ໄຟລ໌ພາຍນອກ (ລະໄດ້)
ຊື່ພາຣາມິເຕີ ຄ່າພາຣາມິເຕີ ເນື້ອຫາ
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 ບໍ່ຂຶ້ນກັບອຸນຫະພູມ]

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
ຊື່ຕົວແປ ຄຸນລັກສະນະ ເນື້ອຫາ
VALmn-k R ຄ່າຄຸນສົມບັດ (ບໍ່ຂຶ້ນກັບອຸນຫະພູມ)

ໝາຍເຫດ:

  • ຖ້າຊື່ວັດສະດຸຊ້ຳກັນ ຈະເກີດຂໍ້ຜິດພາດ.
  • ໃນຕົວເລືອກ !SECTION, ຖ້າ MATERIAL ທີ່ຖືກອ້າງອີງບໍ່ໄດ້ກຳນົດ ຈະເກີດຂໍ້ຜິດພາດ.
  • ສຳລັບຕົວເລືອກ !ELEMENT, ຖ້າປ້ອນຄຸນສົມບັດສຳລັບແຕ່ລະເອລິເມັນໂດຍໃຊ້ພາຣາມິເຕີ MATITEM, ຄ່ານັ້ນຈະຖືກໃຊ້ເປັນລຳດັບທຳອິດ. ໃນກໍລະນີນີ້ ຄ່າຄຸນສົມບັດທີ່ປ້ອນດ້ວຍຕົວເລືອກ !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]

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

ຕົວຢ່າງ 2[ຈຳນວນພາຣາມິເຕີ ITEM ແລະ ຕົວເລືອກຍ່ອຍ !ITEM=m ບໍ່ສອດຄ່ອງກັນ -2]

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

ການວິເຄາະສະຖິດແບບຍືດຫຍຸ່ນ ແລະ ການວິເຄາະໂໝດ

!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
ຊື່ພາຣາມິເຕີ ຄ່າພາຣາມິເຕີ ເນື້ອຫາ
NAME <ຊື່> ຊື່ວັດສະດຸ, ກົງກັບ MATERIAL ຂອງ !SECTION
ITEM <ITEMnum> ຈຳນວນລາຍການຄຸນສົມບັດທີ່ຜູ້ໃຊ້ກຳນົດ (1 ຂຶ້ນໄປ)
<Young_modulus>-----ມໍດູລັສ Young (ຈຳເປັນ)
<Poisson_ratio>-------ອັດຕາ Poisson (ຈຳເປັນ)
<Density>--------------ຄວາມໜາແໜ້ນມວນ (ຈຳເປັນເມື່ອ ITEMnum=2)
< Expansion_coeff >--ສຳປະສິດການຂະຫຍາຍຕົວເຊິ່ງເປັນເສັ້ນ (ເມື່ອ ITEMnum=3)

(ຕົວຢ່າງ)

!MATERIAL, NAME=M1,
ITEM=3                   --- ໝາຍເຖິງກຳນົດຄ່າຄຸນສົມບັດ 3 ຊະນິດສຳລັບວັດສະດຸຊື່ M1
!ITEM=1, SUBITEM=2       --- ໃນ !ITEM=1 ກຳນົດມໍດູລັສ Young ແລະ ອັດຕາ Poisson (ຈຳເປັນ)
4000.0, 0.3
!ITEM=2                  --- ໃນ !ITEM=2 ກຳນົດຄວາມໜາແໜ້ນມວນ (ຈຳເປັນເມື່ອ ITEM=2)
8.0102E-0
!ITEM=3                  --- ໃນ !ITEM=3 ກຳນົດສຳປະສິດການຂະຫຍາຍຕົວເຊິ່ງເປັນເສັ້ນ
1.0E-5

Note:

  • ໃນການວິເຄາະໂໝດ ບໍ່ສາມາດໃຊ້ວັດສະດຸທີ່ມີຄຸນສົມບັດຂຶ້ນກັບອຸນຫະພູມໄດ້.

ການວິເຄາະການນຳຄວາມຮ້ອນ

ສຳລັບເອລິເມັນ ເຊື່ອມຕໍ່, ຮາບ, ໂຊລິດ ແລະ ແຜ່ນ 3 ມິຕິ

!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 <ຊື່> ຊື່ວັດສະດຸ, ກົງກັບ 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, TYPE=INTERFACE, EGRP=GAP   --- ການກຳນົດ ສ່ວນ
1.0, 20.15, 8.99835E-9, 8.99835E-9

ໃນ !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