svalinn / r2s-act

Rigorous 2 Step Activation Workflow
4 stars 7 forks source link

Develop alternatives for cases with low efficiency resampling #35

Open erelson opened 11 years ago

erelson commented 11 years ago

Void rejection can currently be done by resampling within the the selected voxel until a non-void point is chosen. This is prone to low efficiency with voxels containing a sliver of non-void.

(See previous notes in #13, #19, #20)

Relevant ideas/thoughts from @gonuke::

What could be most valuable, is to know which DAGMCNP cells are in each voxel. For the source sampling phase, this may be more important than the material volume fractions since it can limit the number of very expensive point-in-volume tests you need to do.

Another little implementation details is that it might be best to check the implicit complement last, as it is often the most complicated, and often void. It might be possible to check all the NON-implicit complement first and then deem it in the implicit complement if not in the others - and never actually test the implicit complement....

and

For example, if we measure the rejection efficiency to be too low, instead of sampling uniformly in 3D, we could sample uniformly in 2D on one voxel face, and fire a ray to measure the non-void length(s) in the voxel, and sample within the non-void length of that ray. (hmmm - that's not quite a fair game.... but something like that.)

erelson commented 11 years ago

The alternate solution to this efficiency problem may be to do the various work that needs to be done to propagate void fraction information throughout the workflow. This would allow a fair game while doing resampling of the entire problem (instead of voxel resampling).

gonuke commented 11 years ago

I am not sure it is useful enough to know void fraction - we need to know where the void is and avoid sampling that space inefficiently.

If we knew all the cells that were involved in a mesh voxel, we could start to think about sampling within some bounding boxes that enclosed those cells to improve efficiency, or other ides..

erelson commented 11 years ago

Has anything previously been done with identifying the cells that are within a voxel? Would this identification probably be done concurrently with the mmgrid raytracing?

gonuke commented 11 years ago

Yes to mmgrid. Basically, it would be about tallying the cell number as well as (instead of) the material number during the mmgrid process.