FEM-AGENT combina herramientas de programación, simulación y optimización con una capa de inteligencia artificial. En este primer tutorial nos centramos en la plataforma de simulación y la usamos de principio a fin, sin IA, con un caso real: caracterizar un material a partir de un ensayo de indentación esférica.
El objetivo es partir de una curva experimental carga-profundidad y obtener los parámetros del material que la reproducen. Por el camino veremos el modelado, el cálculo paramétrico, los modelos subrogados y la optimización. En el próximo tutorial haremos exactamente lo mismo, pero dándole las instrucciones a un asistente de IA en lenguaje natural.
1. Crear el proyecto
Empezamos creando un proyecto nuevo desde la pantalla inicial.

2. Geometría axisimétrica
El ensayo tiene simetría de revolución, así que basta con un modelo axisimétrico 2D:
- Probeta rectangular de 10 × 5 mm, con la herramienta Rectángulo.
- Indentador esférico de radio 2 mm, con la herramienta Sector circular. En un modelo axisimétrico solo hace falta el perfil del indentador en la sección meridiana.


3. Mallado
Con la herramienta Fields refinamos la malla en la zona de contacto, que es donde aparecen los mayores gradientes de tensión y deformación. Así ponemos elementos donde importan y no en el resto del modelo.

4. Materiales
Definimos los dos materiales, poliamida PA66 para la probeta y acero para el indentador, y los asignamos a sus secciones.

5. Contacto
Seleccionamos las caras que van a tocarse y definimos una superficie master y otra slave. Como master conviene usar la superficie más rígida, aquí el indentador de acero frente a la probeta de PA66.

6. Step de cálculo y condiciones de contorno
Creamos un Step STATIC y pedimos que se guarden resultados en 10 instantes, para obtener una curva continua. Las condiciones de contorno son:
- desplazamiento vertical restringido en la base de la probeta;
- desplazamiento horizontal restringido en el eje de simetría;
- desplazamiento vertical de −0,1 mm impuesto en la cara superior del indentador.



7. Ejecutar y dibujar la curva carga-profundidad
Lanzamos el cálculo y abrimos Plots:
- Eje X: campo D2 (desplazamiento vertical) del node set del indentador, con el signo cambiado para que la profundidad salga positiva.
- Eje Y: campo F2 (reacción vertical) del mismo node set, también con el signo adecuado.



8. Material elastoplástico y ciclo de carga-descarga
Hasta aquí el material era elástico lineal. Para acercarnos al ensayo real lo cambiamos a elastoplástico (Ramberg-Osgood) y simulamos carga y descarga.

Para ello definimos dos Steps STATIC, uno de carga y otro de descarga.
Importante: el segundo step necesita las condiciones de contorno finales. En el node set del indentador hay que imponer UY = 0 para que descargue hasta la posición inicial.


9. Barrido paramétrico
Queremos ver cómo influyen los parámetros n y alpha de Ramberg-Osgood en la curva. Para estudiar una sola variable, lo más directo es un Parametric Sweep:
- Definimos la variable como parámetro del modelo y la usamos en la definición del material de la probeta.
- Creamos el barrido indicando el parámetro, su rango y el número de puntos.
- Seguimos el avance en Results and curves. El estado Completed indica que la simulación ha terminado bien, y mientras corre podemos ir revisando curvas para comprobar que la respuesta es razonable.



10. Modelo subrogado
Si queremos variar varios parámetros a la vez y optimizarlos, el número de simulaciones crece muy deprisa. La solución es un modelo subrogado: lanzamos una batería de simulaciones variando n y alpha y entrenamos con ellas un modelo que reproduce el cálculo de elementos finitos con un coste mucho menor.
Definir la salida. En Results creamos un output de tipo Curve y elegimos la curva carga-desplazamiento. El parámetro Curve points fija con cuántos puntos se discretiza la salida. La llamamos CARGA_DESCARGA.

Crear el estudio. En Studies → New Study seleccionamos el proyecto.
Espacio de diseño. En Edit elegimos las variables de entrada entre los parámetros del proyecto y les damos límites inferior y superior. Como salida aparece la curva que acabamos de definir.



Datos experimentales. Podemos importarlos para verlos junto a las curvas simuladas y usarlos después en la optimización. Si el modelo tiene varios steps, se introducen separados por step.

Generar los datos. Elegimos el tipo de muestreo y el número de puntos (Points). Cada punto es una simulación; cuantos más puntos, más fiable será el subrogado dentro del dominio.


Entrenar. Elegimos el método de entrenamiento y revisamos la tabla de validación cruzada, las métricas de error y el gráfico de valores reales frente a predicciones.


11. Optimización: ajustar el material al ensayo
Con el subrogado listo buscamos los valores de n y alpha que mejor reproducen la curva experimental CARGA_DESCARGA_EXP.
Al crear el problema de optimización podemos minimizar o maximizar una salida, definir una expresión objetivo o ajustar una curva. Elegimos esta última opción, con la curva del subrogado (CARGA_DESCARGA) frente a la experimental. En las opciones avanzadas se pueden cambiar la función de pérdida y el algoritmo, o añadir restricciones.

Tras unas 2.400 evaluaciones sobre el subrogado, el resultado es n = 8,62 y alpha = 0,745. La plataforma muestra la convergencia, el mapa de diseños evaluados y los tres mejores candidatos.

12. Verificar con el modelo real
El subrogado es una aproximación, así que el último paso es comprobarlo. El botón Verify solution #1 with the real model lanza una simulación de elementos finitos con los parámetros óptimos y la compara con los datos experimentales.

Por último, Restore model at the optimum guarda el proyecto con los parámetros óptimos, listo para seguir trabajando.

Resumen
En un solo entorno hemos pasado de un ensayo de laboratorio a un material calibrado: geometría → malla → contacto → cálculo → barrido paramétrico → modelo subrogado → optimización → verificación. Todo con CalculiX como solver y sin escribir una línea de código ni usar IA.
En el próximo tutorial repetimos el mismo caso hablándole a FEM-AGENT en lenguaje natural.
¿Quieres verlo en directo con tu propio caso? Solicita una demo.
