Skip to content

CADIS #3711

@j-fletcher

Description

@j-fletcher

Description

This feature would build upon the source biasing capabilities developed in #3460 and the local adjoint source described in #3710 to add Consistent Adjoint-Driven Importance Sampling (CADIS) as a variance reduction capability in OpenMC. CADIS enables local variance reduction by using information from the adjoint flux, calculated using OpenMC's Random Ray solver, to construct weight windows and source biasing parameters for the forward Monte Carlo calculation.

Alternatives

Although methods like MAGIC and FW-CADIS weight windows can in some cases provide variance reduction for localized tallies (especially when a large and varied set are present), they are fundamentally intended to reduce variance uniformly over the entire problem, and hence will result in time spent tracking some particles in regions of lower importance to the response(s) of interest. Additionally, current FW-CADIS capabilities include only weight windowing, and particularly for localized tallies, the addition of automatically generated source biasing parameters could enable more effective variance reduction.

Compatibility

In the short-term, "cadis" will be added as an option for WeightWindowGenerator.method, though in itself the WeightWindowUpdateMethod currently used for FW-CADIS will suffice for CADIS as well, as both utilize the inverse of the adjoint flux to set the weight window lower bound. In addition to weight windowing, however, a means of turning automated source biasing on and off within CADIS will also be necessary. As a first step, this could be another attribute of the WeightWindowGenerator class, but recognizing the broader scope of the full CADIS workflow, an alternative class might be created in the long-term to manage such composite schemes.

Finally, depending on the method by which adjoint sources are defined, an initial forward calculation may still be needed before the adjoint solve. The approach proposed in #3710 would make this determination based on information specified in the settings.random_ray dictionary, but a more transparent method of designating "target" tallies for local variance reduction might be possible using WeightWindowGenerator attributes as well.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions