!MATERIAL¶
Ορισμός ιδιοτήτων υλικού
Αν οι ιδιότητες του υλικού εξαρτώνται από τη θερμοκρασία, μπορούν να εισαχθούν ως πίνακας για τις αντίστοιχες θερμοκρασίες.
1η γραμμή
| Παράμετρος | |
|---|---|
NAME | Όνομα υλικού (απαιτείται) |
ITEM | Αριθμός στοιχείων ιδιοτήτων υλικού (προαιρετικό· αν παραλειφθεί, η προεπιλογή είναι «1») |
INPUT | Όνομα εξωτερικού αρχείου (προαιρετικό) |
| Όνομα παραμέτρου | Τιμή παραμέτρου | Περιγραφή |
|---|---|---|
NAME | <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-οστή ιδιότητα υλικού δεν εξαρτάται από τη θερμοκρασία]
| Όνομα μεταβλητής | Ιδιότητα | Περιγραφή |
|---|---|---|
| VALmn-k | R | Τιμή ιδιότητας υλικού (χωρίς εξάρτηση από τη θερμοκρασία) |
Σημείωση:
- Προκύπτει σφάλμα αν υπάρχουν διπλότυπα ονόματα υλικών.
- Προκύπτει σφάλμα αν η επιλογή
!SECTIONαναφέρεται σε μη ορισμένοMATERIAL.- Στην επιλογή
!ELEMENT, αν οι ιδιότητες υλικού εισαχθούν για κάθε στοιχείο με την παράμετροMATITEM, αυτές οι τιμές έχουν προτεραιότητα. Σε αυτή την περίπτωση, δεν χρησιμοποιούνται οι τιμές ιδιοτήτων που εισήχθησαν με την επιλογή!MATERIAL.- Προκύπτει σφάλμα αν ο αριθμός των υποεπιλογών
!ITEM=mδεν συμφωνεί με την παράμετροITEMή αν κάποια υποεπιλογή δεν έχει οριστεί.- Οι υποεπιλογές
!ITEM=mδεν χρειάζεται να είναι διατεταγμένες σε αύξουσα σειρά του m.- Όταν χρησιμοποιούνται η υποεπιλογή
SUBITEM=kκαι εξάρτηση από τη θερμοκρασία, οι παραλειπόμενες τιμές τίθενται σε «0.0».- Όταν χρησιμοποιείται εξάρτηση από τη θερμοκρασία, οι ορισμοί πρέπει να δίνονται σε αύξουσα σειρά θερμοκρασίας.
- Όταν χρησιμοποιείται εξάρτηση από τη θερμοκρασία, προκύπτει σφάλμα αν χρησιμοποιηθεί η ίδια θερμοκρασία 2 φορές ή περισσότερες.
Παράδειγμα χρήσης
!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]
Παράδειγμα 2 [Ο αριθμός των παραμέτρων ITEM και των υποεπιλογών !ITEM=m δεν συμφωνεί -2]
Γραμμική στατική ανάλυση και ιδιομορφική ανάλυση¶
!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
| Όνομα παραμέτρου | Τιμή παραμέτρου | Περιγραφή |
|---|---|---|
| NAME | <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
Σημείωση:
- Υλικά με εξάρτηση από τη θερμοκρασία δεν μπορούν να χρησιμοποιηθούν σε ιδιομορφική ανάλυση.
Ανάλυση αγωγής θερμότητας¶
Για στοιχεία σύνδεσης, επίπεδα, στερεά και 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 | <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 ορίζει τις παραμέτρους διακένου για διεπιφανειακά στοιχεία που ανήκουν στην ομάδα name=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