Since more than a year, I've started to work on a software made to administer electric vehicle charging infrastructure at SAP Labs France, called e-Mobility. One of the most important task when it comes to design that kind of software is to properly model the electrical components that will be handled by the core code. And there's two things that shall be avoided here: over simplification and over engineering in the model. Over simplification will lead to miss important physics interaction in the components that will require a code rewrite and over engineering, to complex code with hard calculation to maintain in the long run. So, I've started to write down some guidelines that shall be followed if you want to have:

  • calculation done always within the natural integer set ;
  • reducing as much as possible division that is an expensive operation on a computer (more than 2 times the CPU cycles and computation than multiplication). It will also require some expensive rounding operation to display an integer value in some case ;
  • recursive combinaison of electrical components.

The in progress wiki page is available here: