!MATERIAL¶
Medžiagos savybių apibrėžimas
Kai medžiagos savybės priklauso nuo temperatūros, galima įvesti lentelę kiekvienai atitinkamai temperatūrai.
1-oji eilutė
| Parametras | |
|---|---|
NAME | Medžiagos pavadinimas (privaloma) |
ITEM | Savybių pozicijų skaičius (neprivaloma; praleidus naudojama „1“) |
INPUT | Išorinio failo pavadinimas (neprivaloma) |
| Parametro pavadinimas | Parametro reikšmė | Aprašymas |
|---|---|---|
NAME | <name> | Medžiagos pavadinimas |
ITEM | <ITEMnum> | Naudotojo apibrėžtų medžiagos savybių pozicijų skaičius |
INPUT | <filename> | Išorinio failo pavadinimas (neprivaloma); taip pat galima naudoti kartu su 2-ąja ir tolesnėmis eilutėmis |
2-oji ir tolesnės eilutės
(2-oji eilutė) !ITEM=1, SUBITEM=<k>
(3-ioji eilutė) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(4-oji eilutė) VAL1-2-1,VAL1-2-2, … VAL1-2-k, TEMP1-2
・・
(eilutė L+2) VAL1-L-1,VAL1-L-2, … VAL1-L-k, TEMP1-L
Toliau apibrėžimai kartojami iki „!ITEM=<ITEMnum>“
Papildomas parametras (!ITEM) | |
|---|---|
SUBITEM | Kiekvienoje savybės pozicijoje apibrėžiamų papildomų savybės pozicijų skaičius |
| (neprivaloma; praleidus naudojama „1“.) |
| Papildomo parametro pavadinimas | Parametro reikšmė | Aprašymas |
|---|---|---|
SUBITEM | <subITEMnum> | Naudotojo apibrėžtų papildomų savybės pozicijų skaičius |
【Kai m-oji medžiagos savybė priklauso nuo temperatūros】
Jei nuo temperatūros priklausančios lentelės pozicijų skaičius yra N, įveskite taip:
!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
| Kintamojo pavadinimas | Atributas | Aprašymas |
|---|---|---|
| VALmn-k | R | Medžiagos savybės reikšmė (priklauso nuo temperatūros) |
| TEMPmn | R | Atitinkama temperatūra |
Turi galioti TEMPm1 < TEMPm2 < ... < TEMPmN.
Kai temperatūra yra TEMPm1 arba mažesnė, naudojama VALm1, o kai temperatūra yra TEMPmN arba didesnė – VALmN.
【Kai m-oji medžiagos savybė nepriklauso nuo temperatūros】
| Kintamojo pavadinimas | Atributas | Aprašymas |
|---|---|---|
| VALmn-k | R | Medžiagos savybės reikšmė (nepriklauso nuo temperatūros) |
Pastaba:
- Pasikartojant medžiagos pavadinimams įvyksta klaida.
- Jei parinktyje
!SECTIONnurodomas neapibrėžtasMATERIAL, įvyksta klaida.- Jei parinktyje
!ELEMENT, naudojant parametrąMATITEM, medžiagos savybės įvedamos kiekvienam elementui, šios reikšmės turi pirmenybę. Tokiu atveju medžiagos savybių reikšmės, įvestos naudojant!MATERIAL, nenaudojamos.- Jei
!ITEM=mpapildomų parinkčių skaičius nesutampa su parametroITEMskaičiumi arba yra neapibrėžta papildoma parinktis, įvyksta klaida.!ITEM=mpapildomos parinktys neprivalo būti išdėstytos didėjančia m tvarka.- Naudojant papildomą parinktį
SUBITEM=kir priklausomybę nuo temperatūros, praleistos reikšmės tampa „0.0“.- Naudojant priklausomybę nuo temperatūros, apibrėžimai turi būti pateikti didėjančia temperatūros tvarka.
- Naudojant priklausomybę nuo temperatūros, ta pati temperatūra negali būti naudojama du ar daugiau kartų – priešingu atveju įvyksta klaida.
Naudojimo pavyzdys
!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Nepriklauso nuo temperatūros
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0
!MATERIAL, NAME= COPPER Pozicijų skaičius = 1 (numatytoji reikšmė)
!ITEM=1 Nepriklauso nuo temperatūros
80.0
Neteisingo naudojimo pavyzdžiai
1 pavyzdys【parametro ITEM ir !ITEM=m papildomų parinkčių skaičius nesutampa -1】
2 pavyzdys【parametro ITEM ir !ITEM=m papildomų parinkčių skaičius nesutampa -2】
Tiesinė statinė analizė ir modalinė analizė¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| Parametro pavadinimas | Parametro reikšmė | Aprašymas |
|---|---|---|
| NAME | <name> | Medžiagos pavadinimas; atitinka !SECTION parametrą MATERIAL |
| ITEM | <ITEMnum> | Naudotojo apibrėžtų medžiagos savybių pozicijų skaičius (1 ar daugiau) <Young_modulus>-----Youngo modulis (privaloma) <Poisson_ratio>-------Puasono koeficientas (privaloma) <Density>--------------masės tankis (privaloma, kai ITEMnum=2) < Expansion_coeff >--tiesinio plėtimosi koeficientas (kai ITEMnum=3) |
(Pavyzdys)
!MATERIAL, NAME=M1,
ITEM=3 --- medžiagai M1 apibrėžiamos trys savybių reikšmių rūšys
!ITEM=1, SUBITEM=2 --- !ITEM=1 apibrėžia Youngo modulį ir Puasono koeficientą (privaloma)
4000.0, 0.3
!ITEM=2 --- !ITEM=2 apibrėžia masės tankį (privaloma, kai ITEM=2)
8.0102E-0
!ITEM=3 --- !ITEM=3 apibrėžia tiesinio plėtimosi koeficientą
1.0E-5
Pastaba:
- Modalinėje analizėje negalima naudoti nuo temperatūros priklausančių medžiagų.
Šilumos laidumo analizė¶
Jungties, plokštuminiams, tūriniams ir trimačiams plokštės elementams
!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>
!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>
!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
| Parametro pavadinimas | Parametro reikšmė | Aprašymas |
|---|---|---|
NAME | <name> | Medžiagos pavadinimas; atitinka !SECTION parametrą MATERIAL |
ITEM | <ITEMnum> | Naudotojo apibrėžtų medžiagos savybių pozicijų skaičius (visada 3) <Density>----------tankis <Specific_heat>----savitoji šiluma <Conductivity>-----šilumos laidumas <Temperature>------temperatūra |
(Pavyzdys)
!MATERIAL, NAME=M1,
ITEM=3 --- medžiagai M1 apibrėžiamos trys savybių reikšmių rūšys
!ITEM=1, SUBITEM=1 --- !ITEM=1 apibrėžia tankį ir temperatūrą (privaloma)
7850., 300.
7790., 500.
7700., 800.
!ITEM=2, SUBITEM=1 --- !ITEM=2 apibrėžia savitąją šilumą ir temperatūrą (privaloma)
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3 --- !ITEM=3 apibrėžia šilumos laidumą ir temperatūrą (privaloma)
43., 300.
38.6, 500.
27.7, 800.
Sąsajos elementams
Apibrėžiama !SECTION antraštėje. (Medžiagos duomenys nereikalingi.)
(Pavyzdys)
Pirmiau pateikta !SECTION apibrėžia tarpo parametrus sąsajos elementams, priklausantiems grupei name=GAP.
- 1-asis parametras: tarpo plotis
- 2-asis parametras: tarpo šilumos perdavimo koeficientas
- 3-iasis parametras: tarpo spinduliavimo koeficientas 1
- 4-asis parametras: tarpo spinduliavimo koeficientas 2
Nuoroda¶
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