MCNP FMESH for Plotting power distribution

In summary, to use FMESH to get power distribution for a core geometry, you need to be careful about normalization and convergence, and read carefully in the FMESH manual about using reflective surfaces and setting up the FMESH. You will also need to calculate the neutron flux or get it from the reactor or model it. FMESH isn't going to work because the geometry is hexagonal. You will have to transfer the power to the CFD calculation from F6 tallies for fuel rods or downscatter and gamma capture in the moderator.
  • #1
AlexFi
19
5
TL;DR Summary
Not familiar with MCNP, trying to get power distribution plot for 1/12 core slice
Hello
I'm trying to use FMESH command to get power distribution of this core geometry.
I want to use xyz coordinate in a 1/12 slice of a core so I could use the output of the MCNP sim for a CFD input
How should I approach this?
Thank you
 

Attachments

  • Opus235mod.txt
    1,013 bytes · Views: 168
  • opus.jpg
    opus.jpg
    22.6 KB · Views: 148
Engineering news on Phys.org
  • #2
Some generic comments first. I notice you have a code with 10000 per cycle, 50 skipped cycles, and 200 cycles total. It is unlikely you will have good convergence. Check carefully what is happening in the output to see if you are getting good stats. You might want to increase the particle per cycle to 1E5 or even more. And you might want to increase the skipped cycles and total cycles as well. Do some testing and check the results for convergence. MCNP reports a variety of things to guide you about the stats.

For FMESH, you will want to read carefully in the manual about using reflective surfaces. Your surfaces 500 and 501 are reflective. You can do it, you just need to be careful about normalization and such.

You will also want to be reading carefully in the manual about setting up your FMESH. It imposes a tally on top of the model. You set up a grid in x-y-z that does not depend on the cell boundaries. Basically, you specify to the FMESH card the origin of your mesh, the x-axis of the mesh, and the intervals to mesh over in each of x, y, and z.

By default, FMESH is going to give you the neutron flux in each mesh region. The normalization is going to be "per particle started." You can do neutrons or photons.

You can add multipliers to produce various things. For example, you can use a multiplier that is the cross section for various interactions such that you get things like neutron capture, neutron scattering, and so on. You can then get the heat deposited in each grid. This will produce something like MeV per neutron started.

To use this in CFD you are going to need to normalize it to give power, that is, energy per second. That means you will need the number of neutrons per second.

Your reactor may provide you with this information. Or you may need to calculate it. For example: Suppose your reactor is operating at 1 kilo-Watt (1 kW). Then you need to work out the average energy per fission, typically in the range of 200 MeV, depending on design. You can get MCNP to work that out for you for a kcode calculation, check the manual. There are some steps involved.

So you divide 1 kW by 200 MeV, convert the units, and it gives you neutrons per second. Keep in mind that's for the full core and you modeled 1/12. You multiply the value the FMESH gave you by the number of neutrons per second, and it converts it to a value per-second.
 
  • Like
Likes rpp
  • #3
You asked about FMESH, so my other answer talked about that. For CFD you might be able to use that. Or you might want the heat deposited in components. Check out the F6 tally and the F7 tally in the user manual. They might be more what you want. Again, the normalization will be "per particle started."
 
  • Like
Likes rpp
  • #4
Grelbr42 said:
You asked about FMESH, so my other answer talked about that. For CFD you might be able to use that. Or you might want the heat deposited in components. Check out the F6 tally and the F7 tally in the user manual. They might be more what you want. Again, the normalization will be "per particle started."
Thank you
Correct me if I'm wrong, but I thought that F6 and F7 tally calculates total energy depositions in a cell. I wanted to map its radial and axial energy distribution to create a surface plot, which is why I use FMESH.
 
  • #5
I don't think FMESH is going to work for you because FMESH uses an x-y-z grid and your reactor geometry is hexagonal. Even if your reactor was on a square grid, it still uses circular fuel rods, so FMESH isn't going to work.

