Exemplo n.º 1
0
    def test_addRing(self):
        r"""
        Tests that the addRing method adds the correct number of fuel assemblies to the test reactor
        """
        converter = geometryConverters.FuelAssemNumModifier(self.cs)
        converter.numFuelAssems = 7
        converter.ringsToAdd = 1 * ["radial shield"]
        converter.convert(self.r)

        numAssems = len(self.r.core.getAssemblies())
        self.assertEqual(
            numAssems,
            13)  # should wind up with 6 reflector assemblies per 1/3rd core
        shieldtype = self.r.core.getAssemblyWithStringLocation(
            "A4001").getType()
        self.assertEqual(
            shieldtype,
            "radial shield")  # check that the right thing was added

        # one more test with an uneven number of rings
        converter.numFuelAssems = 8
        converter.convert(self.r)
        numAssems = len(self.r.core.getAssemblies())
        self.assertEqual(
            numAssems,
            19)  # should wind up with 11 reflector assemblies per 1/3rd core
Exemplo n.º 2
0
 def _growReactor(self):
     modifier = geometryConverters.FuelAssemNumModifier(self.o.cs)
     modifier.numFuelAssems = 1
     modifier.ringsToAdd = 9 * ["igniter fuel"] + 1 * ["radial shield"]
     modifier.convert(self.r)
     self._converterSettingsLargerCore = {
         "uniformThetaMesh": True,
         "thetaBins": 1,
         "thetaMesh": [2 * math.pi],
         "axialMesh": [25.0, 30.0, 60.0, 90.0, 105.2151, 152.0, 174.0],
         "axialSegsPerBin": 2,
     }
Exemplo n.º 3
0
    def test_setNumberOfFuelAssems(self):
        r"""
        Tests that the setNumberOfFuelAssems method properly changes the number of fuel assemblies.
        """

        # tests ability to add fuel assemblies
        converter = geometryConverters.FuelAssemNumModifier(self.cs)
        converter.numFuelAssems = 60
        converter.convert(self.r)
        numFuelAssems = 0
        for assem in self.r.core.getAssemblies():
            if assem.hasFlags(Flags.FUEL):
                numFuelAssems += 1
        self.assertEqual(numFuelAssems, 60)

        # checks that existing fuel assemblies are preserved
        locator = self.r.core.spatialGrid.getLocatorFromRingAndPos(1, 1)
        fueltype = self.r.core.childrenByLocator[locator].getType()
        self.assertEqual(fueltype, "igniter fuel")

        # checks that existing control rods are preserved
        locator = self.r.core.spatialGrid.getLocatorFromRingAndPos(5, 1)
        controltype = self.r.core.childrenByLocator[locator].getType()
        self.assertEqual(controltype, "primary control")

        # checks that existing reflectors are overwritten with feed fuel
        locator = self.r.core.spatialGrid.getLocatorFromRingAndPos(9, 5)
        oldshieldtype = self.r.core.childrenByLocator[locator].getType()
        self.assertEqual(oldshieldtype, "feed fuel")

        # checks that outer assemblies are removed
        locator = self.r.core.spatialGrid.getLocatorFromRingAndPos(9, 1)
        with self.assertRaises(KeyError):
            loc = self.r.core.childrenByLocator[locator]

        # tests ability to remove fuel assemblies
        converter.numFuelAssems = 20
        converter.convert(self.r)
        numFuelAssems = 0
        for assem in self.r.core.getAssemblies():
            if assem.hasFlags(Flags.FUEL):
                numFuelAssems += 1
        self.assertEqual(numFuelAssems, 20)
Exemplo n.º 4
0
    def test_setNumberOfFuelAssems(self):
        r"""
        Tests that the setNumberOfFuelAssems method properly changes the number of fuel assemblies.
        """

        # tests ability to add fuel assemblies
        converter = geometryConverters.FuelAssemNumModifier(self.cs)
        converter.numFuelAssems = 60
        converter.convert(self.r)
        numFuelAssems = 0
        for assem in self.r.core.getAssemblies():
            if assem.hasFlags(Flags.FUEL):
                numFuelAssems += 1
        self.assertEqual(numFuelAssems, 60)

        # checks that existing fuel assemblies are preserved
        fueltype = self.r.core.getAssemblyWithStringLocation("A1001").getType()
        self.assertEqual(fueltype, "igniter fuel")

        # checks that existing control rods are preserved
        controltype = self.r.core.getAssemblyWithStringLocation(
            "A5001").getType()
        self.assertEqual(controltype, "primary control")

        # checks that existing reflectors are overwritten with feed fuel
        oldshieldtype = self.r.core.getAssemblyWithStringLocation(
            "A9005").getType()
        self.assertEqual(oldshieldtype, "feed fuel")

        # checks that outer assemblies are removed
        outerassem = self.r.core.getAssemblyWithStringLocation("A9001")
        self.assertEqual(outerassem, None)

        # tests ability to remove fuel assemblies
        converter.numFuelAssems = 20
        converter.convert(self.r)
        numFuelAssems = 0
        for assem in self.r.core.getAssemblies():
            if assem.hasFlags(Flags.FUEL):
                numFuelAssems += 1
        self.assertEqual(numFuelAssems, 20)