Website Mentor Graphics
Software Engineer – Structural Dynamics and Numerical Methods
In this position, you will design, implement, and maintain high-performance algorithms for Structural Engineering analyses. You will work on the Simcenter Nastran application, primarily in the Structural Dynamics domain. You will be part of the Numerical Methods Group, and report to the Software Engineering Manager for the Dynamics and Numerical Methods Team.
In this role, you will develop in-depth knowledge of dynamics algorithms in Nastran, and in particular performance optimization and parallelization of finite element analyses of structures. These approaches include use of SMP and DMP parallelization, graph-based partitioning, highly scalable iterative and direct sparse solvers, and reduced representations. You will work within an Agile team to help refine and estimate development items supporting customer requirements. You will design, implement, and test new features, and extensions to existing ones, primarily in Fortran. You will address technical debt and help in modernizing our legacy Fortran code. Lastly, you will set an example by using the most modern development approach that is practical for implementing new features.
Your primary responsibilities will be to:
- Work effectively within an Agile Team, by focusing on determining the best algorithmic approach and delivering testable implementations as frequently as possible. You will also be expected to support the team by focusing equally on team and individual goals and embracing opportunities to collaborate.
- Extend current finite element analyses in Nastran to deliver faster and more accurate answers to complex engineering problems through algorithmic enhancements to existing Fortran code.
- Learn to use Nastran-specific utilities for effectively managing system resources, e.g. memory and I/O.
- Work with team members to write effective tests for new and existing code, in support of our zero-regression policy.
- Where necessary, integrate new or upgraded software packages into Nastran, in support of performance improvement initiatives.
- Design and implement high-performance algorithms in Fortran.
- Build, compile, and debug complex Fortran code, both in-house and externally developed.
- Support the goals of the team, via active participation in planning, daily scrum, sprint review, and retrospectives.
- Thoroughly understand core numerical algorithms for Structural Mechanics.
- Fix customer issues in a timely manner, as prioritized in cooperation with the product owner.
Required Knowledge/Skills, Education and Experience:
M.Sc. in Computational Engineering with a focus in Mechanical, Aerospace, or Civil Engineering -or- M.Sc. in Applied Mathematics with a focus in Engineering methods.
- Fortran fluency.
- Deep familiarity with Finite Element Analysis for Engineering problems.
- Performance testing and tuning of numerical software.
- Familiarity with threading toolkits (OpenMP, TBB).
- Familiarity with Message Passing Interface (MPI).
- Experience with legacy Fortran code.
- Familiarity with Software Development best practices.
- Thorough knowledge of Numerical Linear Algebra (BLAS, LAPACK, sparse direct and iterative solvers).
- Team player.
- Excellent English language communication.
- Qualified Applicants must be legally authorized for employment in the United States.
- Work location noted as Cypress CA, with Milford OH a viable alternate.
Preferred Knowledge/Skills, Education, and Experience:
Ph.D. in Computational Engineering with a focus in Mechanical, Aerospace, or Civil Engineering -or- Ph.D. in Applied Mathematics with a focus in Engineering methods.
· Experience with Modern Fortran and/or C++.
· Background in Structural Dynamics simulation.
Some travel (up to 10% time) may be required initially, for more focused interactions with team members in Milford, OH.
Organization: Digital Industries
Company: Siemens Industry Software Inc.
Experience Level: Experienced Professional
Job Type: Full-time
Apply for job
To view the job application please visit jobs.siemens.com.