Postdoctoral Researcher Opening: Advancing Biomechanical Modeling By Improving SymPy Code Generation (x/f/m)


This job has been filled and is no longer open.

czi-logo sympy-logo


The TU Delft Bicycle Lab is seeking a postdoctoral researcher for a 1 year equivalent contract (full or part time). You will work on a sub-project of SymPy's "Improving Foundational Open Source Symbolic Mathematics for Science" grant funded by the Chan-Zuckerberg Foundation’s “Essential Open Source Software for Science" program. The purpose of the overall grant is to improve the SymPy Python symbolic mathematics library in the key areas of performance, code generation, and documentation. The full grant proposal is available publicly on Figshare.

We believe SymPy is the most widely used general purpose open source computer algebra system (CAS). The software is over 16 years old and has over 800k downloads per month on PyPi. It is a full featured CAS, with over 700k lines of Python code. The SymPy paper (Meurer, Aaron, et al. "SymPy: Symbolic computing in Python." PeerJ Computer Science 3 (2017): e103.) describes the software and some of its uses.

Code generation plays a central role in SymPy’s roadmap for supporting scientific codes. The code generation roadmap prioritizes usability, generating high performance code, and supporting a wide array of languages. This postdoctoral research project will focus on improving usability and performance of code generation guided by a performance critical musculoskeletal model application. This model will be adopted from a bicycle vehicle model and a human upper body and arm model. This human-vehicle model includes stiff dynamics, holonomic and nonholonomic constraints, thousands of algebraic operations, and complex force definitions; all features that strain SymPy’s ability to best competitors in advanced biomechanical simulations.

The postdoctoral research project has two primary outcomes:

  1. Improve SymPy’s numerical code generation capabilities for general use cases.
  2. Develop a musculoskeletal driven bicycle model that demonstrates domain specific improvements to the code generation capabilities of SymPy.

The developed software will be contributed to SymPy as open source software (BSD) and the modeling results will be submitted to appropriate scientific journals.

You will simultaneously work as a member of the TU Delft Bicycle Lab and the SymPy development team. You will work with BSc, MSc, and PhD candidates in the lab as well as members of the SymPy community. You will work with and be directly mentored by Jason K. Moore.

This position offers flexible work hours, the possibility of remote work (country dependent), and the possibility of full or part time work.

Opportunities for growing your academic career will be available, such as mentoring BSc/MSc Students and PhD candidates, conference presentations, networking, teaching, and grant writing.


You should have:

  • A STEM Ph.D. by the start date of the position
  • Proficiency with the Python programming language
  • Good written and oral communication skills in English

The following skills will help you stand out:

  • Open source software contribution best practices and experience
  • Experience with SymPy
  • Experience with symbolic computation, numerical computing, and/or code generation
  • Experience with C/C++ or Fortran
  • Computational multibody dynamics experience
  • Musculoskeletal modeling experience

Keep in mind that this describes the background we imagine would best fit the role. Even if you do not meet all of the requirements and feel that you are up for the task, we absolutely want to see your application!

Diversity and Inclusion

The TU Delft Bicycle Lab and SymPy are committed to advancing diversity, equity, and inclusion efforts across open source software development with this position, aligning with CZI’s goals. We especially encourage applicants from underrepresented groups in open source software to apply.

TU Delft values a safe, inclusive and diverse work environment. To reinforce that, we have committed ourselves to the joint Statement Social Safety of the Association of Universities in the Netherlands and the National Action Plan for Diversity and Inclusion. In addition to that, we have a Social Safety Programme.

To Apply

Submit (in PDF format) a 1 page cover letter explaining your motivation and fit for the position, a C.V., one example peer reviewed scientific publication where you are the primary author, and examples of your Python software development proficiency (URLs to public code are encouraged).

Visit TU Delft's website to find more employment details and apply for the position (vacancy number: TUD01994):

Applications Due February 28, 2022

Additional information

For more information about this vacancy, please contact Jason Moore, email:

For information about the selection procedure, please contact Anita van Vianen, HR Advisor, email: