A DAG-based computational environment for finite element simulations, workflow orchestration, and automated hyperparameter optimization.
📚 Technical blog: https://ghost.elfenec.org
This animation is generated from:
👉 notebooks/poutre.ipynb
It demonstrates the execution of a full computational pipeline using Link, a JupyterLab extension that transforms notebook cells into DAG-based workflows.
It includes:
- FEM simulation pipeline execution
- Automated mesh convergence study
- Hyperparameter optimization (nx, ny, nz)
- Execution tracking and caching system
This workflow replaces manual convergence studies with automated optimization driven by the Link DAG system.
Pull and run the environment:
docker pull elmamza/fenics-link
docker run -p 8888:8888 elmamza/fenics-linkThen open:
http://localhost:8888
DAG provides a unified environment for scientific computing workflows based on a directed acyclic graph execution model.
It is designed to simplify the construction of complex numerical pipelines involving simulation, analysis, and optimization.
- Finite element simulations (2D / 3D)
- DAG-based workflow execution in JupyterLab
- Hyperparameter optimization pipelines
- Execution caching for efficient recomputation
- Interactive scientific computing environment
- Reproducible numerical experiments
A typical workflow consists of:
- Define simulation parameters
- Run FEM simulation
- Compute objective function
- Evaluate results
- Optimize parameters iteratively
- Computational mechanics research
- Finite element analysis (FEniCSx workflows)
- Numerical optimization experiments
- Teaching FEM concepts interactively
The environment includes:
- Python scientific stack
- FEniCS / FEM solver backend
- Visualization libraries
- JupyterLab interface
- Optimization framework support
- Designed for reproducible computational workflows
- Runs entirely in containerized environment
- No local installation required
DAG aims to unify simulation and optimization workflows into a single structured, reproducible computational environment.
