Hyppää sisältöön

Translation update pending

The Finnish translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

!MATERIAL

Materiaaliominaisuuksien määrittely

Jos materiaaliominaisuudet riippuvat lämpötilasta, ne voidaan syöttää taulukkona vastaaville lämpötiloille.

Ensimmäinen rivi

!MATERIAL, NAME=<name> [, valinnainen parametri]
Parametri
NAME Materiaalin nimi (pakollinen)
ITEM Materiaaliominaisuuksien kohtien määrä (valinnainen; oletusarvo on "1", jos jätetään pois)
INPUT Ulkoisen tiedoston nimi (valinnainen)
Parametrin nimi Parametrin arvo Kuvaus
NAME <name> Materiaalin nimi
ITEM <ITEMnum> Käyttäjän määrittämien materiaaliominaisuuksien kohtien määrä
INPUT <filename> Ulkoisen tiedoston nimi (valinnainen); voidaan käyttää myös yhdessä 2. ja sitä seuraavien rivien kanssa
  1. ja sitä seuraavat rivit
(2. rivi) !ITEM=1, SUBITEM=<k>
(3. rivi) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(4. rivi) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
・・

(rivi L+2)VAL1-L-1, VAL1-L-2, … VAL1-L-k, TEMP1-L

Toista määrittely kohtaan !ITEM=<ITEMnum> asti
Aliparametri (!ITEM-kohdalle)
SUBITEM Kullekin materiaaliominaisuuden kohdalle määritettyjen aliominaisuuksien määrä
(valinnainen; oletusarvo on "1", jos jätetään pois)
Aliparametrin nimi Parametrin arvo Kuvaus
SUBITEM <subITEMnum> Käyttäjän määrittämien aliominaisuuksien määrä

[Kun m:s materiaaliominaisuus riippuu lämpötilasta]

Jos lämpötilariippuvainen taulukko sisältää N kohtaa, syötä ne seuraavasti:

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
Muuttujan nimi Attribuutti Kuvaus
VALmn-k R Materiaaliominaisuuden arvo (lämpötilariippuvainen)
TEMPmn R Vastaava lämpötila

Ehdon TEMPm1 < TEMPm2 < ... < TEMPmN on täytyttävä.

VALm1-arvoa käytetään, kun lämpötila on TEMPm1 tai alempi, ja VALmN-arvoa, kun lämpötila on TEMPmN tai korkeampi.

[Kun m:s materiaaliominaisuus ei riipu lämpötilasta]

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Muuttujan nimi Attribuutti Kuvaus
VALmn-k R Materiaaliominaisuuden arvo (ei lämpötilariippuvainen)

Huomautus:

  • Virhe tapahtuu, jos materiaalien nimet ovat päällekkäisiä.
  • Virhe tapahtuu, jos !SECTION-valinta viittaa määrittelemättömään MATERIAL-kohteeseen.
  • Jos !ELEMENT-valinnassa materiaaliominaisuudet syötetään elementtikohtaisesti parametrilla MATITEM, nämä arvot ovat etusijalla. Tällöin !MATERIAL-valinnalla syötettyjä materiaaliominaisuuksien arvoja ei käytetä.
  • Virhe tapahtuu, jos !ITEM=m-alivalintojen määrä ei vastaa ITEM-parametria tai jos jokin alivalinta on määrittelemättä.
  • !ITEM=m-alivalintoja ei tarvitse järjestää m:n mukaiseen nousevaan järjestykseen.
  • Kun SUBITEM=k-alivalintaa ja lämpötilariippuvuutta käytetään, pois jätetyt arvot asetetaan arvoon "0.0".
  • Lämpötilariippuvuutta käytettäessä määritykset on annettava lämpötilan nousevassa järjestyksessä.
  • Lämpötilariippuvuutta käytettäessä virhe tapahtuu, jos samaa lämpötilaa käytetään kaksi tai useampia kertoja.

Esimerkki

!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Ei lämpötilariippuvuutta
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0

!MATERIAL, NAME= COPPER         Kohtien määrä = 1 (oletusarvo)
!ITEM=1 Ei lämpötilariippuvuutta
80.0

