Giter Club home page Giter Club logo

Comments (8)

robfairh avatar robfairh commented on August 11, 2024

@smpark7 @joonhon any ideas?

from moltres.

robfairh avatar robfairh commented on August 11, 2024

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:
1D-fuel-reflec-eig1C

from moltres.

katyhuff avatar katyhuff commented on August 11, 2024
  • 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.

ajhlee avatar ajhlee commented on August 11, 2024

@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.

robfairh avatar robfairh commented on August 11, 2024

Thank you guys for your comments. I will try to answer your questions.

@katyhuff:

  • 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$

@joonhon:

  • 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.

katyhuff avatar katyhuff commented on August 11, 2024

That's correct. The number of points changes, but not $$\Delta z$$.

You should divide $\Delta z$ by 3 if you're multiplying n_points by 3. Otherwise, you're increasing the height of your reactor by 3x. (as seen in increased height in the plot)

from moltres.

gridley avatar gridley commented on August 11, 2024

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.

robfairh avatar robfairh commented on August 11, 2024

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.

standard-column-detector-AxialB

The following figure shows the flux calculated with Moltres (both fluxes are divided by the group 1 flux max value). Keff = 1.407798142.

3D-assembly-30-homo-eig_axial

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:

1D-assembly-eig-FDM

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)

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.