!MATERIAL¶
Takrif sifat bahan
Jika sifat bahan bergantung pada suhu, sifat tersebut boleh dimasukkan sebagai jadual bagi suhu yang sepadan.
Baris pertama
| Parameter | |
|---|---|
NAME | Nama bahan (wajib) |
ITEM | Bilangan item sifat bahan (pilihan; lalai kepada "1" jika diabaikan) |
INPUT | Nama fail luaran (pilihan) |
| Nama parameter | Nilai parameter | Penerangan |
|---|---|---|
NAME | <name> | Nama bahan |
ITEM | <ITEMnum> | Bilangan item sifat bahan takrifan pengguna |
INPUT | <filename> | Nama fail luaran (pilihan); boleh juga digunakan bersama baris kedua dan seterusnya |
Baris kedua dan seterusnya
(baris kedua) !ITEM=1, SUBITEM=<k>
(baris ketiga) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(baris keempat) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
・・
(Baris L+2)VAL1-L-1, VAL1-L-2, … VAL1-L-k, TEMP1-L
Ulang takrif sehingga !ITEM=<ITEMnum>
Subparameter (untuk !ITEM) | |
|---|---|
SUBITEM | Bilangan item subsifat yang ditakrifkan bagi setiap item sifat bahan |
| (pilihan; lalai kepada "1" jika diabaikan) |
| Nama subparameter | Nilai parameter | Penerangan |
|---|---|---|
SUBITEM | <subITEMnum> | Bilangan item subsifat takrifan pengguna |
[Apabila sifat bahan ke-m bergantung pada suhu]
Jika jadual bergantung suhu mengandungi N entri, masukkannya seperti berikut:
!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
| Nama pemboleh ubah | Atribut | Penerangan |
|---|---|---|
| VALmn-k | R | Nilai sifat bahan (bergantung suhu) |
| TEMPmn | R | Suhu yang sepadan |
TEMPm1 < TEMPm2 < ... < TEMPmN mesti dipenuhi.
VALm1 digunakan apabila suhu ialah TEMPm1 atau lebih rendah, dan VALmN digunakan apabila suhu ialah TEMPmN atau lebih tinggi.
[Apabila sifat bahan ke-m tidak bergantung pada suhu]
| Nama pemboleh ubah | Atribut | Penerangan |
|---|---|---|
| VALmn-k | R | Nilai sifat bahan (tidak bergantung suhu) |
Note:
- Ralat berlaku jika nama bahan diduplikasi.
- Ralat berlaku jika pilihan
!SECTIONmerujukMATERIALyang tidak ditakrifkan.- Dalam pilihan
!ELEMENT, jika sifat bahan dimasukkan bagi setiap unsur menggunakan parameterMATITEM, nilai tersebut diberi keutamaan. Dalam kes ini, nilai sifat bahan yang dimasukkan menggunakan pilihan!MATERIALtidak digunakan.- Ralat berlaku jika bilangan subpilihan
!ITEM=mtidak konsisten dengan parameterITEM, atau jika subpilihan tidak ditakrifkan.- Subpilihan
!ITEM=mtidak perlu disusun mengikut tertib menaik m.- Apabila subpilihan
SUBITEM=kdan kebergantungan suhu digunakan, nilai yang diabaikan ditetapkan kepada "0.0".- Apabila kebergantungan suhu digunakan, takrif mesti diberikan mengikut tertib suhu menaik.
- Apabila kebergantungan suhu digunakan, ralat berlaku jika suhu yang sama digunakan dua kali atau lebih.
Contoh penggunaan
!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Tiada kebergantungan suhu
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0
!MATERIAL, NAME= COPPER Bilangan item = 1 (nilai lalai)
!ITEM=1 Tiada kebergantungan suhu
80.0
Contoh penggunaan yang salah
Contoh 1 [Bilangan parameter ITEM dan subpilihan !ITEM=m tidak konsisten -1]
Contoh 2 [Bilangan parameter ITEM dan subpilihan !ITEM=m tidak konsisten -2]
Analisis Statik Linear dan Analisis Modal¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| Nama parameter | Nilai parameter | Penerangan |
|---|---|---|
| NAME | <name> | Nama bahan; sepadan dengan MATERIAL dalam !SECTION |
| ITEM | <ITEMnum> | Bilangan item sifat bahan takrifan pengguna (1 atau lebih) <Young_modulus>-----Modulus Young (wajib) <Poisson_ratio>-------Nisbah Poisson (wajib) <Density>--------------Ketumpatan jisim (wajib apabila ITEMnum=2) < Expansion_coeff >--Pekali pengembangan linear (apabila ITEMnum=3) |
(Contoh)
!MATERIAL, NAME=M1,
ITEM=3 --- Mentakrifkan tiga jenis nilai sifat bagi bahan M1
!ITEM=1, SUBITEM=2 --- !ITEM=1 mentakrifkan modulus Young dan nisbah Poisson (wajib)
4000.0, 0.3
!ITEM=2 --- !ITEM=2 mentakrifkan ketumpatan jisim (wajib apabila ITEM=2)
8.0102E-0
!ITEM=3 --- !ITEM=3 mentakrifkan pekali pengembangan linear
1.0E-5
Note:
- Bahan bergantung suhu tidak boleh digunakan dalam analisis modal.
Analisis Konduksi Haba¶
Untuk unsur pautan, satah, pepejal dan plat tiga dimensi
!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>
!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>
!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
| Nama parameter | Nilai parameter | Penerangan |
|---|---|---|
NAME | <name> | Nama bahan; sepadan dengan MATERIAL dalam !SECTION |
ITEM | <ITEMnum> | Bilangan item sifat bahan takrifan pengguna (sentiasa 3) <Density>----------Ketumpatan <Specific_heat>----Haba tentu <Conductivity>-----Kekonduksian haba <Temperature>------Suhu |
(Contoh)
!MATERIAL, NAME=M1,
ITEM=3 --- Mentakrifkan tiga jenis nilai sifat bagi bahan M1
!ITEM=1, SUBITEM=1 --- !ITEM=1 mentakrifkan ketumpatan dan suhu (wajib)
7850., 300.
7790., 500.
7700., 800.
!ITEM=2, SUBITEM=1 --- !ITEM=2 mentakrifkan haba tentu dan suhu (wajib)
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3 --- !ITEM=3 mentakrifkan kekonduksian haba dan suhu (wajib)
43., 300.
38.6, 500.
27.7, 800.
Untuk unsur antara muka
Takrifkannya dalam pengepala !SECTION. (Data bahan tidak diperlukan.)
(Contoh)
!SECTION di atas mentakrifkan parameter jurang bagi unsur antara muka yang tergolong dalam nama kumpulan=GAP.
- Parameter pertama: Lebar jurang
- Parameter kedua: Pekali pemindahan haba jurang
- Parameter ketiga: Pekali sinaran jurang 1
- Parameter keempat: Pekali sinaran jurang 2
Rujukan¶
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