armi.reactor.converters.tests.test_axialExpansionChanger module¶
Test axialExpansionChanger
- class armi.reactor.converters.tests.test_axialExpansionChanger.AxialExpansionTestBase(methodName='runTest')[source]¶
Bases:
unittest.case.TestCase
common methods and variables for unit tests
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.
- Steel_Component_Lst = [<Flags.DUCT: 549755813888>, <Flags.GRID_PLATE: 1099511627776>, <Flags.HANDLING_SOCKET: 2199023255552>, <Flags.INLET_NOZZLE: 4398046511104>, <Flags.CLAD: 70368744177664>, <Flags.WIRE: 562949953421312>, <Flags.ACLP: 9007199254740992>, <Flags.GUIDE_TUBE: 288230376151711744>]¶
- class armi.reactor.converters.tests.test_axialExpansionChanger.Temperature(L, coldTemp=25.0, hotInletTemp=360.0, numTempGridPts=25, tempSteps=100, uniform=False)[source]¶
Bases:
object
create and store temperature grid/field
- Parameters
L (float) – length of self.tempGrid. Should be the height of the corresponding assembly.
coldTemp (float) – component as-built temperature
hotInletTemp (float) – temperature closest to bottom of assembly. Interpreted as inlet temp at nominal operations.
numTempGridPts (integer) – the number of temperature measurement locations along the z-axis of the assembly
tempSteps (integer) – the number of temperatures to create (analogous to time steps)
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestAxialExpansionHeight(methodName='runTest')[source]¶
Bases:
armi.reactor.converters.tests.test_axialExpansionChanger.AxialExpansionTestBase
,unittest.case.TestCase
verify that test assembly is expanded correctly
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.
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestConservation(methodName='runTest')[source]¶
Bases:
armi.reactor.converters.tests.test_axialExpansionChanger.AxialExpansionTestBase
,unittest.case.TestCase
verify that conservation is maintained in assembly-level axial expansion
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.
- expandAssemForMassConservationTest()[source]¶
initialize class variables for mass conservation checks
- test_ColdThermalExpansionContractionConservation()[source]¶
thermally expand and then contract to ensure original state is recovered
Notes: - temperature field is isothermal and initially at 25 C
- test_HotThermalExpansionContractionConservation()[source]¶
thermally expand and then contract to ensure original state is recovered
Notes: - temperature field is isothermal and initially at 250 C
- test_PrescribedExpansionContractionConservation()[source]¶
expand all components and then contract back to original state
Notes
uniform expansion over all components within the assembly
10 total expansion steps: 5 at +1%, and 5 at -1%
assertion on if original axial mesh matches the final axial mesh
- test_SteelConservation()[source]¶
tests mass conservation for total assembly steel
Component list defined by, Steel_Component_List, in GetSteelMass()
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestManageCoreMesh(methodName='runTest')[source]¶
Bases:
unittest.case.TestCase
verify that manage core mesh unifies the mesh for detailedAxialExpansion: False
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.
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestExceptions(methodName='runTest')[source]¶
Bases:
armi.reactor.converters.tests.test_axialExpansionChanger.AxialExpansionTestBase
,unittest.case.TestCase
Verify exceptions are caught
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.
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestDetermineTargetComponent(methodName='runTest')[source]¶
Bases:
armi.reactor.converters.tests.test_axialExpansionChanger.AxialExpansionTestBase
,unittest.case.TestCase
verify determineTargetComponent method is properly updating _componentDeterminesBlockHeight
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_determineTargetComponent()[source]¶
provides coverage for searching TARGET_FLAGS_IN_PREFERRED_ORDER
- test_determineTargetComponentBlockWithMultipleFlags()[source]¶
provides coverage for searching TARGET_FLAGS_IN_PREFERRED_ORDER with multiple flags
- test_specifyTargetComponent_NotFound()[source]¶
ensure RuntimeError gets raised when no target component is found
- test_specifyTargetComponent_singleSolid()[source]¶
ensures that specifyTargetComponent is smart enough to set the only solid as the target component
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestInputHeightsConsideredHot(methodName='runTest')[source]¶
Bases:
unittest.case.TestCase
verify thermal expansion for process loading of core
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_coldAssemblyExpansion()[source]¶
block heights are cold and should be expanded
Notes
- Two assertions here:
total assembly height should be preserved (through use of top dummy block)
in armi.tests.detailedAxialExpansion.refSmallReactorBase.yaml, Thot > Tinput resulting in a non-zero DeltaT. Each block in the expanded case should therefore be a different height than that of the standard case.
- checkColdHeightBlockMass(bStd: armi.reactor.blocks.HexBlock, bExp: armi.reactor.blocks.HexBlock, flagType: armi.reactor.flags.Flags, nuclide: str)[source]¶
checks that nuclide masses for blocks with input cold heights and “inputHeightsConsideredHot”: True are underpredicted
Notes
If blueprints have cold blocks heights with “inputHeightsConsideredHot”: True in the inputs, then the nuclide densities are thermally expanded but the block height is not. This ultimately results in nuclide masses being underpredicted relative to the case where both nuclide densities and block heights are thermally expanded.
- armi.reactor.converters.tests.test_axialExpansionChanger.checkColdBlockHeight(bStd, bExp, assertType, strForAssertion)[source]¶
- class armi.reactor.converters.tests.test_axialExpansionChanger.TestLinkage(methodName='runTest')[source]¶
Bases:
armi.reactor.converters.tests.test_axialExpansionChanger.AxialExpansionTestBase
,unittest.case.TestCase
test axial linkage between components
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.
- runTest(componentsToTest: dict, assertionBool: bool, name: str, commonArgs: Optional[tuple] = None)[source]¶
runs various linkage tests
- Parameters
Notes
components “typeA” and “typeB” are assumed to be vertically stacked
two assertions: 1) comparing “typeB” component to “typeA”; 2) comparing “typeA” component to “typeB”
the different assertions are particularly useful for comparing two annuli
- to add Component class types to a test:
- Add dictionary entry with following:
{Component Class Type: [{<settings for component 1>}, {<settings for component 2>}]
- armi.reactor.converters.tests.test_axialExpansionChanger.buildTestAssemblyWithFakeMaterial(name: str, hot: bool = False)[source]¶
Create test assembly consisting of list of fake material
- Parameters
name (string) – determines which fake material to use
- class armi.reactor.converters.tests.test_axialExpansionChanger.FakeMat[source]¶
Bases:
armi.materials.ht9.HT9
Fake material used to verify armi.reactor.converters.axialExpansionChanger
Notes
specifically used TestAxialExpansionHeight to verify axialExpansionChanger produces expected heights from hand calculation
also used to verify mass and height conservation resulting from even amounts of expansion and contraction. See TestConservation.
- name = 'FakeMat'¶
String identifying the material
- class armi.reactor.converters.tests.test_axialExpansionChanger.FakeMatException[source]¶
Bases:
armi.materials.ht9.HT9
Fake material used to verify TestExceptions
Notes
the only difference between this and class Fake(HT9) above is that the thermal expansion factor is higher to ensure that a negative block height is caught in TestExceptions:test_AssemblyAxialExpansionException.
- name = 'FakeMatException'¶
String identifying the material