Abstract : Industrial simulation software have to manage: i) the complexity of the underlying physical models, ii) the complexity of numerical methods used to solve the PDE systems, and finally iii) the complexity of the low level computer science services required to have efficient software on modern hardware. Generative programming and domain-specific languages (DSL) are key technologies allowing to write code with a high level expressive language and take advantage of the efficiency of generated code for low level services. We focus then on the capability of such language to allow the description and the resolution of various and complex problems with different lowest-order methods. We validate the design of the DSL that we have embedded in C++, on the implementation of several academic problems with various methods. We illustrate the benefits of such technology to handle seamlessly new heterogeneous architectures with multi-core processors enhanced by GPU-GPUs, thanks to the clear separation between the high level of abstractions enabling to design numerical methods and the low level layers required to have performance on new hybrid architectures.