Ir para o conteúdo

!MATERIAL

Definição das propriedades do material

Se as propriedades dependerem da temperatura, podem ser introduzidas numa tabela para as temperaturas correspondentes.

1.ª linha

!MATERIAL, NAME=<name> [, parâmetro opcional]
Parâmetro
NAME Nome do material (obrigatório)
ITEM Número de itens de propriedades (opcional; se omitido, assume "1")
INPUT Nome do ficheiro externo (opcional)
Nome do parâmetro Valor do parâmetro Descrição
NAME <name> Nome do material
ITEM <ITEMnum> Número de itens de propriedades definidos pelo utilizador
INPUT <filename> Nome do ficheiro externo (opcional); também pode ser utilizado em conjunto com a 2.ª linha e seguintes

2.ª linha e seguintes

(2.ª linha) !ITEM=1, SUBITEM=<k>
(3.ª linha) VAL1-1-1, VAL1-1-2, … VAL1-1-k, TEMP1-1
(4.ª linha) VAL1-2-1, VAL1-2-2, … VAL1-2-k, TEMP1-2
・・

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

Repetir a definição até !ITEM=<ITEMnum>
Subparâmetro (para !ITEM)
SUBITEM Número de subitens de propriedades definidos para cada item de propriedades
(opcional; se omitido, assume "1")
Nome do subparâmetro Valor do parâmetro Descrição
SUBITEM <subITEMnum> Número de subitens de propriedades definidos pelo utilizador

[Quando a m-ésima propriedade depende da temperatura]

Se a tabela dependente da temperatura contiver N itens, introduza-os da seguinte forma:

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
Variável Tipo Descrição
VALmn-k R Valor da propriedade (dependente da temperatura)
TEMPmn R Temperatura correspondente

Deve verificar-se TEMPm1 < TEMPm2 < ... < TEMPmN.

É utilizado VALm1 quando a temperatura é igual ou inferior a TEMPm1, e VALmN quando é igual ou superior a TEMPmN.

[Quando a m-ésima propriedade não depende da temperatura]

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Variável Tipo Descrição
VALmn-k R Valor da propriedade (sem dependência da temperatura)

Nota:

  • Ocorre um erro se houver nomes de materiais duplicados.
  • Ocorre um erro se a opção !SECTION referenciar um MATERIAL que não esteja definido.
  • Na opção !ELEMENT, se forem introduzidas propriedades para cada elemento através do parâmetro MATITEM, esses valores têm prioridade. Nesse caso, os valores das propriedades introduzidos através da opção !MATERIAL não são utilizados.
  • Ocorre um erro se o número de subopções !ITEM=m for incompatível com o parâmetro ITEM, ou se existir uma subopção não definida.
  • As subopções !ITEM=m não têm de estar ordenadas por ordem crescente de m.
  • Ao utilizar a subopção SUBITEM=k e a dependência da temperatura, os valores omitidos assumem "0.0".
  • Ao utilizar a dependência da temperatura, as definições devem ser fornecidas por ordem crescente de temperatura.
  • Ao utilizar a dependência da temperatura, ocorre um erro se a mesma temperatura for utilizada duas ou mais vezes.

Exemplo de utilização

!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Sem dependência da temperatura
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0

!MATERIAL, NAME= COPPER         Número de itens = 1 (valor predefinido)
!ITEM=1 Sem dependência da temperatura
80.0

Exemplos de utilização incorreta

Exemplo 1 [O número do parâmetro ITEM e o número de subopções !ITEM=m não são compatíveis -1]

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

Exemplo 2 [O número do parâmetro ITEM e o número de subopções !ITEM=m não são compatíveis -2]

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

Análise estática elástica e análise modal

!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
Nome do parâmetro Valor do parâmetro Descrição
NAME <name> Nome do material; corresponde a MATERIAL em !SECTION
ITEM <ITEMnum> Número de itens de propriedades definidos pelo utilizador (1 ou mais)
<Young_modulus>-----Módulo de Young (obrigatório)
<Poisson_ratio>-------Coeficiente de Poisson (obrigatório)
<Density>--------------Massa volúmica (obrigatória quando ITEMnum=2)
< Expansion_coeff >--Coeficiente de dilatação linear (quando ITEMnum=3)

(Exemplo)

!MATERIAL, NAME=M1,
ITEM=3                   --- Define três tipos de valores de propriedades para o material M1
!ITEM=1, SUBITEM=2       --- !ITEM=1 define o módulo de Young e o coeficiente de Poisson (obrigatório)
4000.0, 0.3
!ITEM=2                  --- !ITEM=2 define a massa volúmica (obrigatória quando ITEM=2)
8.0102E-0
!ITEM=3                  --- !ITEM=3 define o coeficiente de dilatação linear
1.0E-5

Nota:

  • Não podem ser utilizados materiais dependentes da temperatura na análise modal.

Análise de condução térmica

Para elementos de ligação, planos, sólidos e de placa tridimensional

!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 do parâmetro Valor do parâmetro Descrição
NAME <name> Nome do material; corresponde a MATERIAL em !SECTION
ITEM <ITEMnum> Número de itens de propriedades definidos pelo utilizador (sempre 3)
<Density>----------Densidade
<Specific_heat>----Calor específico
<Conductivity>-----Condutividade térmica
<Temperature>------Temperatura

(Exemplo)

!MATERIAL, NAME=M1,
ITEM=3                   --- Define três tipos de valores de propriedades para o material M1

!ITEM=1, SUBITEM=1       --- !ITEM=1 define a densidade e a temperatura (obrigatório)
7850., 300.
7790., 500.
7700., 800.

!ITEM=2, SUBITEM=1       --- !ITEM=2 define o calor específico e a temperatura (obrigatório)
0.465, 300.
0.528, 500.
0.622, 800.

!ITEM=3                  --- !ITEM=3 define a condutividade térmica e a temperatura (obrigatório)
43., 300.
38.6, 500.
27.7, 800.

Para elementos de interface

Defina no cabeçalho !SECTION. (Não são necessários dados de material.)

(Exemplo)

!SECTION, TYPE=INTERFACE, EGRP=GAP   --- Definição da secção
1.0, 20.15, 8.99835E-9, 8.99835E-9

O !SECTION acima define os parâmetros de folga dos elementos de interface pertencentes ao grupo cujo nome=GAP.

  • 1.º parâmetro: Largura da folga
  • 2.º parâmetro: Coeficiente de transferência térmica da folga
  • 3.º parâmetro: Coeficiente de radiação da folga 1
  • 4.º parâmetro: Coeficiente de radiação da folga 2

Referência

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