Saltar a contenido

!MATERIAL

Definición de las propiedades del material

Si las propiedades dependen de la temperatura, pueden introducirse en forma de tabla para cada temperatura correspondiente.

1.ª línea

!MATERIAL, NAME=<name> [, parámetro opcional]
Parámetro
NAME Nombre del material (obligatorio)
ITEM Número de propiedades del material (opcional; si se omite, toma el valor "1")
INPUT Nombre de archivo externo (opcional)
Nombre del parámetro Valor del parámetro Descripción
NAME <name> Nombre del material
ITEM <ITEMnum> Número de propiedades del material definidas por el usuario
INPUT <filename> Nombre de archivo externo (opcional); también puede utilizarse junto con la 2.ª línea y siguientes

2.ª línea y siguientes

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

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

Repetir la definición hasta !ITEM=<ITEMnum>
Subparámetro (para !ITEM)
SUBITEM Número de subpropiedades definidas para cada propiedad del material
(opcional; si se omite, toma el valor "1")
Nombre del subparámetro Valor del parámetro Descripción
SUBITEM <subITEMnum> Número de subpropiedades definidas por el usuario

【Cuando la propiedad del material m-ésima depende de la temperatura】

Si la tabla dependiente de la temperatura contiene N elementos, introdúzcalos de la forma siguiente:

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k, TEMPm1
VALm2-1, ..., VALm2-k, TEMPm2
...
VALmN-1, ..., VALmN-k, TEMPm-N
Variable Tipo Descripción
VALmn-k R Valor de la propiedad (dependiente de la temperatura)
TEMPmn R Temperatura correspondiente

Debe cumplirse TEMPm1 < TEMPm2 < ... < TEMPmN.

Se utiliza VALm1 cuando la temperatura es igual o inferior a TEMPm1, y VALmN cuando la temperatura es igual o superior a TEMPmN.

【Cuando la propiedad del material m-ésima no depende de la temperatura】

!ITEM=m, SUBITEM=k
VALm1-1, ..., VALm1-k
VALm2-1, ..., VALm2-k
...
VALmN-1, ..., VALmN-k
Variable Tipo Descripción
VALmn-k R Valor de la propiedad (sin dependencia de la temperatura)

Nota:

  • Se produce un error si hay nombres de material duplicados.
  • Se produce un error si la opción !SECTION hace referencia a un MATERIAL que no está definido.
  • En la opción !ELEMENT, si se introducen propiedades para cada elemento mediante el parámetro MATITEM, esos valores tienen prioridad. En tal caso no se utilizan los valores de las propiedades introducidos mediante la opción !MATERIAL.
  • Se produce un error si el número de subopciones !ITEM=m no coincide con el número indicado por el parámetro ITEM, o si hay alguna subopción sin definir.
  • Las subopciones !ITEM=m no tienen que estar ordenadas en orden ascendente de m.
  • Cuando se utilizan la subopción SUBITEM=k y la dependencia de la temperatura, los valores omitidos se toman como "0.0".
  • Cuando se utiliza dependencia de la temperatura, las definiciones deben darse en orden ascendente de temperatura.
  • Cuando se utiliza dependencia de la temperatura, se produce un error si se usa la misma temperatura dos o más veces.

Ejemplo

!MATERIAL, NAME= STEEL, ITEM= 2
!ITEM=1 Sin dependencia de la temperatura
35.0
!ITEM=2
40.0, 0.0
45.0, 100.0
50.0, 200.0

!MATERIAL, NAME= COPPER         Número de elementos = 1 (valor predeterminado)
!ITEM=1 Sin dependencia de la temperatura
80.0

Ejemplos de uso incorrecto

Ejemplo 1【El número del parámetro ITEM y el número de subopciones !ITEM=m no coinciden -1】

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

Ejemplo 2【El número del parámetro ITEM y el número de subopciones !ITEM=m no coinciden -2】

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

Análisis estático elástico y análisis modal

!MATERIAL, NAME=<name>, ITEM=<ITEMnum>
!ITEM=1, SUBITEM=2
<Young_modulus>, <Poisson_ratio>
!ITEM=2
<Density>
!ITEM=3
<Expansion_coeff>
Nombre del parámetro Valor del parámetro Descripción
NAME <name> Nombre del material; corresponde a MATERIAL en !SECTION
ITEM <ITEMnum> Número de propiedades del material definidas por el usuario (1 o más)
<Young_modulus>-----Módulo de Young (obligatorio)
<Poisson_ratio>-------Coeficiente de Poisson (obligatorio)
<Density>--------------Densidad de masa (obligatoria cuando ITEMnum=2)
< Expansion_coeff >--Coeficiente de expansión lineal (cuando ITEMnum=3)

(Ejemplo)

!MATERIAL, NAME=M1,
ITEM=3                   --- Para el material M1 se definen tres tipos de valores de propiedad
!ITEM=1, SUBITEM=2       --- !ITEM=1 define el módulo de Young y el coeficiente de Poisson (obligatorio)
4000.0, 0.3
!ITEM=2                  --- !ITEM=2 define la densidad de masa (obligatoria cuando ITEM=2)
8.0102E-0
!ITEM=3                  --- !ITEM=3 define el coeficiente de expansión lineal
1.0E-5

Nota:

  • En el análisis modal no se pueden utilizar materiales dependientes de la temperatura.

Análisis de conducción térmica

Para elementos de enlace, planos, sólidos y 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>
Nombre del parámetro Valor del parámetro Descripción
NAME <name> Nombre del material; corresponde a MATERIAL en !SECTION
ITEM <ITEMnum> Número de propiedades del material definidas por el usuario (siempre 3)
<Density>----------Densidad
<Specific_heat>----Calor específico
<Conductivity>-----Conductividad térmica
<Temperature>------Temperatura

(Ejemplo)

!MATERIAL, NAME=M1,
ITEM=3                   --- Para el material M1 se definen tres tipos de valores de propiedad

!ITEM=1, SUBITEM=1       --- !ITEM=1 define la densidad y la temperatura (obligatorio)
7850., 300.
7790., 500.
7700., 800.

!ITEM=2, SUBITEM=1       --- !ITEM=2 define el calor específico y la temperatura (obligatorio)
0.465, 300.
0.528, 500.
0.622, 800.

!ITEM=3                  --- !ITEM=3 define la conductividad térmica y la temperatura (obligatorio)
43., 300.
38.6, 500.
27.7, 800.

Para elementos de interfaz

Se define en la cabecera !SECTION. (No se requieren datos del material)

(Ejemplo)

!SECTION, TYPE=INTERFACE, EGRP=GAP   --- Definición de la sección
1.0, 20.15, 8.99835E-9, 8.99835E-9

En la !SECTION anterior se definen los parámetros de holgura de los elementos de interfaz pertenecientes al grupo con nombre=GAP.

  • 1.er parámetro: anchura de la holgura
  • 2.º parámetro: coeficiente de transferencia térmica de la holgura
  • 3.er parámetro: coeficiente de radiación de la holgura 1
  • 4.º parámetro: coeficiente de radiación de la holgura 2

Referencia

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