def test_createHomogenizedRZTBlock(self): newBlock = blocks.ThRZBlock("testBlock", self.cs) a = self.r.core[0] converterSettings = {} geomConv = geometryConverters.HexToRZConverter( self.cs, converterSettings, expandReactor=self._expandReactor) volumeExpected = a.getVolume() ( _atoms, _newBlockType, _newBlockTemp, newBlockVol, ) = geomConv.createHomogenizedRZTBlock(newBlock, 0, a.getHeight(), [a]) # The volume of the radialZone and the radialThetaZone should be equal for RZ geometry self.assertAlmostEqual(volumeExpected, newBlockVol)
def testConvert(self): converterSettings = { "radialConversionType": "Ring Compositions", "axialConversionType": "Axial Coordinates", "uniformThetaMesh": True, "thetaBins": 1, "axialMesh": [50, 100, 150, 175], "thetaMesh": [2 * math.pi], } expectedMassDict, expectedNuclideList = self._getExpectedData() geomConv = geometryConverters.HexToRZConverter( self.cs, converterSettings, expandReactor=self._expandReactor) geomConv.convert(self.r) newR = geomConv.convReactor self._checkBlockComponents(newR) self._checkNuclidesMatch(expectedNuclideList, newR) self._checkNuclideMasses(expectedMassDict, newR)
def testConvert(self): converterSettings = { "radialConversionType": "Ring Compositions", "axialConversionType": "Axial Coordinates", "uniformThetaMesh": True, "thetaBins": 1, "axialMesh": [25, 50, 75, 100, 150, 175], "thetaMesh": [2 * math.pi], } expectedMassDict, expectedNuclideList = self._getExpectedData() geomConv = geometryConverters.HexToRZConverter( self.cs, converterSettings, expandReactor=self._expandReactor) geomConv.convert(self.r) newR = geomConv.convReactor self._checkBlockComponents(newR) self._checkNuclidesMatch(expectedNuclideList, newR) self._checkNuclideMasses(expectedMassDict, newR) self._checkBlockAtMeshPoint(geomConv) self._checkReactorMeshCoordinates(geomConv) figs = geomConv.plotConvertedReactor() with directoryChangers.TemporaryDirectoryChanger(): geomConv.plotConvertedReactor("fname")
import matplotlib.pyplot as plt from armi.reactor.tests import test_reactors from armi.reactor.flags import Flags from armi.reactor.converters import geometryConverters from armi.utils import plotting from armi import configure, runLog # configure ARMI configure(permissive=True) o, r = test_reactors.loadTestReactor() kgFis = [a.getHMMass() for a in r.core] plotting.plotFaceMap(r.core, data=kgFis, labelFmt="{:.1e}") converterSettings = { "radialConversionType": "Ring Compositions", "axialConversionType": "Axial Coordinates", "uniformThetaMesh": True, "thetaBins": 1, "axialMesh": [50, 100, 150, 175], "thetaMesh": [2 * math.pi], } converter = geometryConverters.HexToRZConverter(o.cs, converterSettings) # makes new reactor in converter.convReactor converter.convert(r) figs = converter.plotConvertedReactor() plt.show()