armi.reactor.tests.test_hexBlockRotate module

Tests for the ability to rotate a hexagonal block.

class armi.reactor.tests.test_hexBlockRotate.HexBlockRotateTests(methodName='runTest')[source]

Bases: TestCase

Tests for various rotation aspects of a hex block.

Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.

BOUNDARY_PARAMS = ['cornerFastFlux', 'pointsCornerDpa', 'pointsCornerDpaRate', 'pointsCornerFastFluxFr', 'pointsEdgeDpa', 'pointsEdgeDpaRate', 'pointsEdgeFastFluxFr', 'THedgeTemp', 'THcornTemp']
BOUNDARY_DATA = array([ 0., 10., 20., 30., 40., 50.])
PIN_PARAMS = ['percentBuByPin', 'linPowByPin']
PIN_DATA = array([  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,         11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.,  20.,  21.,         22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.,  31.,  32.,         33.,  34.,  35.,  36.,  37.,  38.,  39.,  40.,  41.,  42.,  43.,         44.,  45.,  46.,  47.,  48.,  49.,  50.,  51.,  52.,  53.,  54.,         55.,  56.,  57.,  58.,  59.,  60.,  61.,  62.,  63.,  64.,  65.,         66.,  67.,  68.,  69.,  70.,  71.,  72.,  73.,  74.,  75.,  76.,         77.,  78.,  79.,  80.,  81.,  82.,  83.,  84.,  85.,  86.,  87.,         88.,  89.,  90.,  91.,  92.,  93.,  94.,  95.,  96.,  97.,  98.,         99., 100., 101., 102., 103., 104., 105., 106., 107., 108., 109.,        110., 111., 112., 113., 114., 115., 116., 117., 118., 119., 120.,        121., 122., 123., 124., 125., 126., 127., 128., 129., 130., 131.,        132., 133., 134., 135., 136., 137., 138., 139., 140., 141., 142.,        143., 144., 145., 146., 147., 148., 149., 150., 151., 152., 153.,        154., 155., 156., 157., 158., 159., 160., 161., 162., 163., 164.,        165., 166., 167., 168., 169., 170., 171., 172., 173., 174., 175.,        176., 177., 178., 179., 180., 181., 182., 183., 184., 185., 186.,        187., 188., 189., 190., 191., 192., 193., 194., 195., 196., 197.,        198., 199., 200., 201., 202., 203., 204., 205., 206., 207., 208.,        209., 210., 211., 212., 213., 214., 215., 216.])
test_orientationVector()[source]

Test the z-value in the orientation vector matches rotation.

Test Case: Demonstrate that a HexBlock can be rotated in 60 degree increments, and the resultant orientation parameter reflects the current rotation. T_ARMI_ROTATE_HEX_BLOCK
signature: test_orientationVector
requirements: R_ARMI_ROTATE_HEX
test_rotateBoundaryParameters()[source]

Test that boundary parameters are correctly rotated.

Test Case: Rotating a hex block updates parameters on the boundary of the hexagon. T_ARMI_ROTATE_HEX_BOUNDARY
signature: test_rotateBoundaryParameters
requirements: R_ARMI_ROTATE_HEX
assertIndexLocationEquivalent(actual: IndexLocation, expected: IndexLocation)[source]

More flexible equivalency check on index locations.

Specifically focused on locations on hex grids because this file is testing things on hex blocks.

Checks that 1. i, j, and k are equal 2. Grids are both hex grid 3. Grids have same pitch and orientation.

test_pinRotationLocations()[source]

Test that pin locations are updated through rotation.

Test Case: HexBlock.getPinLocations is consistent with rotation. T_ARMI_ROTATE_HEX_PIN_LOCS
signature: test_pinRotationLocations
requirements: R_ARMI_ROTATE_HEX
test_pinRotationCoordinates()[source]

Test that pin coordinates are updated through rotation.

Test Case: HexBlock.getPinCoordinates is consistent through rotation. T_ARMI_ROTATE_HEX_PIN_COORDS
signature: test_pinRotationCoordinates
requirements: R_ARMI_ROTATE_HEX
test_updateChildLocations()[source]

Test that locations of all children are updated through rotation.

Test Case: Rotating a hex block updates the spatial coordinates on contained objects. T_ARMI_ROTATE_HEX_CHILD_LOCS
signature: test_updateChildLocations
requirements: R_ARMI_ROTATE_HEX
test_pinParametersUnmodified()[source]

Test that pin data are not modified through rotation.

Reinforces the idea that data like linPowByPin[i] are assigned to pin i, wherever it may be. Locations are defined instead by getPinCoordinates()[i].

class armi.reactor.tests.test_hexBlockRotate.EmptyBlockRotateTest(methodName='runTest')[source]

Bases: TestCase

Rotation tests on an empty hexagonal block.

Useful for enforcing rotation works on blocks without pins.

Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.

test_orientation()[source]

Test the orientation parameter is updated on a rotated empty block.