Cell %s has no neighbours with surface %s - not always good

New ideas for code development

Cell %s has no neighbours with surface %s - not always good

Postby Andrei Fokau » Wed Aug 18, 2010 1:13 pm

This error checker is not always reasonable. Imagine, for example, that your model has a big cube made of many small ones (Rubik's Cube). If you want to specify the space outside the big cube, then you cannot just use the outside surface (e.g. an additional surface for the whole cube) - you have to specify all the small cubic surfaces. And if your space outside the big cube is somehow complex, then the absence of union operator push you to use an additional universe for the big cube. For the case of cubes, it is probably not a big deal, but it becomes a bit more tricky for pad surfaces.

The checker can be easily disabled in processgeometry.c by commenting lines 1779-1783.

However, one should understand that the purpose of this checker is to find a typical error when a part of a universe was forgotten to be defined. If one disables it, then the error message will be given by another checker in the following form
Code: Select all
No cell at (x,y,z)

Perhaps, the last error checker can be improved by adding the last found cell number, its universe number and the transformed coordinates for this universe derived from the "real-world" (x,y,z):
Code: Select all
No cell at (x,y,z). Last found cell is C of universe U, where the transformed coordinates where X',Y'Z'

P.S. There is a typo by the way: Cell %s has no neighbous with surface %s
KTH Reactor Physics (Stockholm, Sweden) neutron.kth.se
Andrei Fokau
 
Posts: 77
Joined: Thu Mar 25, 2010 12:25 am
Location: KTH, Stockholm, Sweden

Re: Cell %s has no neighbours with surface %s - not always good

Postby Jaakko Leppänen » Wed Aug 18, 2010 10:13 pm

Checking for geometry errors is one purpose why the (potential) cell neighbours are kept in a list. The second purpose is related to the tracking routine. When the neutron crosses a surface, it should save some CPU time in complex geometries to look for the next cell in the list of neighbours than to loop over all cells in the universe. At the moment the code does it the hard way (which is why your calculation doesn't crash), but I intend to change the routine at some point.
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1982
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: Cell %s has no neighbours with surface %s - not always good

Postby Andrei Fokau » Thu Aug 19, 2010 7:52 pm

Jaakko Leppänen wrote:Checking for geometry errors is one purpose why the (potential) cell neighbours are kept in a list. The second purpose is related to the tracking routine. When the neutron crosses a surface, it should save some CPU time in complex geometries to look for the next cell in the list of neighbours than to loop over all cells in the universe. At the moment the code does it the hard way (which is why your calculation doesn't crash), but I intend to change the routine at some point.

OK, I see. Then one needs to define an extra universe in such case.

Jaakko, what do you think about creating such lists of neighbours "on-the-fly"? It will be a bit slow at the beginning, but will run faster when such lists are accumulated.
KTH Reactor Physics (Stockholm, Sweden) neutron.kth.se
Andrei Fokau
 
Posts: 77
Joined: Thu Mar 25, 2010 12:25 am
Location: KTH, Stockholm, Sweden

Re: Cell %s has no neighbours with surface %s - not always good

Postby Jaakko Leppänen » Thu Aug 19, 2010 9:31 pm

Andrei Fokau wrote:OK, I see. Then one needs to define an extra universe in such case.

Jaakko, what do you think about creating such lists of neighbours "on-the-fly"? It will be a bit slow at the beginning, but will run faster when such lists are accumulated.


I suppose it would be possible. On the other hand, the neighbour list is needed already at the preprocessing stage for checking the errors (when not disabled).
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1982
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland


Return to Development

Who is online

Users browsing this forum: No registered users and 1 guest