PSAAP: Material point methods for crystal plasticity#

Research Associate#

CU Boulder’s PSAAP Multidisciplinary Simulation Center for Micromorphic Multiphysics Porous and Particulate Materials Simulations Within Exascale Computing Workflows has an opening for a Research Associate to co-lead development of robust, extensible open source software for extreme-scale simulation of large-deformation composite poro-elasto-visco-plastic media across a broad range of regimes with experimental validation and coordination with micromorphic multiscale models.

Successful applicants will have strong written and verbal communication skills, and interest in working with an interdisciplinary team to learn and apply the following to real-world problems:

  • crystal plasticity and viscoelastic material models;

  • software design and implementation of constitutive models;

  • calibration of constitutive models from experimental data;

  • verification and validation of heterogeneous multiphysics models;

  • finite element and material-point discretizations;

  • scalable algebraic solvers using PETSc and hypre;

  • postprocessing and visualization of large-scale simulations;

  • data-intensive computing and in-situ analysis for parallel simulations;

  • collaborative software development and devops (Git, continuous integration, etc.); and

  • maintainable, high-performance programming techniques for CPUs and GPUs.

Salary: $90k to $105k/year depending on experience, plus a comprehensive benefits package. This position can start immediately and is remote-friendly. US citizenship or permanent residency is preferred. Since this project is funded by DOE NNSA, we cannot consider sensitive country foreign nationals.

Please send questions to or apply at CU Jobs.

The University of Colorado Boulder is committed to building a culturally diverse community of faculty, staff, and students dedicated to contributing to an inclusive campus environment. We are an Equal Opportunity employer, including veterans and individuals with disabilities.

Summer Program for Undergraduate Research (SPUR)#

If you are an undergrad student at CU and interested in any of these projects, please email or apply directly with SPUR.

Scientific computing libraries in Rust#

Rust is a new systems programming language that is rapidly growing in popularity, but library support for parallel and GPU-enabled scientific computing remains limited. As compared to the status quo languages of C, C++, and Fortran, use of Rust creates the opportunity to make scientific software more accessible, safe, reliable, easier to extend and maintain, and easier to package and distribute. Our research group has created and contributed to some crates that make production libraries accessible to libraries and applications written using Rust, but there remain many gaps and few examples. This project would address performance, safety, features, and/or examples to make Rust a viable choice for new production scientific software and for incremental porting of existing software.

Automatic differentiation and machine learning in scientific simulation#

Physical models based on partial differential equations (PDE) offer strong generalization and interpretability, including ability to infer unobserved properties. Calibrating such models with observed data often requires propagation of derivatives through PDE solvers, constitutive relations (which describe complex materials), and data layers such as image processing. These components are often written in different languages and possess structure that enable more efficient and accurate differentiation. Enzyme is an exciting new language-agnostic automatic differentiation tool that operates on LLVM intermediate representation. This project will explore use of, and possibly contribution to, Enzyme to represent and compose structure/symmetry-exploiting algorithms found in data-driven PDE-based models. This work may use libraries such as libCEED, PETSc, and CRIKit.

High-performance algorithms for simulation of fluids and structures#

Fluid and solid mechanics are modeled and simulated using partial differential equations, which accounts for a large fraction of compute time in research and industry engineering. Evolving hardware has shifted the relative costs and so-called higher order methods are becoming increasingly attractive from a computational standpoint, but are still rarely adopted in production engineering. Our research group has developed new algorithms and software for such simulations. This project would assess these algorithms on emerging high-performance computing architectures. You’ll learn to construct parallel scalability studies and to assess accuracy in convergence studies, ultimately describing the Pareto-optimal configurations for representative engineering problems. This work will use performance-portable software libraries including libCEED and PETSc.

Research Assistant#

CEED: Dashboard for performance intercomparison#

The Center for Efficient Exascale Discretization (CEED) seeks a research assistant to collaborate in development of a dashboard for comparing performance and accuracy of different software implementations and compute architectures on benchmark problems. Our current prototype uses Altair and Vega-Lite, which we would like to extend for interactive use and ease of data submission.

This hourly position can start immediately and is open to CU students (undergrad or grad). We anticipate being able to support up to 15 hours/week for up to a semester at $20 to $25/hour depending on experience.

To apply, please send a CV and cover letter to