예제 #1
0
def test_line_integral_convolution_callback():
    with _cleanup_fname() as prefix:
        ds = fake_amr_ds(fields =
            ("density", "velocity_x", "velocity_y", "velocity_z"))
        for ax in 'xyz':
            p = ProjectionPlot(ds, ax, "density")
            p.annotate_line_integral_convolution("velocity_x", "velocity_y")
            assert_fname(p.save(prefix)[0])
            p = ProjectionPlot(ds, ax, "density", weight_field="density")
            p.annotate_line_integral_convolution("velocity_x", "velocity_y")
            assert_fname(p.save(prefix)[0])
            p = SlicePlot(ds, ax, "density")
            p.annotate_line_integral_convolution("velocity_x", "velocity_y")
            assert_fname(p.save(prefix)[0])
        # Now we'll check a few additional minor things
        p = SlicePlot(ds, "x", "density")
        p.annotate_line_integral_convolution("velocity_x", "velocity_y",
                                             kernellen=100., lim=(0.4,0.7),
                                             cmap=ytcfg.get("yt", "default_colormap"),
                                             alpha=0.9, const_alpha=True)
        p.save(prefix)

    with _cleanup_fname() as prefix:
        ds = load(cyl_2d)
        slc = SlicePlot(ds, "theta", "density")
        slc.annotate_line_integral_convolution("magnetic_field_r", "magnetic_field_z")
        assert_fname(slc.save(prefix)[0])

    with _cleanup_fname() as prefix:
        ds = fake_amr_ds(fields = 
            ("density", "velocity_r", "velocity_theta", "velocity_phi"),
            geometry="spherical")
        p = SlicePlot(ds, "r", "density")
        p.annotate_line_integral_convolution("velocity_theta", "velocity_phi")
        assert_raises(YTDataTypeUnsupported, p.save, prefix)
예제 #2
0
def test_line_integral_convolution_callback():
    with _cleanup_fname() as prefix:
        ds = fake_amr_ds(
            fields=("density", "velocity_x", "velocity_y", "velocity_z"),
            units=("g/cm**3", "cm/s", "cm/s", "cm/s"),
        )
        for ax in "xyz":
            p = ProjectionPlot(ds, ax, ("gas", "density"))
            p.annotate_line_integral_convolution(
                ("gas", "velocity_x"), ("gas", "velocity_y")
            )
            assert_fname(p.save(prefix)[0])
            p = ProjectionPlot(
                ds, ax, ("gas", "density"), weight_field=("gas", "density")
            )
            p.annotate_line_integral_convolution(
                ("gas", "velocity_x"), ("gas", "velocity_y")
            )
            assert_fname(p.save(prefix)[0])
            p = SlicePlot(ds, ax, ("gas", "density"))
            p.annotate_line_integral_convolution(
                ("gas", "velocity_x"), ("gas", "velocity_y")
            )
            assert_fname(p.save(prefix)[0])
        # Now we'll check a few additional minor things
        p = SlicePlot(ds, "x", ("gas", "density"))
        p.annotate_line_integral_convolution(
            ("gas", "velocity_x"),
            ("gas", "velocity_y"),
            kernellen=100.0,
            lim=(0.4, 0.7),
            cmap=ytcfg.get("yt", "default_colormap"),
            alpha=0.9,
            const_alpha=True,
        )
        p.save(prefix)

    with _cleanup_fname() as prefix:
        ds = load(cyl_2d)
        slc = SlicePlot(ds, "theta", ("gas", "magnetic_field_strength"))
        slc.annotate_line_integral_convolution(
            ("gas", "magnetic_field_r"), ("gas", "magnetic_field_z")
        )
        assert_fname(slc.save(prefix)[0])

    with _cleanup_fname() as prefix:
        ds = load(cyl_3d)
        slc = SlicePlot(ds, "r", ("gas", "magnetic_field_strength"))
        slc.annotate_line_integral_convolution(
            ("gas", "magnetic_field_theta"), ("gas", "magnetic_field_z")
        )
        assert_fname(slc.save(prefix)[0])
        slc = SlicePlot(ds, "z", ("gas", "magnetic_field_strength"))
        slc.annotate_line_integral_convolution(
            ("gas", "magnetic_field_cartesian_x"), ("gas", "magnetic_field_cartesian_y")
        )
        assert_fname(slc.save(prefix)[0])
        slc = SlicePlot(ds, "theta", ("gas", "magnetic_field_strength"))
        slc.annotate_line_integral_convolution(
            ("gas", "magnetic_field_r"), ("gas", "magnetic_field_z")
        )
        assert_fname(slc.save(prefix)[0])
        check_axis_manipulation(slc, prefix)

    with _cleanup_fname() as prefix:
        ds = fake_amr_ds(
            fields=("density", "velocity_r", "velocity_theta", "velocity_phi"),
            units=("g/cm**3", "cm/s", "cm/s", "cm/s"),
            geometry="spherical",
        )
        p = SlicePlot(ds, "r", ("gas", "density"))
        assert_raises(
            YTDataTypeUnsupported,
            p.annotate_line_integral_convolution,
            ("gas", "velocity_theta"),
            ("gas", "velocity_phi"),
        )