What are you transferring to the CFD calculation? As @Grelbr42 suggested, if you are transferring the fission power from the rods, you need to define F6 tallies for each of your fuel rods. You also need to be very careful with the normalization. Make sure you are getting all the reactions (flux times fission times energy per fission) and the volume in the tally is correct.

If you are transferring energy from downscatter and gamma capture in the moderator, you will need to define F6 tallies for these regions as well.

You will have to manually map the power from each tally number to the correct region(s) in your CFD model.
 
  • Like
Likes Alex A and Astronuc
  • #6
rpp
I'm transferring the power distribution (volumetric heat flux?) to star ccm. Planning to get it plotted, get a best-fit equation, and use that as a heat source in Star CCM+.
I'm very new to MCNP. Can you explain what normalization is and how I do it in MCNP?
 
  • #7
One other thing, is there an mcnp command that will automatically calculate total power output of a reactor?
 
  • #8
At criticality a reactor's power output is whatever you want it to be. If you know the total fission rate you can multiply by 200 MeV or so to get power as said above but usually you know the design goal power and everything follows from that.
 
  • Like
Likes rpp
  • #9
AlexFi said:
One other thing, is there an mcnp command that will automatically calculate total power output of a reactor?

No. It's not possible. You need to normalize the tallies to reactor power. The tallies are all "per particle started." You need to determine how many particles per second are started. MCNP can't tell what power you are operating at.

If it's a reactor, you start with reactor power. Then you divide this by the energy per fission. Typically that's around 200 MeV, but it depends on the details of your reactor design, the isotopes, and few other things. You *can* get MCNP to tell you that. Divide the power by the energy per fission to get the fissions per second.

Then you need the average neutrons per fission. You multiply fissions per second by this number to get neutrons per second.

An alternative way to normalize is the following. Total the heat deposition (using F6 tallies) in *every* component of the reactor, which will be energy per particle started. Then set this equal to the reactor power. That will let you convert the tally to a number of neutrons per second.
 
  • Like
Likes rpp
  • #10
About FMESH vs other tallies.

By default, FMESH tallies flux. That is not usually directly useable in a thermal hydraulics type code. Such codes usually want a heat deposition rate.

You have a couple choices.

One choice is to use multipliers. You can multiply the FMESH tally by the cross section for a reaction. This means you get the flux times the cross section, meaning you effectively tally the reaction. So, for example, if you tally capture, you get capture events. There's a multiplier for heat deposition due to scattering, one for capture, one for fission, and some others. You need to read up about the multiplier cards. You might need the latest version of MCNP (6.2) to get the full effect here. You want to read about FM and UM cards.

The other choice is to divide your problem into the portions you want to report the energy deposition into. Then use the F6 type tally for heat, and F7 for fission power.

You still need normalization. Check my previous answer in this thread.
 
  • Like
Likes rpp
  • #11
I end up using F6 just to see my MCNP power output match the power output listed in the reference paper.
MCNP give me an error every time I put cell 4 or 1 in the tally even though the fuel is located in those cells.

Secondly, can someone help me interpret the tally output. As far as I can understand, I need to multiply the number of particles with the those tally numbers to get energy in MeV per gram of material, is this correct? And because cell 2 and 3 don't have any U235 in them, these value are just from collision heating?
 

Attachments

  • error.jpg
    error.jpg
    30.4 KB · Views: 127
  • f6 tally.jpg
    f6 tally.jpg
    14 KB · Views: 124
Last edited:
  • #12
The fatal error is that the program can't determine the volume of the cell automatically. So you need to specify the volume, for example with a vol= on the cell definition line for every cell you want to tally that has a zero value in the cell volume table (there will be a note saying why it failed to calculate).

It may help to split the model in the z direction, because the flux in the middle will be different to the flux at the top and bottom. There are a few ways to do this, including using the lattice to tile it for you, but it's not something to worry about until the input file works.
 
  • Like
Likes AlexFi
  • #13
