csg2csg
csg2csg copied to clipboard
Cell expansion and breakup
On of the issues related to supporting MC codes that do not support the union operator (e.g. : in MCNP) is that people & CAD translators tend to generate large complex cells with many parenthesis & unions. MCBEND, Tripoli4 and others do not support the union operator and instead must split the cell into simple convex regions. FLUKA struggles with very large complex cells, so to some degree this feature will help here to.
It should be possible for the cell once read, to be parsed and exploded into several different convex regions that describe the same part. This will make FLUKA's job a bit easier and other codes be supported.
What needs implementing:
- develop algorithm to determine if a cell containing unions is 'simple' if so just explode it
- other we need to parse the cell description and refactor it into a simple way - this will by my gut feeling need to parse an RPN formulation
- finally explode into N new cells