ELEMD

Electrochemical modelling and software genericity. This contribution presents the major design abstractions identified in the course of an object-oriented C++ software project, named ELEMD, for solving a system of partial differential equations numerically. The main application area of this project is electrochemical modelling where the complex interaction between electrochemical mass and charge transport on one hand and the flow phenomena in the electrolytic solution on the other hand are to be modelled in an integrated manner. The most important abstractions in ELEMD deal with the analytical equations to be solved, the local discretization schemes, the material properties, iterative schemes, etc. They were often the result of evolving requirements imposed on the project.