Modular design with separate components for boundary conditions, initial conditions, and solver Support for different boundary conditions (Dirichlet, Neumann) Configurable domain size, resolution, and ...