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.

DiMAT 2023–2025 · Horizon Europe · participación desde AMS
Herramientas digitales de modelización, simulación y optimización de materiales avanzados.

HortiMED 2021–2022 · PRIMA (Horizon 2020) · Universidad de Deusto
Invernaderos y acuaponía en el Mediterráneo. Mi parte: la plataforma de modelado (clima, cultivo de tomate, sistemas acuapónicos e hidropónicos) y tareas de control predictivo.

AGRO-SOFC 2021–2022 · Universidad de Deusto
Simulación de sistemas energéticos acoplados a modelos de invernadero, con análisis de parámetros de control y consumo.
- CONVADP
CONVADP 2020–2021 · ELKARTEK · Cátedra de Matemática Computacional, Deusto
Modulación selectiva de armónicos para convertidores multinivel con métodos de control óptimo, con publicación científica en coautoría.

DyCon 2018–2020 · ERC Advanced Grant · Cátedra de Matemática Computacional, Universidad de Deusto
Control de sistemas dinámicos, dirigido por Enrique Zuazua. Mi parte: el software de control óptimo del proyecto y sus tutoriales.
- PIBA-BLUE
PIBA-BLUE 2018–2019 · PIBA, Gobierno Vasco · DeustoTech Mobility
Localización en interiores. Mi parte: la plataforma de simulación para evaluar los algoritmos.
Software
Herramientas con nombre que diseñé y construí dentro de esos proyectos.

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

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

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

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: 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

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

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
