Yes, I can see many similarities.
- Your code specifies design constraints--you need it to do X and Y and Z.
- The engine designers needed the engine to fit in X and operate at Y temperature and not blow up (Z).
- The compiler takes your instructions and optimizes them for the processor instruction set. - This program optimizes the engine design for the physics instruction set.
It seems like both represent huge productivity leaps from laboriously making things in the original low-level languages.