Integración de Microestructura EBSD en Simulaciones de Plasticidad con Abaqus

La fidelidad microestructural es un requisito indispensable antes de iniciar cualquier simulación en el antorno CAE. Los archivos .ctf generados por equipos de difracción de electrones retrodispersados contienen información crucial sobre orientación cristalográfica y fases, la cual requiere un saneamiento previo mediante scripts automatizados.

El siguiente script en Python extrae y estructura la información espacial:

import numpy as np
from scipy.spatial import cKDTree

def cargar_microestructura(ruta_archivo):
    raw_info = np.loadtxt(ruta_archivo, skiprows=15)
    id_granos = raw_info[:, 7].astype(int)
    euler_angles = raw_info[:, 3:6]
    arbol_espacial = cKDTree(raw_info[:, :2])
    return arbol_espacial, id_granos, euler_angles

Esta rutina indexa los puntos de escaneo dispersos, facilitando la asignación posterior de propiedades anisotrópicas. Es vital verificar que la columna de identificación de granos corresponda con la configuración del equipo utilizado.

Configuración de Propiedades del Material

Para aleaciones de aluminio sometidas a laminación, los modelos de endurecimiento mixto ofrecen mayor precisión que las leyes plásticas estándar. La definición mediante scripting permite controlar los parámetros de endurecimiento:

mdb.models['Simulacion_Micro'].materials['Aleacion_Al'].Plastic(
    hardening=COMBINED, 
    table=((480.0, 0.0, 0.75), (580.0, 0.12, 0.55))
)

Los coeficietnes de la tercera columna deben ajustarse en función del tamaño de grano medio obtenido experimentalmente; estructuras de grano grueso suelen requerir una reducción en el índice de endurecimiento.

Estrategia de Mallado

La densidad de la malla debe aumentar en las fronteras de grano para capturar gradientes de orientación. Utilizando las herramientas de optimización topológica de Abaqus:

mdb.models['Simulacion_Micro'].parts['Probeta'].seedPart(
    deviationFactor=0.04, 
    minSizeFactor=0.15
)
session.viewports['Viewport: 1'].partDisplay.setValues(mesh=ON)
session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(
    meshTechnique=ON
)

Un factor de desviación reducido permite identificar bordes con diferencias de orientación superiores a 5 grados, esencial para analizar concentraciones de tensión. Evite usar los puntos de escaneo directamente como nodos para no incrementar excesivamente el coste computacional.

Asignación de Materiales por Elemento

La transferencia de la estructura de granos real al modelo numérico se realiza iterando sobre los elementos y consultando el árbol espacial:

for elem in part.elements:
    x, y = elem.coord
    indice_cercano = arbol_espacial.query([x, y])[1]
    id_material = id_granos[indice_cercano]
    elem.setValues(material=id_material)

Es necesario asegurar la alineación entre el sistema de coordenadas del escaneo EBSD y el modelo de elementos finitos, aplicando transformaciones afines si fuera preciso.

Implementación de Subrutina UMAT

Para incorporar plasticidad cristalina, se requiere una subrutina personalizada que lea las orientaciones iniciales. Un esqueleto básico en Fortran incluye:

      SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
      
      REAL:: shearRate(12), tauCrit(12)
      ! Cargar orientación inicial desde archivo binario
      CALL leerOrientacionEBSD(NOEL, orientacionInicial)
      ! Actualizar tensión crítica de cizallamiento
      DO i=1,12
          tauCrit(i) = props(1)*exp(-props(2)*STATEV(i))
      END DO
      ! Cálculo de incremento de deformación plástica
      ! ... implementación numérica ...
      END

La rutina leerOrientacionEBSD debe acceder a los datos preprocesados. Verifique estrictamente la correspondencia entre el número de elemento NOEL y los índices experimentales.

Validación y Ajuste de Parámetros

Compare los mapas de tensión de Mises resultantes con las imágenes de backscatter. Si los valores en los bordes de grano subestiman la experimentación en un 30%, revise los umbrales de activación de sistemas de deslizamiento. El orden de calibración recomendado es: coeficientes de endurecimiento, sensibilidad a la tasa de deformación y finalmente la tensión crítica resuelta.

Consideraciones técnicas finales:

  • El tamaño de elemento debe ser 1.5 a 2 veces el paso de muestreo EBSD para evitar artefactos de aliasnig.
  • Utilice interpolación lineal esférica (SLERP) para orientaciones cristalinas en lugar de interpolación lineal estándar.
  • Configure la salida de variables de estado (STATEV) para permitir la depuración posterior del modelo constitutivo.

Etiquetas: Abaqus EBSD Python FEM CrystalPlasticity

Publicado el 9-27 21:08