Nigel Davies

  • View

  • Download

Embed Size (px)


Monte Carlo Algorithm for neutronics calculations with Thermal hydraulics feedback on parallel computers. Nigel Davies. PhD. TITLE .... - PowerPoint PPT Presentation

Text of Nigel Davies

  • Monte Carlo Algorithm for neutronics calculations with Thermal hydraulics feedback on parallel computers

    Nigel Davies

  • PhDTITLE ....

    Whole Core PWR core-follow modelling: Coupled 3D Monte Carlo time dependent neutronics and 3D Thermal Hydraulics calculations, with comparative runtimes to coupled Deterministic methods

  • PhDIn a nutshell ....

    Calculate k-effective, flux (in 172 groups), and power distributions for an explicitly modelled (in 3D) whole core PWR taking account of depletion and thermal hydraulics feedback and find a way of making the calculation run in a reasonable time.

  • Presentation Outline

    This presentation describes a plan for parallelising an existing 3D neutronics reactor physics and criticality code MONK. MONK is sold commercially by the ANSWERS business part of SERCOGoogle: ANSWERS SERCO for more details Or go to

  • Presentation Outline

    It covers

    A very basic description of the MONK TH-code coupling schemeBrief review of how MONK worksA flowchart description of parallelising MONK

  • MONK-TH code couplingThe basic idea is ..

    MONK is used to calculate the power distribution at each time-step taking account of: depletion (i.e. a burn-up calculation) temperature distribution (temperatures from user input or TH code)At the end of each time-step the calculated power distribution is fed into a Thermal Hydraulics calculation which in turn generates a new temperature distribution.The new temperatures are applied to the materials in the MONK calculation at the start of the next time-stepThe loop continues until all time-steps have been done.

  • MONK-TH code coupling overall scheme (a picture!)Time consuming bit is MONK hence the need to consider the use of Parallel Computing to speed it up! ........ This is the focus of this talk

    Basic idea is that MONK generates a power distribution on a mesh that can be equated to (or translated into) the TH Code mesh via a Translator code.The output from the TH Code is converted to a file that another Translator code can read. That Translator creates a file containing the temperatures & fluid densities

  • MONK is capable of modelling very complex geometries (see e.g. model of BWR).Used widely both in UK and abroad for criticality and some reactor physics studiesIterative solution to the Boltzmann Transport Equation (each iteration called a stage)

    Capabilities of MONK5Initial Source GuessSolution (k-eff, flux, etc)New Source GuessN Stages

  • Well used technique in the Monte Carlo world.Woodcock, E., Murphy, T., Hemmings, P., and Longworth, T. 1965. Techniques used in the GEM code for Monte Carlo neutronics calculations in reactors and other systems of complex geometry. In Proc. Conference on the Application of Computing Methods to Reactor Problems, ANL-7050, 557--579.

    Tracking Techniques WOODCOCK TRACKINGInvent a region called a HOLE MATERIALMake every material in this region have the SAME total cross sectionTo do this we invent (for every material in the HOLE) a new reaction called a pseudo collision (when this occurs nothing happens!)Cross section for a pseudo collision is added to the existing total cross section such that all materials have a new but equal total cross section

  • Particles are tracked and each one has an associated weight (start weight =1)At a real collision the particle weight is reducedAbsorption is modelled by reducing the weight by a proportion equal to the absorption probability (same as multiplying by scatter probability)Russian Roulette technique used to determine when a particle dies (when below a cutoff)Survivors continue with weight=1Tracking Techniques WEIGHTED PARTICLESW WW = W x { (scat) / (total) }

  • We have a complex geometry within the boundaries of a boxUse Woodcock Tracking through the ENTIRE geometry Choose x,y,z,g,u,v,w + Wt.Obtain mfp = 1/(max)Calculate collision point coordinatesPseudo collisionReal collision Wt is reducedRoulette the sample?Sample leaks outMonte Carlo Process in MONK1234567

  • Lets convert this process into a process flow diagram.MONK Process flow diagram (1 of2)PseudoYesRealNext PageNoNote: on next slide I will call this part of the flowchart :SOURCE / TRACK / MATERIAL /REACTION(start)

  • MONK Process flow diagram (2of 2)YesSOURCE / TRACK / MATERIAL /REACTION(start)Fill the birth store (next stage source)Next stage sourceACCUMULATORNoGet next source particle Calculate K-effective & Print stage resultCalculate & Print ResultsYesNoTell next source to start samplingSTOP

  • MONK Process Flow Diagram -summarisedInitial SourceTrackingMaterial SearchReaction ProcessingAccumulate & PrintCalculate Track Length FluxesBirth StorePseudo & scatterBirth Store data (Fission & Children)Reaction rates(max)

  • MONK Process Flow Diagram converted to a planS1T-1 T-nM-1 M-nR-1 R-nAFS2Pseudo & scatterBirth Store data (Fission & Children)To Relevant Reaction ComputerReaction rates(max)(max)

  • Summary

    We have covered

    A very basic description of the MONK TH-code coupling schemeBrief review of how MONK worksA flowchart description of parallelising MONK


    The following are additional slides used in case of questions

  • Overall methodIn summary :I hope I have given you a taste of how I propose to parallelise MONK.It offers the flexibility of either the user defining how many T, M or R computers there are, or ultimately an optimisation algorithm could decide.By using many R computers we can expand the detail that can be modelled (Domain Decomposition)Similarly by using parallelism we can speed up the process

  • Function of each computerS1 = Generates the source particle data in the first stage and every alternate subsequent stage. In the second stage (and every alternate stage subsequent to the second stage) it acts as the birth store.S2 = similar to S1 but only starts generating source in the second stage. This is because it acts as the birth store in the first stage.T-1:T-n = These are the TRACKING computers. They receive data from S1/S2, calculate collision point data and passes this on to the next available MATERIAL SEARCH computer. (These can also pass track length data to the FLUX computer)M-1:M1n = These are the MATERIAL SEARCH computers. They search for the material number at the collision point and pass the data on to the relevant REACTION computer.

  • Function of each computerR-1:R-n = These are the REACTION computers. Each one processes collisions only in a given range of Artificial Materials. This enables them to hold only a limited amount of the nuclear data (which is the main source of the large RAM requirement).They also send pseudo collision and real scattered particles back to the TRACKING computersThey also send the reaction rates to the ACCUMULATOR computerThey also send birth store data to the relevant SOURCE computer S1 or S2, as well as information to S1/S2 when a particle dies (through roulette) or leakage this way both the ACCUMULATOR and S1/S2 know when a stage completes and subsequently when the cycle completes.A and F = These are the ACCUMULATOR and FLUX computers respectively. These process reaction rates and fluxes and control when results are printed.

  • Function of each computerWe have only looked at processing and output here but the other aspect is input and pre-processingHowever using MPI we can differentiate between computers (by rank) and thus extract only what input is required. For example only the REACTION computers need the nuclear data -hence the need for them to pass (max) values to the ACCUMULATOR which processes them to find the true maximum in each group. This data is then passed to the TRACKING computers prior to them tracking (other than that the TRACKING computers require none of the nuclear data and none of the geometry data!)

  • Enables the user to superimpose a X-Y-Z mesh over the MONK geometry (defines the user-required mesh for a burn-up calculation - called the BU-mesh)In addition the user superimposes another X-Y-Z mesh to define the mesh for calculating the power distribution (for the TH code) and for receiving new temperatures and densities (from the TH code)Such a X-Y-Z mesh (called the TH-mesh) is easier to translate to and from the TH code mesh than MONK geometry regions are

    MONK-TH code coupling: BU Mesh and TH Mesh

  • BUTH Mesh and Artificial MaterialsX-Y-Z meshing is defined by superimposed a BOX body over the MONK geometry.The 2 meshes (BU-mesh and TH-mesh) are combined by the code into a so-called BUTH-mesh.Reaction rates are calculated for each material inside a BUTH mesh element.Each material inside a BUTH mesh element is reassigned to a so-called Artificial Material

    This is because each material inside a BUTH mesh element will burn-up differently to that in another BUTH mesh element and maybe its temperature will change differently with time-step too.

    B O X




  • How does the code find out what materials there are inside a BUTH mesh element ?Before any calculation is done a set of tracks are passed through each BUTH mesh element Each track stops at regular locations along its length The code determines (just as it does during its normal tracking) what material is at each positionAn Artificial Material number is assigned to each User defined material number found in there.

    Artificial Materials


    The following slides give a brief overview of Woodcock tracking

  • Hole Material TrackingTracking body boundaries is necessary only because the mean free path varies between materials. If the m