Multi-physics simulation software development using C++