Lattice offsets plus ray tracing#200
Conversation
Added in the BEAVRS model with the D-bank partially inserted. Also fixed a flaw in the geometry where the outermost cell was defined such that there could be a rare particle lost between it and the geometry boundary.
Required adding normals to all surfaces and the ability to access these from cells and universes. Also modified coords to adjust direction in a given reference frame. New movement/ray tracing subroutines were added to the geometry.
It is desirable for input to allow some universes not to be offset as might be done in a lattice. ALternatively, it may be preferable to evaluate their locations in the global reference frame. The former has been done by allowing lattice universes to have an 'offset map', the latter has been done by allowing a chosen universe to be evaluated in global coordinates. This allowed a fix to the BEAVRS inputs to correctly position the instrumentation tubes. There seems to be a dictionary error with the offsetMap. Occasionally it is not recognised as an integer list. This has prevented the creation of a new test in latUniverse. This has been commented out until the dictionary has been fixed.
Added description of offsets in latUniverse and global in universe to docs. Also added an example of the offsetMap in the form of a 2D CROCUS input.
|
I'll have a look soon! Does this mean that PR #159 can be closed because it is included here? |
valeriaRaffuzzi
left a comment
There was a problem hiding this comment.
This generally looks good to me. I think it would be important to figure out the issue in the latticeUni test related to the array of bools.
Then, we should be careful to the order of merging PRs given the nesting! I suggest this one, then resolving the conflicts on #167 and merging that.
|
Thanks for chasing on the latUniverse test. It turns out it was something going wrong in the dictionary, which is good to catch. It was a weird one: the error was that one dictionary in the test was being killed, then another overwrote it and failed to find offsetMap - which isn't supposed to be in that dictionary! It turns out that dict % kill() was not succeeding in fully killing the keywords in the dictionary, despite the deallocate(self % keywords). |
valeriaRaffuzzi
left a comment
There was a problem hiding this comment.
All good now, thank you!!
This is a combo of the ray tracing and lattice offset PRs. Ray tracing is now fixed and working well and the offset PR is similar to how it was before, but less stale!
Octamak.bmp