A context-aware C++ expression system for scalable simulations of PDEs
Numerically solving coupled nonlinear PDEs is a challenging task. Implementing such simulations in scalable and efficient parallel computer codes further adds to the challenge. In applications such as systems biology or biological physics, the models in addition frequently change, requiring rapid rewriting and adaptation of the computer code without losing scalability. We address this problem by presenting a context-aware high-performance numerical simulation framework that provides an operator-expression language implemented in C++ using template meta-programming. We detail the framework and illustrate its use for simulating active fluid models in 3D geometries. More specifically, we present a parallel mesh-free collocation solver for Poisson equations with arbitrary boundary conditions. We further couple this Poisson solver with a pressure-correction scheme in a Lagrangian frame of reference in order to numerically solve the nonlinear PDEs modeling incompressible active polar gels.