Ir para o conteúdo

!MATERIAL

Definição das propriedades físicas do material

Se uma propriedade física depender da temperatura, é possível introduzir 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 propriedades físicas (opcional; assume "1" se omitido)
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 físicas definidos pelo utilizador
INPUT <filename> Nome do ficheiro externo (opcional); também pode ser utilizado em conjunto com a 2.ª linha e as linhas seguintes

2.ª linha e linhas 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 até !ITEM=<ITEMnum>.
Subparâmetro (para !ITEM)
SUBITEM Número de subitens de propriedade definidos para cada item de propriedade física
(opcional; assume "1" se omitido)
Nome do subparâmetro Valor do parâmetro Descrição
SUBITEM <subITEMnum> Número de subitens de propriedade definidos pelo utilizador

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

Se o número de entradas na tabela dependente da temperatura for N, introduza-as da seguinte forma:

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
Nome do parâmetro Atributo Descrição
VALmn-k R Valor da propriedade física (dependente da temperatura)
TEMPmn R Temperatura correspondente

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

Quando a temperatura é inferior ou igual a TEMPm1, utiliza-se VALm1; quando é superior ou igual a TEMPmN, utiliza-se VALmN.

【Quando a m-ésima propriedade física não depende da temperatura】

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Nome do parâmetro Atributo Descrição
VALmn-k R Valor da propriedade física (não dependente da temperatura)

Nota:

  • Ocorre um erro se existirem nomes de materiais duplicados.
  • Ocorre um erro se a opção !SECTION referenciar um MATERIAL que não esteja definido.
  • Se, na opção !ELEMENT, forem introduzidas propriedades físicas para cada elemento através do parâmetro MATITEM, esses valores têm precedência. Neste caso, os valores das propriedades físicas introduzidos através da opção !MATERIAL não são utilizados.
  • Ocorre um erro se o número de subopções !ITEM=m não corresponder ao número especificado pelo parâmetro ITEM, ou se alguma subopção não estiver definida.
  • As subopções !ITEM=m não têm de estar ordenadas por valores crescentes de m.
  • Quando se utilizam a subopção SUBITEM=k e a dependência da temperatura, os valores omitidos assumem "0.0".
  • Quando se utiliza dependência da temperatura, as definições devem ser fornecidas por ordem crescente de temperatura.
  • Quando se utiliza dependência da temperatura, ocorre um erro se a mesma temperatura for utilizada duas ou mais vezes.

Exemplo

!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 incorretos

Exemplo 1【O número especificado pelo 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 número especificado pelo 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; corresponde a MATERIAL em !SECTION
ITEM <ITEMnum> Número de itens de propriedades físicas definidos pelo utilizador (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                   --- Define três tipos de valores de propriedades para o material M1
!ITEM=1, SUBITEM=2       --- Define o módulo de Young e o coeficiente de Poisson em !ITEM=1 (obrigatório)
4000.0, 0.3
!ITEM=2                  --- Define a densidade de massa em !ITEM=2 (obrigatória quando ITEM=2)
8.0102E-0
!ITEM=3                  --- Define o coeficiente de expansão térmica linear em !ITEM=3
1.0E-5

Nota:

  • Materiais dependentes da temperatura não podem ser utilizados em 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 físicas 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    --- Define densidade e temperatura em !ITEM=1 (obrigatório)
7850., 300.
7790., 500.
7700., 800.

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

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

Para elementos de interface

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

(Exemplo)

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

O !SECTION acima define os parâmetros da folga para os elementos pertencentes ao grupo denominado GAP num elemento de interface.

  • 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