wiki:u/adebrech/code/AMR_line_transfer

Version 5 (modified by adebrech, 6 years ago) ( diff )

Tests

See this blog post for test parameters.

* Single ray (1D), single processor. Ran for very long simulation time, to give solid point of comparison.

http://www.pas.rochester.edu/~adebrech/code/AMR_line_transfer/AMR_linetransfer_test10000.png

* Multiple rays (2D, GmX(2) = 32, GxBounds(5) = 2.5d-1), single processor (final_time = 1d1, final_frame = 100), refined from x = 0.25 to 0.75.

http://www.pas.rochester.edu/~adebrech/code/AMR_line_transfer/AMR_linetransfer_test20000.png

* Multiple rays (2D), 2 processors (neighbor patch).

http://www.pas.rochester.edu/~adebrech/code/AMR_line_transfer/AMR_linetransfer_test30000.png

* Single ray (1D), single processor, 2 levels in middle-ish (child patch, MaxLevel = 1).

http://www.pas.rochester.edu/~adebrech/code/AMR_line_transfer/AMR_linetransfer_test40000.png

Result of refinement for optical depth

http://www.pas.rochester.edu/~adebrech/code/AMR_line_transfer/tau_refinement.png

* Multiple rays (2D), single processor, 2 levels (child patch).

http://www.pas.rochester.edu/~adebrech/code/AMR_line_transfer/AMR_linetransfer_test50000.png

* Multiple rays (2D), multiple processors, 2 levels (neighbor(? - may need to force somehow) and child patches).

* Multiple rays (2D), multiple processors, 2 levels (neighbor and child patches), with domain boundary refined.

* Multiple rays (2D), multiple processors, 3 levels with improper nesting.

* Single ray (1D), single processor, for radiation pressure.

* Single ray (1D), single processor, for radiation pressure.

* Compare runs from combination test.

* Compare 1-2 parameter space runs.

Comments: y and z directions are treated identically, so it's unnecessary to test both "2D" and "3D" cases (note that nDim is always set to 3 in global.data, resolution just set to 1 and size very small in "1D" and "2D" cases). Believe the above set should test all cases in each if statement.

Notes from 3/13/19

Pass upper left corner of global location and level to use to search for correct node.

Move processing of ray averaging from child to parent: Implement preallocated "containers" for completed child rays that need to be restricted on parent (at same time, can add new ray to continue on parent at internal boundaries - search at all right child boundaries on node).

Start by looping through and completing any ray that originates on patch, then do while waitany (how to determine when we've finished them all?).

For Spherical

Never derefine rays moving outward?

Need some way to determine necessary refinement over global scope (when to divide rays due to spherical dilution).

Note: See TracWiki for help on using the wiki.