MCDC icon indicating copy to clipboard operation
MCDC copied to clipboard

Integrate UQ/GSA workflow with MC/DC

Open clemekay opened this issue 8 months ago • 0 comments

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.

clemekay avatar May 08 '25 01:05 clemekay