Ir para o conteúdo

!MATERIAL

Definição das propriedades do material

Quando uma propriedade depende da temperatura, é possível fornecer uma tabela para cada temperatura correspondente.

1ª linha

!MATERIAL, NAME=<name> [, optional parameter]
Parâmetro
NAME Nome do material (obrigatório)
ITEM Número de itens de propriedade (opcional; se omitido, será “1”)
INPUT Nome do arquivo externo (opcional)
Nome do parâmetro Valor do parâmetro Descrição
NAME <name> Nome do material
ITEM <ITEMnum> Número de itens de propriedade definidos pelo usuário
INPUT <filename> Nome do arquivo externo (opcional); também pode ser usado 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

Repita a definição da mesma forma até “!ITEM=<ITEMnum>”
Subparâmetro (para “!ITEM”)
SUBITEM Número de subitens de propriedade definidos para cada item de propriedade
(opcional; se omitido, será “1”)
Nome do subparâmetro Valor do parâmetro Descrição
SUBITEM <subITEMnum> Número de subitens de propriedade definidos pelo usuário

【Quando a m-ésima propriedade depende da temperatura】

Quando o número de itens da tabela dependente da temperatura for N, forneça a entrada 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 Atributo Descrição
VALmn-k R Valor da propriedade (dependente da temperatura)
TEMPmn R Temperatura correspondente

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

Se a temperatura for menor ou igual a TEMPm1, será usado VALm1; se for maior ou igual a TEMPmN, será usado VALmN.

【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 Atributo Descrição
VALmn-k R Valor da propriedade (sem dependência da temperatura)

Note:

  • Nomes de material duplicados resultam em erro.
  • Ocorrerá um erro se a opção “!SECTION” referenciar um MATERIAL que não esteja definido.
  • Se, na opção “!ELEMENT”, as propriedades forem fornecidas individualmente para cada elemento usando o parâmetro “MATITEM”, esses valores terão prioridade. Nesse caso, os valores de propriedade fornecidos pela opção “!MATERIAL” não serão usados.
  • Ocorrerá um erro se o número de subopções “!ITEM=m” não for compatível com o valor do parâmetro “ITEM” ou se houver subopções não definidas.
  • As subopções “!ITEM=m” não precisam ser ordenadas em ordem crescente de m.
  • Ao usar a subopção “SUBITEM=k” e dependência da temperatura, valores omitidos serão “0.0”.
  • Ao usar dependência da temperatura, as temperaturas devem ser definidas em ordem crescente.
  • Ao usar dependência da temperatura, ocorrerá um erro se a mesma temperatura for usada duas ou mais vezes.

Exemplo de uso

!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 padrão)
!ITEM=1 sem dependência da temperatura
80.0

Exemplos de uso incorreto

Exemplo 1【O parâmetro “ITEM” e o número de subopções “!ITEM=m” são incompatíveis - 1】

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

Exemplo 2【O parâmetro “ITEM” e o número de subopções “!ITEM=m” são incompatí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, correspondente a MATERIAL de !SECTION
ITEM <ITEMnum> Número de itens de propriedade definidos pelo usuário (1 ou mais)
<Young_modulus>-----módulo de Young (obrigatório)
<Poisson_ratio>-------coeficiente de Poisson (obrigatório)
<Density>--------------densidade de massa (obrigatória quando ITEMnum=2)
< Expansion_coeff >--coeficiente de expansão térmica linear (quando ITEMnum=3)

(Exemplo)

!MATERIAL, NAME=M1,
ITEM=3                   --- significa que três tipos de propriedades são definidos para o material de nome M1
!ITEM=1, SUBITEM=2       --- em !ITEM=1, define-se o módulo de Young e o coeficiente de Poisson (obrigatório)
4000.0, 0.3
!ITEM=2                  --- em !ITEM=2, define-se a densidade de massa (obrigatória quando ITEM=2)
8.0102E-0
!ITEM=3                  --- em !ITEM=3, define-se o coeficiente de expansão térmica linear
1.0E-5

Note:

  • Na análise modal, não é possível utilizar materiais com dependência da temperatura.

Análise de condução de calor

Para elementos de link, planos, sólidos e placas tridimensionais

!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, correspondente a MATERIAL de !SECTION
ITEM <ITEMnum> Número de itens de propriedade definidos pelo usuário (sempre 3)
<Density>----------densidade
<Specific_heat>----calor específico
<Conductivity>-----condutividade térmica
<Temperature>------temperatura

(Exemplo)

!MATERIAL, NAME=M1,
ITEM=3                --- significa que três tipos de propriedades são definidos para o material de nome M1

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

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

!ITEM=3                  --- em !ITEM=3, define-se 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. (Dados de material não são necessários)

(Exemplo)

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

No !SECTION acima, são definidos, para elementos de interface, os parâmetros de gap dos elementos pertencentes ao grupo de nome GAP.

  • 1º parâmetro: largura do gap
  • 2º parâmetro: coeficiente de transferência de calor do gap
  • 3º parâmetro: coeficiente de radiação do gap 1
  • 4º parâmetro: coeficiente de radiação do gap 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