mcdc-project / mcdc-project/mcdc
Integrate UQ/GSA workflow with MC/DC
@clemekay is already working on this.
Since May 8, 2025.
- Dominant language
- Python
- Stars
- 61
- Forks
- 38
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 10
Description
From the 05/07/2025 document "MC/DC Plans Through the End of CEMeNT" :
Right now, MC/DC has variance deconvolution built-in so that the user can use mcdc.uq() with their parameter uncertainties, then MC/DC will do all of the re-sampling and include the parametric, solver, and total variances in the output file. It currently does so using MC/DC’s built-in batching capability, but we’re not parallelized over batches.
That workflow I used for the M&C C5G7 paper was more efficient than MC/DC’s currently built-in functionality. Essentially, I found it was faster to essentially just make an input deck inside a for-loop, taking advantage of not having to re-compile anything but not having to internally loop serially over batches:
import mcdc for i=1:Nxi sampled_params = resample_parameters() seed = get_independent_initial_seed() new_outfile = 'outfile_' + str(i) # set mcdc definitions w/ sampled_params (like surface, material, cell, setting, etc) mcdc.run(outfile=new_outfile, new_seed=seed)I plan to update what’s built-in to reflect that more efficient workflow: the user can still use some mcdc.uq() function in their input deck, and then MC/DC will make a new input deck for them with the sampling, looping, and post-processing.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.