Ejemplo n.º 1
0
    def test_plotting(self):
        pf = PltFile(self.DATA_FILE)
        pf.load_data(zero_x=True)
        porosity = pf.get_level_data("Porosity")

        fig = plt.figure()
        ax = fig.gca()
        ax.pcolormesh(porosity.x, porosity.y, porosity)

        # Can only execute these tests if latex is installed
        if is_installed("latex"):
            pf.plot_outlines(ax)
            pf.plot_field("Porosity")
Ejemplo n.º 2
0
    def test_load(self):

        # Test loading a file that doesn't exist
        pf = PltFile("file that does not exist")
        self.assertEqual(pf.defined, False)

        # Test loading a file that does exist
        pf = PltFile(self.DATA_FILE, load_data=True)
        self.assertEqual(pf.num_levels, 3)
        self.assertEqual(pf.plot_prefix, "plt")
        self.assertEqual(pf.frame, 100)

        # Test pretty printing object
        logging.info(pf)

        # Test loading after data already loaded (should do nothing)
        pf.load_data()

        # Check data is correct
        for pf in [PltFile(self.CHK_DATA_FILE), PltFile(self.DATA_FILE)]:
            pf.load_data()
            max_enthalpy = float(pf.get_level_data("Enthalpy", level=0).max())
            self.assertAlmostEqual(max_enthalpy, 6.302214, 6)
            max_enthalpy = float(pf.get_level_data("Enthalpy", level=2).max())
            self.assertAlmostEqual(max_enthalpy, 6.307355035152367, 6)

            # Test removing data
            pf.unload_data()
            self.assertEqual(pf.data_loaded, False)

            pf.load_data(zero_x=True)
            assert pf.get_level_data("Enthalpy").coords["x"][0] == 0

            assert np.array_equal(pf.get_levels(), [0, 1, 2])

            outline = pf.level_outlines[2]
            assert np.array_equal(outline.total_bounds, [0, 0.375, 1, 1])
            assert outline.area[0] == 0.53125

            assert pf.get_norm("Enthalpy").vmax == pytest.approx(6.30735504, 5)
            assert pf.get_norm("Enthalpy").vmin == pytest.approx(1.49226642, 5)

            x, y = pf.get_mesh_grid_for_level(1)
            assert len(x) == 32
            assert len(y) == 24

        pf_no_name = PltFile(self.DATA_FILE_NO_FRAME)
        self.assertEqual(pf_no_name.frame, -1)

        pf_no_inputs = PltFile(self.DATA_FILE, inputs_file="does not exist")
        self.assertIsNone(pf_no_inputs.inputs)
        assert str(pf_no_inputs) == "<PltFile object for %s>" % self.DATA_FILE