Giter Club home page Giter Club logo

mlmc's Introduction

mlmc

Machine Learning acceleration of Monte Carlo neutron trasnport. Test problems and exploration.

mlmc's People

Contributors

zhuoranlu avatar katyhuff avatar

Stargazers

ZhangXin8069 avatar Alton Schultheis avatar PEP 8 Speaks avatar Paul Romano avatar

Watchers

James Cloos avatar Madicken Munk avatar Mark Kamuda avatar Xin avatar Huan Yan avatar Jin Whan Bae avatar Andrei Rykhlevskii avatar  avatar

Forkers

zhuoranlu

mlmc's Issues

brief summary of existing implementation of rouletting and survival biasing.

Based on the grep searches done previously:

Russian Roulette ```bash ./docs/source/io_formats/settings.rst:40:cutoff used below which particles undergo Russian roulette. Surviving particles ./docs/source/io_formats/settings.rst:42:rouletting are not turned on by default. The second is the energy cutoff which ./docs/source/io_formats/settings.rst:48: The weight below which particles undergo Russian roulette. ./docs/source/io_formats/settings.rst:54: roulette. ./docs/source/methods/physics.rst:1621:Russian rouletting. Two user adjustable parameters :math:w_c and :math:w_s ./docs/source/methods/physics.rst:1623:roulette and the weight should they survive Russian roulette. The algorithm for ./docs/source/methods/physics.rst:1624:Russian rouletting is as follows. After a collision if :math:w < w_c, then the ./docs/source/methods/physics.rst:1627:Russian roulette is simply :math:w, so the game can be considered "fair". By ./openmc/settings.py:43: Russian roulette. Value for 'weight_avg' should be a float indicating ./openmc/settings.py:45: roulette. Value of energy should be a float indicating energy in eV ./src/physics.F90:122: ! Play russian roulette if survival biasing is turned on ./src/physics.F90:125: call russian_roulette(p) ./src/physics_common.F90:16: subroutine russian_roulette(p) ./src/physics_common.F90:31: end subroutine russian_roulette ./src/physics_mg.F90:94: ! Play russian roulette if survival biasing is turned on ./src/physics_mg.F90:96: call russian_roulette(p)

Survival biasing:

```bash
./docs/source/io_formats/settings.rst:582:<survival_biasing> Element
./docs/source/io_formats/settings.rst:585:The <survival_biasing> element has no attributes and has an accepted value
./docs/source/io_formats/settings.rst:587:survival biasing, otherwise known as implicit capture or absorption.
./docs/source/methods/eigenvalue.rst:139:source contained in cell :math:i. To ensure that no bias is introduced, the
./docs/source/methods/parallelization.rst:370:method of successive generations) will be biased from the true fundamental
./docs/source/methods/parallelization.rst:373:per cycle is sufficiently large to neglect this bias.
./docs/source/methods/physics.rst:318:fission. If no survival biasing is being used, then the number of neutrons
./docs/source/methods/physics.rst:328:produced is biased in this manner so that the expected number of fission
./docs/source/methods/physics.rst:1588:biasing* or implicit absorption (or sometimes implicit capture, even though
./docs/source/methods/physics.rst:1591:In survival biasing, absorption reactions are prohibited from occurring and
./docs/source/methods/physics.rst:1596:  :label: survival-biasing-weight
./docs/source/methods/physics.rst:1602:handled differently if survival biasing is turned on. Although fission reactions
./docs/source/methods/physics.rst:1603:never actually occur with survival biasing, we still need to create fission
./docs/source/methods/physics.rst:1619:Additionally, since survival biasing can reduce the weight of the neutron to
./docs/source/methods/tallies.rst:95:by the volume of the region of integration. If survival biasing is employed, the
./docs/source/methods/tallies.rst:278::math:x_1, x_2, \dots, x_N, then an unbiased estimator for the population mean
./docs/source/methods/tallies.rst:294:distribution also known as the biased sample variance:
./docs/source/methods/tallies.rst:297:  :label: biased-variance
./docs/source/methods/tallies.rst:302:This estimator is biased because its expected value is actually not equal to the
./docs/source/methods/tallies.rst:306:  :label: biased-variance-expectation
./docs/source/methods/tallies.rst:312:correction_ to come up with an unbiased sample variance estimator: ./docs/source/methods/tallies.rst:315: :label: unbiased-variance ./docs/source/methods/tallies.rst:321:in equation :eq:unbiased-varianceis especially suitable for computation since ./docs/source/methods/tallies.rst:361:We can combine this result with equation :eq:unbiased-varianceto come up with ./docs/source/methods/tallies.rst:362:an unbiased estimator for the variance of the sample mean: ./docs/source/methods/tallies.rst:373:population based on equation :eq:unbiased-variancewill tend to the true ./docs/source/methods/tallies.rst:404::eq:unbiased-variance. If the random variables :math:X_i` are

From ./docs/source/io_formats/settings.rst
The <survival_biasing> element has no attributes and has an accepted value
of "true" or "false". If set to "true", this option will enable the use of
survival biasing, otherwise known as implicit capture or absorption.

Default: false

survival_biasing is an element in settings.
From ./docs/source/methods/physics.rst
In problems with highly absorbing materials, a large fraction of neutrons may be
killed through absorption reactions, thus leading to tallies with very few
scoring events. To remedy this situation, an algorithm known as survival
biasing or implicit absorption (or sometimes implicit capture, even though
this is a misnomer) is commonly used.
In survival biasing, absorption reactions are prohibited from occurring and
instead, at every collision, the weight of neutron is reduced by probability of
absorption occurring, i.e.

To be continued

Determine how russian rouletting and survival biasing is currently implemented in OpenMC and write a page of human-readable summary text describing what you understood. (think: a brief report).

Run Tests in OpenMC

Once OpenMC is built (issue #5), run any tests that come with it. This will be probably with "make test" or some testing script noted in the documentation.

Report here whether they pass.

Run OpenMC Example Files

Additionally, run any example input files provided in the software examples directory, and spend a little time browsing the code and reading the tests.

  • read the input files and get familiar with their syntax
  • run a few of them, if not all of them, to ensure you get the same answers that are expected.
  • take note of examples that include "weight windows" "rouletting" "splitting" or other "biasing"
  • Take note of runtimes, and output filetypes.
  • Report the experience here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.