Virheellisiä käyttöesimerkkejä

Esimerkki 1 [ITEM-parametrien ja !ITEM=m-alivalintojen määrä ei vastaa toisiaan -1]

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

Esimerkki 2 [ITEM-parametrien ja !ITEM=m-alivalintojen määrä ei vastaa toisiaan -2]

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

Lineaarinen staattinen analyysi ja moodianalyysi

!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
Parametrin nimi Parametrin arvo Kuvaus
NAME <name> Materiaalin nimi; vastaa !SECTION-kohdan MATERIAL-arvoa
ITEM <ITEMnum> Käyttäjän määrittämien materiaaliominaisuuksien kohtien määrä (1 tai enemmän)
<Young_modulus>-----Youngin moduuli (pakollinen)
<Poisson_ratio>-------Poissonin luku (pakollinen)
<Density>--------------Tiheys (pakollinen, kun ITEMnum=2)
< Expansion_coeff >--Lineaarinen lämpölaajenemiskerroin (kun ITEMnum=3)

(Esimerkki)

!MATERIAL, NAME=M1,
ITEM=3                   --- Määrittää kolme ominaisuusarvotyyppiä materiaalille M1
!ITEM=1, SUBITEM=2       --- !ITEM=1 määrittää Youngin moduulin ja Poissonin luvun (pakollinen)
4000.0, 0.3
!ITEM=2                  --- !ITEM=2 määrittää tiheyden (pakollinen, kun ITEM=2)
8.0102E-0
!ITEM=3                  --- !ITEM=3 määrittää lineaarisen lämpölaajenemiskertoimen
1.0E-5

Huomautus:

  • Lämpötilariippuvaisia materiaaleja ei voi käyttää moodianalyysissä.

Lämmönjohtumisanalyysi

Linkki-, taso-, solidi- ja kolmiulotteisille levyelementeille

!MATERIAL, NAME=<name>, ITEM=3
!ITEM=1, SUBITEM=2
<Density>, <Temperature>

!ITEM=2, SUBITEM=2
<Specific_heat>, <Temperature>

!ITEM=3, SUBITEM=2
<Conductivity>, <Temperature>
Parametrin nimi Parametrin arvo Kuvaus
NAME <name> Materiaalin nimi; vastaa !SECTION-kohdan MATERIAL-arvoa
ITEM <ITEMnum> Käyttäjän määrittämien materiaaliominaisuuksien kohtien määrä (aina 3)
<Density>----------Tiheys
<Specific_heat>----Ominaislämpökapasiteetti
<Conductivity>-----Lämmönjohtavuus
<Temperature>------Lämpötila

(Esimerkki)

!MATERIAL, NAME=M1,
ITEM=3                --- Määrittää kolme ominaisuusarvotyyppiä materiaalille M1

!ITEM=1, SUBITEM=1    --- !ITEM=1 määrittää tiheyden ja lämpötilan (pakollinen)
7850., 300.
7790., 500.
7700., 800.

!ITEM=2, SUBITEM=1       --- !ITEM=2 määrittää ominaislämpökapasiteetin ja lämpötilan (pakollinen)
0.465, 300.
0.528, 500.
0.622, 800.

!ITEM=3                  --- !ITEM=3 määrittää lämmönjohtavuuden ja lämpötilan (pakollinen)
43., 300.
38.6, 500.
27.7, 800.

Rajapintaelementeille

Määritä !SECTION-otsakkeessa. (Materiaalitietoja ei tarvita.)

(Esimerkki)

!SECTION, TYPE=INTERFACE, EGRP=GAP  --- Poikkileikkauksen määrittely
1.0, 20.15, 8.99835E-9, 8.99835E-9

Yllä oleva !SECTION määrittää raon parametrit ryhmään name=GAP kuuluville rajapintaelementeille.

    1. parametri: Raon leveys
    1. parametri: Raon lämmönsiirtokerroin
    1. parametri: Raon säteilykerroin 1
    1. parametri: Raon säteilykerroin 2

Viite

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