Student Project: First time contributors

Hello, I am a college engineering student at the University of Michigan taking a Software Engineering course. Similar to a post from exactly a year ago, the final course homework is an open-source project so my partner and I wanted to find any way we could contribute to OpenMC for the next 3 weeks.

Since the last post on this topic was from April 2023, I wanted to ask about any new issues for first-time contributors that are both nontrivial and on the simpler side. We’d also need a task with QA necessity (similar to last year’s) so just making sure the Coveralls.io would still be the way to go. We’d love to hear your recommendations as we are interested in the project, but this would be our first contribution to any open-source project so we want to make sure anything we did could be useful. Any ideas and direction would be greatly appreciated!

Hi Hsameer

Welcome to the community. Great that you are keen to help out with openmc. I think increasing the coverage would be most welcome. I think last year the students added some more type hints to files with missing type hints. There is a live issue board which has lots of unsolved topics to work on. I just made one and tagged it with First-Timers-Only which might be suitable.

Here is a link to the issue board for you interest
Issues · openmc-dev/openmc (github.com)

Hello Shimwell! Great to hear from you. We added the one you tagged and a couple of others to our list of tasks for this project. We appreciate the help and direction and look forward to contributing these goals to OpenMC. Is there a way for that issue to be assigned to us as we are currently working through it and just needed some time to get comfortable with the current code?

Hello Sameer. I am also a student at umich and happened to see this post. There was a feature that I wish OpenMC had when I was using it for a project a few months ago that I feel may be of interest to you if it is appropriate to your project. Essentially, I wanted to be able to store depleted material compositions and then recall them into the code for a new simulation run. I wanted this so that a burn history could be readily simulated, and the depleted fuel compositions could be easily swapped in and out between depletions, emulating fuel elements being swapped out in FNR. How I envisioned this working is being able to store a particular depleted material composition under a keyname (the name of the fuel element) and being able to assign that composition to a material definition like this:

    Lattice_5_Element = openmc.Material()
    Lattice_5_Element.depletable = True
    Lattice_5_Element.assign_composition('storage_file_in_directory', keyname_of_composition)

The project is mostly data processing but let me know if you are interested. I need another project myself for my research group and this looks promising.