Differences in CSG/DAGMC results

I’ve compared openmc results from CSG and DAGMC (using cad_to_openmc) for simple cylinders,
and they show non-negligible differences in eigen value, several hundreds to thousand pcm.

In particular, DAGMC results often show asymmetric flux distribution and different eigen values depending on cad_to_openmc setting (ab.mesher_config).

I might have made some mistakes in case setting, but I’m curious if there is any factor that would make the results from CSG/DAGMC different, and if so, what the mesher_config should be.

Interesting to hear that. All i can think of is the mesh size. It should be smaĺl enough. I’m always keen to help with cad to openmc bug hunting.

What radius and height cylinder did you use. I can try to reproduce the csg / comparison and let you know what mesh size i needed.

I needed quite small mesh elements for a sphere. https://github.com/fusion-energy/model_benchmark_zoo/blob/75ada4461fa12ac0dcf42dd741573fd19721789d/tests/test_csg_cad_sphere.py#L49

Thanks for your kind help!
Seeing your reference, it seems I applied too large mesh size.
The inner diameter and height are 85 cm for inner cylinder, and 155.8 cm for outer cylinder.
I’m also running it with much finer mesh.

Hi @park,
This is interesting - I agree with @Shimwell in that mesh size can definitely be a cause here. If that does not solve your problem please don’t hesitate to report back (or indeed if it does work :slightly_smiling_face: ). Always happy to help out!

I’ve just checked the results with much finer mesh (as in the github), and it worked!
But, this fact raised some other questions…

If DAGMC result depends on mesh size, how do I know what it should be.
For this problem, CSG result can be a reference solution, but that’s not the case for complex geometry. Do I need some kind of mesh sensitivity study like CFD applications?

Also, I’m not familiar with openmc theory and actually can’t understand why mesh size matters in here despite of its statistical approach. Could you kindly provide brief explanation or some references for this? Thank you for your help!

Hi Park,

The best way to think about this, especially for eigenvalue problems, is to see whether the volume of the meshed representation matches the volume of the original geometry. It is common for meshed representations of reactor geometries, whether DAGMC or other meshing approaches, to have a volume mismatch as curved surfaces are approximated by flat surfaces.

It should be possible to compare the volumes of each volumetric region for each representation without running any cpu-intensive simulations.


I’ve added a nested cylinder (cylinder within cylinder) to the model bench mark zoo repo. This geometry is now tested with cad-to-dagmc conversion automatically as pat of the CI. I hope to automate the testing with the other convertors at some point. The comparison, test and code for making csg and dagmc model are all on this PR which is now merged into the main repo