Comments (8)
from moltres.
I originally thought that there was a problem with the volumes.
It seemed to me that the calculations were dividing the fluxes by the volumes.
As the volume of the fuel is larger than the volume of the reflectors, then the flux in the active core ends up being flatter than the flux in the reflectors.
However, I modified my mesh so the volumes of the 3 regions are equal, and the result I got is the following:
from moltres.
- You say you're making this comparison to a 1D Finite-Difference (FD) solver ... is this something you created?
- Regardless, let's focus on the serpent results as the truth (not the 1d FD solver). It seems like this could be from some geometry approximation. .. . you say the Moltres geometry is 1D? How exactly?
- How did you homogenize the cross sections exactly, for the moltres model?
- I understand that your final plot has 3x more mesh points. Please be certain that you've changed
$\Delta z$ , not just$n_{points}$ . The plot (which has$z_{max}=2400cm$ ) indicates you've increased the number of points but not$\Delta z$ .
from moltres.
@robfairh I'm inclined to think that the 1D FD solver may be the odd one of the three. The reason is that if you're solving a reactor in 1D, you have infinite x and y dimension and that means the reactor has 2 less dimensions to 'leak' the neutrons from and as a result should have a flatter profile as compared to the 3D case. Therefore, the 1D FD result looking like the serpent result suggests that the 1D FD may not be correct. [Also, in your 1D FD, are you solving both gp1 and gp2 simultaneously, in one single matrix?]
Other than the above, differences can also arise if you didn't use the same cross sections and coefficients between your moltres input file and your 1D FD solver...
from moltres.
Thank you guys for your comments. I will try to answer your questions.
- You say you're making this comparison to a 1D Finite-Difference (FD) solver ... is this something you created?
Correct. I made the FD solver.
- Regardless, let's focus on the serpent results as the truth (not the 1d FD solver). It seems like this could be from some geometry approximation. .. . you say the Moltres geometry is 1D? How exactly?
My mesh is a line that represents the axial direction of the reactor. This implies what Alvin described. There is no leakage in the direction perpendicular to z.
- How did you homogenize the cross sections exactly, for the moltres model?
The cross sections were obtained from a 3D model of the reactor. The 3D model produces cross sections of 5 regions. Inner, outer, bottom, and top reflectors, and homogenized fuel (this comprises the fuel, moderator, and coolant channels).
- I understand that your final plot has 3x more mesh points. Please be certain that you've changed
$\Delta z$ , not just$n_{points}$ . The plot (which has$z_{max}=2400cm$ ) indicates you've increased the number of points but not$\Delta z$ .
That's correct. The number of points changes, but not $\Delta z$
- The reason is that if you're solving a reactor in 1D, you have infinite x and y dimension and that means the reactor has 2 less dimensions to 'leak' the neutrons from and as a result should have a flatter profile as compared to the 3D case.
I agree with your statement. However, both the Moltres and the FD solver are solving the 1D case. So both of them should see the same effect.
- Also, in your 1D FD, are you solving both gp1 and gp2 simultaneously, in one single matrix?
Yes, they are coupled.
- Other than the above, differences can also arise if you didn't use the same cross sections and coefficients between your moltres input file and your 1D FD solver...
I am using the same set of cross sections for both problems.
Your question gave me an idea @joonhon. I am going to do the following. I will produce the cross sections with serpent for a fuel column (this is a bottom reflector, active core composed of 10 fuel assemblies, and a top reflector) with reflective boundary conditions. Then I will run Moltres input file and the FD solver with those cross sections. The results should get closer, and it will be more evident which calculation is wrong.
from moltres.
That's correct. The number of points changes, but not
$$\Delta z$$ .
You should divide
from moltres.
Judging from the appearance of the flux distribution Moltres is giving you, and the fact that your eigenvalue is likewise incorrect, I would imagine this is a symptom of not using enough power iterations. Can you include a list of the sequence of eigenvalues computed by the solver? Or maybe you should plot them to see if they have converged. This should be a simple copy-paste from the terminal.
100 power iterations is definitely a bit small for a full-reactor problem. It would be good to calculate the number of fast neutron mean free paths across your reactor is. If that number is large, it will take many power iterations to get a good answer.
In addition, if you believe the reflector is the root of the problem, I recommend setting up a one group problem with reflectors. You should be able to then easily obtain an analytic solution to compare against and identify the exact degree of error without reference to Monte Carlo.
from moltres.
I made the model in Serpent of the fuel column (i.e. 10 fuel assemblies stacked on top of each other, bottom, and top reflectors) to generate the cross-sections for Moltres.
The following figure shows the flux calculated with Serpent (both fluxes are divided by the group 1 flux max value). Keff = 1.41933 +/- 0.00006.
The following figure shows the flux calculated with Moltres (both fluxes are divided by the group 1 flux max value). Keff = 1.407798142.
This comparison allowed me to realize that @ajhlee, and my 1D FDM solver was off. I fixed it, its result is anecdotic but here it is anyway:
Also @gridley you were right about the convergence. The calculation wasn't converged and different tolerances yield slightly different flux shapes.
from moltres.
Related Issues (20)
- Replace the Nt action with a more intuitive name
- Tutorial issues
- Add additional installation instructions HOT 1
- Remove deprecated MOOSE code HOT 7
- moltres_xs.py maybe not compatiable with the newest version of OpenMC
- Removing unused params
- Replace deprecated NodalMaxValue
- Fix removal cross section generation in moltres_xs.py from OpenMC data
- where is the k-eff definition? HOT 1
- Add postprocessor for calculating neutron leakage
- CIVET: 'Mirror scheduled' failure
- Make PrecursorAction compatible with velocity vector variables derived from INSAD
- Welcome to Moltres Discussions! HOT 8
- Create a CI test for building documentation HOT 1
- Rename convoluted object names for clarity
- Extend PrecursorAction to support modeling with higher order precursor variables
- Add documentation on neutron diffusion theory on the Moltres website
- Compilation issue on MacOS with clang HOT 2
- Add override keyword to computeQpOffDiagJacobian in INSBoussinesqBodyForce
- Allow users to choose among Marshak, Mark, and Milne vacuum boundary conditions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moltres.