wiki:u/adebrech/code/AMR_line_transfer

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

Tests

See this blog post for test parameters.

  1. * 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

  1. * 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

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

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

  1. * 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

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

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

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

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

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

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

  1. * Multiple rays (2D), 2 processors, 3 levels.

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

  1. * Multiple rays (2D), 4 processors, 2 levels.

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

  1. * Multiple rays (2D), 8 processors, 2 levels (neighborchild).

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

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

Fails only on standard partition when compiled with optimizations, with some processors stuck waiting for rays on O3, segfault when waitall for sends on O2/1. Need to work backwards through tests on standard partition.

Cannot make this fail consistently. At one point, IDed the problem as the same ray being received multiple times, but can't figure out how that would happen or why I can't make it happen consistently. Continuing for now.

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

  1. * Single ray, single processor for radiation pressure (still as in the test here).

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

Acceleration of 0.0075 cm/s2, much less than the 980 cm/s2 used.

  1. * Compare runs from combination test.

Radiation pressure only

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

  1. * 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.