Μετάβαση στο περιεχόμενο

!MATERIAL

Ορισμός ιδιοτήτων υλικού

Αν οι ιδιότητες του υλικού εξαρτώνται από τη θερμοκρασία, μπορούν να εισαχθούν ως πίνακας για τις αντίστοιχες θερμοκρασίες.

1η γραμμή

!MATERIAL, NAME=<name> [, προαιρετική παράμετρος]
Παράμετρος
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-οστή ιδιότητα υλικού δεν εξαρτάται από τη θερμοκρασία]

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Όνομα μεταβλητής Ιδιότητα Περιγραφή
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]

!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=3
20.0
!ITEM=1
35.0
!ITEM= 2
40.0

Παράδειγμα 2 [Ο αριθμός των παραμέτρων ITEM και των υποεπιλογών !ITEM=m δεν συμφωνεί -2]

!MATERIAL, NAME= STEEL, ITEM= 3
!ITEM=3
20.0
!ITEM= 2
40.0
!MATERIAL, NAME= COPPER
...

Γραμμική στατική ανάλυση και ιδιομορφική ανάλυση

!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, TYPE=INTERFACE, EGRP=GAP   --- Ορισμός διατομής
1.0, 20.15, 8.99835E-9, 8.99835E-9
Το παραπάνω !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