Software Development Engineer - Adjoint Methods


What’s the opportunity?

To further sustain and accelerate its growth, NUMECA is looking for a Software Development Engineer - Adjoint Methods to join the NUMECA International team based in Brussels. 

What will you do?

Responsibilities will include:

  • Further develop and gradually extend the inhouse continuous adjoint solver (C++)

  • Further develop and extend the automatic adjoint source code generation

  • Maintain the adjoint solver including versioning

  • Contribute to and support the integration of adjoint solver functionalities in NUMECA’s OMNIS platform, including some graphical user interface aspects (QML)

  • Perform verification and validation tests

  • Follow up on the developments with software quality and application teams 


What’s great about joining this team?

As an adjoint methods software development engineer joining us, you have the unique opportunity to contribute to the next generation of simulation and design environment, which heavily exploits the adjoint solver. You will further develop and gradually extend the inhouse continuous adjoint solver to address all types of flow conditions and multiphysics models available in the primal solver. The particular approach that we follow aims at automating the necessary adjoint code generation in case of new objective functions or additional transport equations defined by the users via OpenLabs. You will develop this unique tool, which will allow you to put your expert knowledge in adjoint methods into action.

Who and what are we looking for from you?

Mandatory technical skills and experience:

  • Master degree or PhD in Engineering, Computer Science, Applied Mathematics or equivalent is a prerequisite, with thesis or similar experience in Computational Fluid Dynamics (CFD)

  • 3 to 5 years of experience with adjoint code development

  • Expert knowledge and hands-on experience with Adjoint Methodology is mandatory

  • Differentiation skills are mandatory

  • Knowledge of fluid dynamics and thermodynamics is mandatory

  • Parsing technique for symbolic differentiation is a plus

  • Very good knowledge of C++

  • Good knowledge of Python

Language skills:

  • Fluent English language is a prerequisite for the role. 

  • Dutch and French are a plus.

You are highly motivated, able to perform independent research and are a self-starter with problem solving attitude. You have the ability to investigate and find the route cause of problems. You  assume full ownership of assigned tasks, and show proactive communication skills on encountered difficulties. You have a team oriented mindset, with a focus on customer needs and product quality.

What do we offer?

We offer to work in a stimulating, young and multicultural environment, and to be part of a dynamic and growing company. We propose  competitive package (including profit sharing) and excellent job growth opportunities and mobility within NUMECA Group. 


Please send a motivation letter and resume plus relevant technical papers, reports, references, etc. to HR Team at Indicate clearly the reference job number DEV19-07