Alex A said:
The fatal error is that the program can't determine the volume of the cell automatically. So you need to specify the volume, for example with a vol= on the cell definition line for every cell you want to tally that has a zero value in the cell volume table (there will be a note saying why it failed to calculate).

It may help to split the model in the z direction, because the flux in the middle will be different to the flux at the top and bottom. There are a few ways to do this, including using the lattice to tile it for you, but it's not something to worry about until the input file works.
How should I define the volume? Should I put the volume of individual fuel elements, all fuel elements in the slice combined, or the volume of the slice itself?
 
  • #14
That is actually a more involved question than I was prepared for. I'd put them in cell definitions 3 and 4. So long as your thermal model matches I don't think you then need any corrections for the partial rods, you just need to remember that the total power of the simulation is 1/12th of the design goal.
 
  • #15
Alex A said:
That is actually a more involved question than I was prepared for. I'd put them in cell definitions 3 and 4. So long as your thermal model matches I don't think you then need any corrections for the partial rods, you just need to remember that the total power of the simulation is 1/12th of the design goal.
Sorry I didn't quite understand your answer. Yes, I will add volume definition in cell 3 and 4 in the code.
My question is, how should I calculate the volume of each cell? For example, in cell 3, the coolant channels, should I put the volume of a single coolant channel or should I put the volume of all coolant channels in the reactor slice?
 
  • #16
Single cell volumes in 3 and 4 and then see if that fixes all the errors.

The center rod is only 1/12th exposed to flux so it's tally is 1/12th what the real rod is exposed to, other rods are half exposed or fully exposed. So long as the geometry matches the thermal code this should not be a problem. If the thermal code isn't the same 1/12th segment then some multiplying needs to be done.
 

FAQ: MCNP FMESH for Plotting power distribution

What is FMESH in MCNP and how is it used for plotting power distribution?

FMESH in MCNP (Monte Carlo N-Particle) is a tally option that allows users to define a mesh over the geometry of interest to score various quantities, such as flux or power distribution, over the mesh cells. It is particularly useful for visualizing the spatial distribution of these quantities across the geometry. By specifying the FMESH card in the input file, users can obtain detailed information on how power is distributed within the modeled system.

How do I set up an FMESH tally in my MCNP input file?

To set up an FMESH tally in your MCNP input file, you need to define the FMESH card with the appropriate parameters. This includes specifying the type of tally (e.g., neutron flux, energy deposition), the mesh boundaries, and the number of divisions in each dimension (x, y, z). For example:

FMESH4:n geom=xyz origin=0 0 0 imesh=10 10 10 size=1 1 1
This defines a mesh tally (FMESH4) for neutrons with a 10x10x10 grid starting at the origin (0,0,0) with each cell having a size of 1 unit in each dimension.

What are some common issues when using FMESH tallies and how can they be resolved?

Common issues with FMESH tallies include incorrect mesh boundaries, insufficient mesh resolution, and large output file sizes. To resolve these issues, ensure the mesh boundaries encompass the entire region of interest, adjust the mesh resolution to balance detail and computational cost, and use appropriate tally filters or energy bins to manage output file size. Additionally, verify that the FMESH card syntax is correct and that it does not conflict with other tally cards.

How can I visualize the power distribution data obtained from an FMESH tally?

To visualize power distribution data from an FMESH tally, you can use various plotting and data analysis tools. The output from an FMESH tally is typically in a format that can be imported into software like Python (with libraries such as Matplotlib or NumPy), MATLAB, or specialized visualization tools like ParaView. These tools allow you to create 2D or 3D plots of the power distribution, helping you to analyze and interpret the results effectively.

Can FMESH tallies be used for time-dependent simulations in MCNP?

Yes, FMESH tallies can be used in time-dependent simulations in MCNP by incorporating the time-dependent tally options available in the code. This involves specifying the time bins and ensuring that the FMESH tally is configured to score quantities over these time intervals. This allows you to track how the

Similar threads

Back
Top