damianjilk2 / Deterministic-Radiation-Transport-Approximations

Damian Jilk's EP Thesis
MIT License
1 stars 0 forks source link

Modified calculate_K_trans to compute tau between a list of points within input_data. #35

Open damianjilk2 opened 1 week ago

damianjilk2 commented 1 week ago

Current version consists of an updated tau calculation where it now considers a list of positions acquired from input_data.json. Future work includes:

damianjilk2 commented 1 week ago

Too much time has been spent on configuring an implementation for the user to input positions. The next version will simply have the user input a dictionary depicting the voxel index and the physical position they wish to calculate. Future versions should also allow for multiple points per voxel.

damianjilk2 commented 1 week ago

An issue was brought up during the neutronics meeting noting a positive value for the streaming operator during intra-voxel calculations. Here is the referenced conversation:

Some thoughts: We (I?) keep conceiving of this 1-D problem as being finite in the other dimensions. This isn’t true for a real 1-D problem. In a real 1-D problem, those other dimensions are infinite and I think are the origins of the exponential integrals in the L&M “Slab Geometry” derivation It’s good for you to be able to explain why this is true. If you are going to do the 1-D case properly as a slab geometry, you’ll need to use Eqn 5-30 as the basis such that your streaming operator is ½ E1(tau), after all You can avoid the higher order exponential integrals that arise in Eqn 5-38 onwards by using a stochastic approximation to the integral.

damianjilk2 commented 1 week ago

NOTE: eq 5-29 from Lewis and Miller is the same as scipy.special.expn. Thus, we can use scipy.special.exp1(tau) in order to solve E1(tau).

Update: issues remain with the with the streaming operator being greater than 1 for intra-voxel calculations despite the new equation.

damianjilk2 commented 1 week ago

This PR allows the user to input a dictionary of positions that they would like to be calculated rather than defaulting to the left edge of the voxel.

This implementation averages the streaming operators if there are several values within one voxel, ensuring that all combinations are iterated through and calculated.

A bug currently exists with the equation used for the streaming operator and will be addressed further in a different PR (Issue #36).

The tester script has been modified as well to account for the new datatype used for positions as well as for the new equation used to solve for the streaming operator.

Please make note of issues with readability or noticeable bugs or problematic code within the scripts. Thank you for reviewing!

damianjilk2 commented 4 days ago

Many code changes since last PR review.