!MATERIAL¶
Definirea proprietăților materialului
Dacă proprietățile materialului depind de temperatură, acestea pot fi introduse sub formă de tabel pentru temperaturile corespunzătoare.
Prima linie
| Parametru | |
|---|---|
NAME | Numele materialului (obligatoriu) |
ITEM | Numărul elementelor de proprietate ale materialului (opțional; valoarea implicită este "1" dacă se omite) |
INPUT | Numele fișierului extern (opțional) |
| Numele parametrului | Valoarea parametrului | Descriere |
|---|---|---|
NAME | <name> | Numele materialului |
ITEM | <ITEMnum> | Numărul elementelor de proprietate ale materialului definite de utilizator |
INPUT | <filename> | Numele fișierului extern (opțional); poate fi utilizat și împreună cu a doua linie și liniile următoare |
A doua linie și liniile următoare
(linia a 2-a) !ITEM=1, SUBITEM=<k>
(linia a 3-a) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(linia a 4-a) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
・・
(linia L+2)VAL1-L-1, VAL1-L-2, … VAL1-L-k, TEMP1-L
Repetați definiția până la !ITEM=<ITEMnum>
Subparametru (pentru !ITEM) | |
|---|---|
SUBITEM | Numărul elementelor de subproprietate definite pentru fiecare element de proprietate al materialului |
| (opțional; valoarea implicită este "1" dacă se omite) |
| Numele subparametrului | Valoarea parametrului | Descriere |
|---|---|---|
SUBITEM | <subITEMnum> | Numărul elementelor de subproprietate definite de utilizator |
[Când a m-a proprietate a materialului depinde de temperatură]
Dacă tabelul dependent de temperatură conține N elemente, introduceți-le astfel:
!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
| Numele variabilei | Atribut | Descriere |
|---|---|---|
| VALmn-k | R | Valoarea proprietății materialului (dependentă de temperatură) |
| TEMPmn | R | Temperatura corespunzătoare |
Trebuie să fie îndeplinită relația TEMPm1 < TEMPm2 < ... < TEMPmN.
VALm1 este utilizat când temperatura este egală cu TEMPm1 sau mai mică, iar VALmN când temperatura este egală cu TEMPmN sau mai mare.
[Când a m-a proprietate a materialului nu depinde de temperatură]
| Numele variabilei | Atribut | Descriere |
|---|---|---|
| VALmn-k | R | Valoarea proprietății materialului (independentă de temperatură) |
Notă:
- Apare o eroare dacă numele materialelor sunt duplicate.
- Apare o eroare dacă opțiunea
!SECTIONface referire la unMATERIALnedefinit.- În opțiunea
!ELEMENT, dacă proprietățile materialului sunt introduse pentru fiecare element folosind parametrulMATITEM, aceste valori au prioritate. În acest caz, valorile proprietăților materialului introduse cu opțiunea!MATERIALnu sunt utilizate.- Apare o eroare dacă numărul subopțiunilor
!ITEM=mnu este în concordanță cu parametrulITEMsau dacă există o subopțiune nedefinită.- Subopțiunile
!ITEM=mnu trebuie să fie ordonate crescător după m.- Când sunt utilizate subopțiunea
SUBITEM=kși dependența de temperatură, valorile omise sunt setate la "0.0".- Când se utilizează dependența de temperatură, definițiile trebuie date în ordine crescătoare a temperaturii.
- Când se utilizează dependența de temperatură, apare o eroare dacă aceeași temperatură este folosită de două sau mai multe ori.
Exemplu de utilizare
!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Fără dependență de temperatură
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0
!MATERIAL, NAME= COPPER Număr de elemente = 1 (valoare implicită)
!ITEM=1 Fără dependență de temperatură
80.0
Exemple de utilizare incorectă
Exemplul 1 [Numărul parametrilor ITEM și al subopțiunilor !ITEM=m nu corespunde -1]
Exemplul 2 [Numărul parametrilor ITEM și al subopțiunilor !ITEM=m nu corespunde -2]
Analiză statică liniară și analiză modală¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| Numele parametrului | Valoarea parametrului | Descriere |
|---|---|---|
| NAME | <name> | Numele materialului; corespunde cu MATERIAL din !SECTION |
| ITEM | <ITEMnum> | Numărul elementelor de proprietate ale materialului definite de utilizator (1 sau mai multe) <Young_modulus>-----Modulul lui Young (obligatoriu) <Poisson_ratio>-------Coeficientul lui Poisson (obligatoriu) <Density>--------------Densitatea (obligatorie când ITEMnum=2) < Expansion_coeff >--Coeficientul de dilatare liniară (când ITEMnum=3) |
(Exemplu)
!MATERIAL, NAME=M1,
ITEM=3 --- Definește trei tipuri de valori ale proprietăților pentru materialul M1
!ITEM=1, SUBITEM=2 --- !ITEM=1 definește modulul lui Young și coeficientul lui Poisson (obligatoriu)
4000.0, 0.3
!ITEM=2 --- !ITEM=2 definește densitatea (obligatorie când ITEM=2)
8.0102E-0
!ITEM=3 --- !ITEM=3 definește coeficientul de dilatare liniară
1.0E-5
Notă:
- Materialele dependente de temperatură nu pot fi utilizate în analiza modală.
Analiza conducției termice¶
Pentru elemente de tip legătură, plane, solide și plăci tridimensionale
!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>
!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>
!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
| Numele parametrului | Valoarea parametrului | Descriere |
|---|---|---|
NAME | <name> | Numele materialului; corespunde cu MATERIAL din !SECTION |
ITEM | <ITEMnum> | Numărul elementelor de proprietate ale materialului definite de utilizator (întotdeauna 3) <Density>----------Densitate <Specific_heat>----Căldură specifică <Conductivity>-----Conductivitate termică <Temperature>------Temperatură |
(Exemplu)
!MATERIAL, NAME=M1,
ITEM=3 --- Definește trei tipuri de valori ale proprietăților pentru materialul M1
!ITEM=1, SUBITEM=1 --- !ITEM=1 definește densitatea și temperatura (obligatoriu)
7850., 300.
7790., 500.
7700., 800.
!ITEM=2, SUBITEM=1 --- !ITEM=2 definește căldura specifică și temperatura (obligatoriu)
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3 --- !ITEM=3 definește conductivitatea termică și temperatura (obligatoriu)
43., 300.
38.6, 500.
27.7, 800.
Pentru elemente de interfață
Definiți în antetul !SECTION. (Datele materialului nu sunt necesare.)
(Exemplu)
!SECTION de mai sus definește parametrii jocului pentru elementele de interfață care aparțin grupului name=GAP.
- Primul parametru: Lățimea jocului
- Al doilea parametru: Coeficientul de transfer termic al jocului
- Al treilea parametru: Coeficientul de radiație al jocului 1
- Al patrulea parametru: Coeficientul de radiație al jocului 2
Referință¶
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