Block copolymer for functional nano materials
Self-assembly of block copolymers allows access to the nano meter scale by controlling the chemistry of the polymeric blocks. Understanding the formation, processing and properties of the resulting morphologies is a challenge with many open questions. The materials have to be tailored for each of the possible applications: battery electrolytes, molecular membranes, or optical meta-materials.
Open source development
SOMA is an implementation of the SCMF algorithm for soft, polymeric materials. It is fully implemented in C with OpenACC pragmas for multi-GPU acceleration on modern high-performance supercomputers such as the JUWELS Booster, SUMMIT, or ThetaGPU. I am the lead developer for this project and enforce strict software engineering principles, join us with the development. SOMA has been selected by SPEC to be part of their recent HPC benchmark to quantify new machines with real world applications.
Software engineering in science
Unfortunately, scientific software is not always developed to the highest standards of modern software engineering. For all projects I am involved with, I am trying to elevate the standards of the code. I am an advocate for open source software and support initiatives for higher quality code in science.
PySAGES:
No compromises in usability and speed for enhanced-sampling methods!
Molecular dynamics (MD) simulations are powerful tools to investigate the static and dynamic properties of a given system. However, even with modern computer architecture and the fastest simulation software, computation time is limited and valuable. As a result, exploring a system by unbiased MD is insufficient to obtain good statistics, especially if the free-energy landscape is separated by high barriers. To still investigate systems with high energy barriers, enhanced-sampling methods have been established. Typically, a configuration can be reduced to a collective variable (order parameter), and the simulation is biased based on these collective variables. The challenge for computer simulations is that i) almost every interesting system has its own collective variable description and ii) the implementation of collective variables and methods has to run efficiently on modern computers, to allow reasonable insights into the observable of interest.
PySAGES addresses these challenges by offering a python interface between highly optimized simulation engines and the researcher to implement collective variables and enhanced-sampling methods. If you are new to advanced sampling techniques, you can try out this interactive introduction. with PySAGES. Even better, PySAGES already provides an extensible framework to compute collective variables and to perform enhanced-sampling MD simulations to discover reaction pathways and estimate free energies. Most research objectives are achievable by using these implemented collective variables and methods. PySAGES currently supports automatically connecting these methods to HOOMD-blue and OpenMM. Both engines offer a python interface to the user and implement the simulation on GPUs for best performance. PySAGES interacts with both backends directly on the GPU memory; copying between GPU and host memory is not required. This approach allows biased simulations without slowing the backend simulation engines down. PySAGES still implements all methods and collective variables as pure python for access and modification.