AI solver templates, template repository, and UI for running Modulus code

First of all, I’d like to thank the Modulus team for building an incredibly helpful tool for scientists and engineers.

My partner and I have been writing many “AI Solvers” with Modulus in the last 6 months, and saw the potential of leveraging AI in solving PDEs. However, after writing many Modulus solvers, we were left hoping that there was a higher-level software to do the following things:

  1. Central (open-source) repository of solver templates - this would allow the solvers to be repurposed or just reused as-is, if the problem is identical, so you don’t have to write one from scratch.
  2. Pre-trained models for solver templates - this would allow users to quickly iterate without having to train the models from scratch. For example, the pre-trained models can be shared via Huggingface along with a solver template, similar to how LLMs get shared between users today.
  3. UI for browsing solver templates and building a new solver using a template - this would allow users to rapidly iterate without having to change any code, as the template author specifies which parameters are allowed to be modified from the UI.

With these ideas in mind, we’ve built the very first version of the software that we had envisioned. It’s still a bit early, but we wanted to share what we have built so far to see if there are other people in the space that share a similar interest.

This is the main page of our app. On this page, you can browse existing solver templates and select which template you’d like to use to train a new solver. You can also manage previously trained solvers here.

After selecting a solver template to work with, you then provide the input for the problem that you’re trying to solve e.g. upload an STL file (if needed), enter problem-specific parameters, model training parameters, etc. And when these inputs aren’t enough, you also have an option to upload a *.zip file to provide an “additional input” to your solver (everything uploaded on this page will become available to the solver template at runtime).

Once you’ve provided the input for your problem, you’re now ready to train your model and make predictions. We’ve also made it easier to visualize the validation data (predicted vs computed), and your output, assuming that the solver template comes with a post-processing script that generates a *.vtx file.

With these features, I think the app is almost ready to be shared with more people i.e. open-sourced. After all, our goal is to bring the scientific computing community together to share our solvers with each other to minimize duplicate work and to learn from each other. But before we do that, we’d like to work with a few partners initially to build a set of solver templates that are applicable to real-world use cases.

Please message me if you’re interested in trying out the initial version of our software and/or building a solver template with us.

1 Like