Blog

Some personal experiences of things people may find complicated.

Installing Firedrake and PETSc from scratch: letting PETSc handle its own dependencies

Debugging a misleading MUMPS error in PETSc: it was not about memory

Generate cubic lattice structures using OpenSCAD

Perform unit testing of Qt programs in GitHub Actions using Docker

Build Qt inside a Docker container for GitHub Actions

Weak (variational) formulation of Navier-Stokes equation

High-performance computing: challenges of performance tuning and scaling of finite element models

Generate volume mesh from a surface mesh using GMSH

Use and import Python packages and modules inside ParaView (PvPython)

Data visualizations inside a web browser using ParaView Glance

Import 3D mesh files into FreeFEM - Part 1

Separating different volume mesh blocks (regions) using FreeFEM

Solving Stefan (moving-boundary) formulation of a diffusion problem - Part 3 - FreeFEM (C++) implementation

Solving Stefan (moving-boundary) formulation of a diffusion problem using numerical and symbolic computing - Part 2

Solving Stefan (moving-boundary) formulation of a diffusion problem using numerical and symbolic computing - Part 1

Deriving weak formulation of partial differential equations

Building OpenFOAM in a Conda virtual environment

Using Conda as a build environment for Linux

Flexibility of having multiple parallel instances of Linux using WSL