1D and 2D simulation as a low cost first run

Hello,

I’ve been using OpenMC for a while, and I thought several times about how useful a 1D/2D run mode would be. I took a class on numerical Neutronics and implementing 1D/2D models is quite easy and way less computationally expensive. Also most of the systems we work for (tokamaks, reactors, ICF chambers) have a high level of symmetry that could perfectly run in 1D/2D.
Is there a specific reason why these were never implemented? Or are we expected to implement our own 1D/2D?

Thanks again for this amazing open-source code !

@paulromano I don’t know much about coding in C but I could try to help and code these simpler tools.

Unlike deterministic methods, Monte Carlo simulation is naturally 3D and doesn’t really lend itself to a 1D/2D simplification. On top of that, for a lot of problems, the expense is typically not dominated by geometry operations. The problems where geometry operations do dominate tend to be very complex geometries that are also inherently 3D (e.g., a tokamak).

I agree that for 3D is the most natural way of doing Monte Carlo (since particles can scatter in all directions) but some simpler 1D and 2D model can also be built right ?

Although a tokamak or an ICF plant is 3D, they both have a very strong azimuthal geometry that I think could be leveraged either for computational cost reduction or variance reduction.

For example if we have a pi/6 symmetry. We can run 12 independent pi/6-sector simulations (with reflective boundaries and gather their results to reduce the variance by sqrt(12).

Another example if the geometry is purely axisymetrical, we can run a 2D slice geometry and extrapolate the solution for the whole geometry ? I agree that tangential scattering wouldn’t be covered but I think we had a way of including in our 1D/ 2D models. I could look for those.

Isn’t most of the benefit achievable by simply using reflecting boundaries on an arbitrarily thin slice?

I agree that you end up simulating the same physics but having a real 1d solver would allow for a reduced computational cost.

To switch from a 2D displacement (of a distance l at a specific angle \theta ) to a 1D displacement we can take only the 1d component of this displacement (\frac{l}{cos \theta}). This can also be generalized to a 3D displacement.