Proyectos

Los proyectos de investigación en los que trabajé, con lo que hice en cada uno. Debajo, el software que salió de ellos y mis desarrollos propios; cada ficha enlaza con aquella de la que nace.

Proyectos de investigación

Proyectos europeos y regionales de I+D en los que trabajé, con lo que hice en cada uno.

Software

Herramientas con nombre que diseñé y construí dentro de esos proyectos.

  • Paquetes de onda girando sobre una malla no uniforme, discretizada con diferencias finitas

    DyCon Toolbox

    Nace de DyCon (ERC Advanced Grant)

    Toolbox de MATLAB del proyecto ERC DyCon para control óptimo no lineal: derivadas por diferenciación automática (CasADi), método directo con IPOPT e indirecto con el adjunto. Documentada y con tutoriales publicados, como el de ondas discretas en mallas no uniformes.

    MATLAB · CasADi · IPOPT

  • HORTISIM

    Nace de HortiMED (PRIMA (Horizon 2020))

    Librería de Simulink para montar el modelo de un invernadero a partir de piezas: clima con balances de energía, vapor y CO₂, ventanas, pantalla, calefacción, nebulización, cultivo de tomate, sustrato y riego, y tanques de acuaponía.

    MATLAB · Simulink

Desarrollos propios

Simulaciones que hago por mi cuenta, en abierto, con artículo, código y visor en el navegador.

  • Una pila SOFC en 3D con una celda resaltada y, al lado, su despiece: interconectores de acero con canales, cátodo, electrolito y ánodo

    Una pila SOFC por dentro

    Nace de AGRO-SOFC

    Una pila de combustible de óxido sólido de 30 celdas, simulada en el navegador con biogás: de dónde sale su tensión, qué la limita y cuánta electricidad y calor da. Calibrada con medidas públicas y con su geometría en 3D.

    JavaScript · React · Three.js · Python

  • Tres perros, con sus estelas, empujan un rebaño de 200 ovejas hacia el círculo del objetivo

    Pastoreo: de la heurística al control óptimo

    Tres perros y 200 ovejas como dinámica de partículas. La regla heurística se compara con la trayectoria que sale de minimizar un coste con CasADi e IPOPT, lado a lado y con el mismo modelo: el óptimo llega gastando diez veces menos.

    Python · CasADi · IPOPT · LAMMPS

  • Interior del invernadero en 3D: hileras de tomateras con tomates verdes, anaranjados y rojos

    Un invernadero por piezas

    Nace de HORTISIM

    La idea de HORTISIM en el navegador: cubierta, aire, cultivo y suelo como balances de energía, vapor y CO₂ unidos por flujos, en un diagrama vivo. Modelo traducido y validado frente al original, con el tiempo de HortiMED.

    JavaScript · React Flow · Python

  • Una onda escalonada sobre la senoide que aproxima y, debajo, su espectro: el fundamental alto y los armónicos eliminados a cero

    Armónicos a la carta

    Nace de CONVADP (ELKARTEK)

    La eliminación selectiva de armónicos como control óptimo convexo, resuelta en el navegador, y el conjunto exacto de armónicos que puede alcanzar una onda escalonada. Continuación de la línea de CONVADP.

    JavaScript · Python · Optimización convexa

  • Nanohilo de cobre partiéndose por el cuello, con las fallas de apilamiento en ámbar

    Nanohilo de cobre: de LAMMPS al navegador

    Ensayo de tracción por dinámica molecular hasta la rotura, con el potencial EAM validado antes de medir. Python exporta la trayectoria a un binario propio y un visor three.js la dibuja en vivo: 5780 átomos y 80 fotogramas en 793 KiB.

    LAMMPS · Python · three.js

  • Grulla de origami terracota en 3D, ya plegada, con las alas abiertas y los pliegues marcados

    Una grulla, cara a cara

    Una grulla de origami plegada en el navegador sobre una sola hoja de 88 caras rígidas, con el error de cierre de cada paso comprobado. De ahí sale Grullu, la mascota de esta web.

    TypeScript · Three.js · Geometría

  • Átomos de un cristal 2D alrededor de la punta de una grieta: detrás, abiertos y en azul; delante, tensos y en ámbar

    Una grieta atravesando un cristal

    Fractura frágil en un cristal 2D de Lennard-Jones. Antes de romper nada, las constantes elásticas se comparan con la fórmula de Born; después, la velocidad de la punta con la de Rayleigh. Visor en canvas 2D para diez mil átomos por fotograma.

    LAMMPS · Python · Canvas 2D