Integrate UQ/GSA workflow with MC/DC
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.