!MATERIAL¶
Definizione delle proprietà del materiale
Se le proprietà del materiale dipendono dalla temperatura, è possibile inserirle sotto forma di tabella per le temperature corrispondenti.
Prima riga
| Parametro | |
|---|---|
NAME | Nome del materiale (obbligatorio) |
ITEM | Numero di voci delle proprietà (facoltativo; se omesso assume «1») |
INPUT | Nome del file esterno (facoltativo) |
| Nome del parametro | Valore del parametro | Contenuto |
|---|---|---|
NAME | <name> | Nome del materiale |
ITEM | <ITEMnum> | Numero di voci delle proprietà definite dall’utente |
INPUT | <filename> | Nome del file esterno (facoltativo), utilizzabile anche insieme alla seconda riga e alle successive |
Seconda riga e successive
(2ª riga) !ITEM=1, SUBITEM=<k>
(3ª riga) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(4ª riga) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
・・
(Riga L+2)VAL1-L-1, VAL1-L-2, … VAL1-L-k, TEMP1-L
Ripetere la definizione fino a «!ITEM=<ITEMnum>»
Subparametro (relativo a !ITEM) | |
|---|---|
SUBITEM | Numero di sottovoci delle proprietà definite per ciascuna voce delle proprietà |
| (facoltativo; se omesso assume «1») |
| Nome del sottoparametro | Valore del parametro | Contenuto |
|---|---|---|
SUBITEM | <subITEMnum> | Numero di sottovoci delle proprietà definite dall’utente |
【Quando la m-esima proprietà del materiale dipende dalla temperatura】
Se la tabella dipendente dalla temperatura contiene N voci, immetterle come segue:
!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
| Nome della variabile | Tipo | Contenuto |
|---|---|---|
| VALmn-k | R | Valore della proprietà (dipendente dalla temperatura) |
| TEMPmn | R | Temperatura corrispondente |
Deve valere TEMPm1 < TEMPm2 < ... < TEMPmN.
Se la temperatura è minore o uguale a TEMPm1 viene utilizzato VALm1; se è maggiore o uguale a TEMPmN viene utilizzato VALmN.
【Quando la m-esima proprietà del materiale non dipende dalla temperatura】
| Nome della variabile | Tipo | Contenuto |
|---|---|---|
| VALmn-k | R | Valore della proprietà (non dipendente dalla temperatura) |
Nota:
- Se i nomi dei materiali sono duplicati si verifica un errore.
- Nell’opzione
!SECTION, se ilMATERIALa cui si fa riferimento non è definito, si verifica un errore.- Nell’opzione
!ELEMENT, se le proprietà del materiale vengono immesse per ciascun elemento mediante il parametroMATITEM, tali valori hanno la precedenza. In questo caso, i valori delle proprietà immessi mediante l’opzione!MATERIALnon vengono utilizzati.- Si verifica un errore se il numero di sotto-opzioni
!ITEM=mnon è coerente con il numero specificato dal parametroITEMoppure se esiste una sotto-opzione non definita.- Le sotto-opzioni
!ITEM=mnon devono necessariamente essere disposte in ordine crescente di m.- Quando si utilizzano la sotto-opzione
SUBITEM=ke la dipendenza dalla temperatura, i valori omessi assumono «0.0».- Quando si utilizza la dipendenza dalla temperatura, le definizioni devono essere fornite in ordine crescente di temperatura.
- Quando si utilizza la dipendenza dalla temperatura, l’uso della stessa temperatura due o più volte genera un errore.
Esempio di utilizzo
!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Nessuna dipendenza dalla temperatura
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0
!MATERIAL, NAME= COPPER Numero di voci=1(valore predefinito)
!ITEM=1 Nessuna dipendenza dalla temperatura
80.0
Esempi di utilizzo errati
Esempio 1【Il numero specificato dal parametro ITEM e il numero di sotto-opzioni !ITEM=m non sono coerenti-1】
Esempio 2【Il numero specificato dal parametro ITEM e il numero di sotto-opzioni !ITEM=m non sono coerenti-2】
Analisi statica elastica e analisi modale¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| Nome del parametro | Valore del parametro | Contenuto |
|---|---|---|
| NAME | <name> | Nome del materiale, corrispondente a MATERIAL in !SECTION |
| ITEM | <ITEMnum> | Numero di voci delle proprietà definite dall’utente (1 o più) <Young_modulus>-----modulo di Young (obbligatorio) <Poisson_ratio>-------coefficiente di Poisson (obbligatorio) <Density>--------------densità massica (obbligatoria quando ITEMnum=2) < Expansion_coeff >--coefficiente di dilatazione lineare (quando ITEMnum=3) |
(Esempio)
!MATERIAL, NAME=M1,
ITEM=3 --- Nel materiale denominato M1 vengono definiti tre tipi di valori delle proprietà
!ITEM=1, SUBITEM=2 --- Con !ITEM=1 si definiscono il modulo di Young e il coefficiente di Poisson (obbligatorio)
4000.0, 0.3
!ITEM=2 --- Con !ITEM=2 si definisce la densità massica (obbligatoria quando ITEM=2)
8.0102E-0
!ITEM=3 --- Con !ITEM=3 si definisce il coefficiente di dilatazione lineare
1.0E-5
Nota:
- Nell’analisi modale non è possibile utilizzare materiali con proprietà dipendenti dalla temperatura.
Analisi di conduzione termica¶
Per elementi di collegamento, piani, solidi e piastra 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>
| Nome del parametro | Valore del parametro | Contenuto |
|---|---|---|
NAME | <name> | Nome del materiale, corrispondente a MATERIAL in !SECTION |
ITEM | <ITEMnum> | Numero di voci delle proprietà definite dall’utente (sempre 3) <Density>----------densità <Specific_heat>----calore specifico <Conductivity>-----conducibilità termica <Temperature>------temperatura |
(Esempio)
!MATERIAL, NAME=M1,
ITEM=3 --- Nel materiale denominato M1 vengono definiti tre tipi di valori delle proprietà
!ITEM=1, SUBITEM=1 --- Con !ITEM=1 si definiscono la densità e la temperatura (obbligatorio)
7850., 300.
7790., 500.
7700., 800.
!ITEM=2, SUBITEM=1 --- Con !ITEM=2 si definiscono il calore specifico e la temperatura (obbligatorio)
0.465, 300.
0.528, 500.
0.622, 800.
!ITEM=3 --- Con !ITEM=3 si definiscono la conducibilità termica e la temperatura (obbligatorio)
43., 300.
38.6, 500.
27.7, 800.
Per gli elementi di interfaccia
Definire nell’intestazione !SECTION. (I dati del materiale non sono necessari)
(Esempio)
Nell’!SECTION sopra riportato sono definiti, per gli elementi di interfaccia, i parametri dell’interstizio degli elementi appartenenti al gruppo con nome=GAP.
- 1º parametro: larghezza dell’interstizio
- 2º parametro: coefficiente di scambio termico dell’interstizio
- 3º parametro: coefficiente di radiazione dell’interstizio 1
- 4º parametro: coefficiente di radiazione dell’interstizio 2
Riferimento¶
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