Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can the OpenMOC program build fuel plate elements? #488

Open
David-sys-max opened this issue Sep 4, 2024 · 17 comments
Open

Can the OpenMOC program build fuel plate elements? #488

David-sys-max opened this issue Sep 4, 2024 · 17 comments

Comments

@David-sys-max
Copy link

Hello everyone, I have been looking for many examples related to OpenMOC, but I haven't found any concerning plate-type fuel elements. This is a single plate-type fuel element that I built using the OpenMOC program, but I always encounter kernel crashes, which I believe is due to issues in the geometric modeling. Additionally, if the rectangle is drawn as a flat source region, it is obviously non-uniform. So, how does OpenMOC address the issue of drawing a flat source region for plate-type fuel elements? Could someone help me check this? Thank you very much.
1
2
3
4
5
6
7
8

@gridley
Copy link
Contributor

gridley commented Sep 4, 2024

My suggestion is to give up on this. The geometry engine in OpenMOC appears to be EXTREMELY shaky as soon as you move away from circles in a square array. This code is basically unmaintained at this point.

@David-sys-max
Copy link
Author

Thank you for your explanation. Are you saying that for rectangular elements, the results from OpenMC and OpenMOC would differ significantly?

@gridley
Copy link
Contributor

gridley commented Sep 4, 2024

If it's very wrong, then yes.

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 4, 2024

See my response on the mailing list, the geometry definition is incorrect in the script.

If the tests pass for OpenMOC pass on your machine it can handle these shapes.

@David-sys-max
Copy link
Author

Thank you very much for your detailed answer. I have made detailed modifications. Please allow me to ask a few more questions. I am verifying the few-group cross-sections output by OpenMC for OpenMOC verification. However, the results differ greatly, one is 1.5 and the other is 0.08. I have carefully checked the cross-section values as well as the geometry, is it a problem with the flat source region division? OpenMOC seems to have poor uniformity in drawing flat source regions for rectangular programs. This is the input cards are for OpenMOC. Can you help me figure this out? Thank you very much.
1
2
3
4

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 4, 2024

the moderator cell is still wrong. You need 8 planes and a combination of unions and intersections of half plane to define it.

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 4, 2024

The easiest way to redo your moderator cell will be to create 4 cells, one for each side. Please make sure they do not overlap

@David-sys-max
Copy link
Author

Thank you very much for your answer. I have modified my geometry, but after calculating with OpenMOC, the results are still quite different. I personally feel that there is still a problem with the modeling in OpenMOC. Here are a few pictures, the left side is the modeling in OpenMOC, and the right side is the modeling in OpenMC. Could you please take a look for me? Thank you very much!
1
2
3
4
5
6
7

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 5, 2024

if you are using water, scattering is anisotropic in water so you need to use the P0 transport correction.
EDIT: this is likely not enough to fix the problem

2G is also not enough for heterogeneous neutronics calculations.
Note that you can use OpenMC in multi-group mode and the results should be close to OpenMOC

I would remove the sectors from the cell discretization. It's not typical for rectangular geometries.
What does the FSR mesh look like?
Does it solve with CMFD?

The results do look pretty bad at this point.

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 5, 2024

At this point, I would try the flat source solver instead of the linear source (and remove the sectors). If that does not fix it, then someone would have to dig deeper and there are no active maintainers for this project.

@David-sys-max
Copy link
Author

David-sys-max commented Sep 5, 2024 via email

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 5, 2024

The solver is currently set to use linear source region. This is because you use the CPULSSolver. You want to set it to use flat source region (CPUSolver), for debugging purposes. Most examples will be using the flat source already, you must have started from one that used the linear source.

How big is the discrepancy between openmc and openmoc now?
Can you get agreement on an infinite medium case first?

  • with a single region made of fuel first
  • with the two regions, both made of fuel next (should give the same result)

@David-sys-max
Copy link
Author

David-sys-max commented Sep 5, 2024 via email

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 5, 2024

Interesting. Something must be wrong in the total XS

    solver = openmoc.CPUSolver(track_generator)

see this input for flat sources
https://github.com/mit-crpg/OpenMOC/blob/develop/sample-input/cosine-source/cosine-source.py

@David-sys-max
Copy link
Author

After I changed CPULSSolver to CPUSolver, the results from OpenMOC seemed to remain unchanged. Additionally, when I switched the material of the moderator cell to fuel, there was still a significant difference between the results from OpenMC and OpenMOC, with one being 1.18 and the other 1.14. It appears that OpenMOC may not handle slab geometry components very well.

@GiudGiud
Copy link
Contributor

GiudGiud commented Sep 6, 2024

There are a lot of parameters to converge in MOC before reaching this conclusion.
Also 2 groups with no equivalence factors is far from the state of the art for MOC

@David-sys-max
Copy link
Author

Thank you very much for your patient answers, I will try again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants