예제 #1
0
    def test_parametric_ellipsoid(self):
        M2 = Mesh.TensorMesh([np.ones(10), np.ones(20)], "CC")
        block = Maps.ParametricEllipsoid(M2)
        self.assertTrue(
            block.test(
                m=np.hstack(
                    [
                        np.random.rand(2),
                        np.r_[M2.x0[0], 2*M2.hx.min()],
                        np.r_[M2.x0[1], 4*M2.hy.min()]
                    ]
                )
            )
        )

        M3 = Mesh.TensorMesh([np.ones(10), np.ones(20), np.ones(30)], "CCC")
        block = Maps.ParametricEllipsoid(M3)
        self.assertTrue(
            block.test(
                m=np.hstack(
                    [
                        np.random.rand(2),
                        np.r_[M3.x0[0], 2*M3.hx.min()],
                        np.r_[M3.x0[1], 4*M3.hy.min()],
                        np.r_[M3.x0[2], 5*M3.hz.min()]
                    ]
                )
            )
        )
예제 #2
0
    def test_sum(self):
        M2 = Mesh.TensorMesh([np.ones(10), np.ones(20)], "CC")
        block = (
            Maps.ParametricEllipsoid(M2) *
            Maps.Projection(7, np.r_[1, 2, 3, 4, 5, 6])
        )
        background = (
            Maps.ExpMap(M2) * Maps.SurjectFull(M2) *
            Maps.Projection(7, np.r_[0])
        )

        summap0 = Maps.SumMap([block, background])
        summap1 = block + background

        m0 = np.hstack([
            np.random.rand(3),
            np.r_[M2.x0[0], 2*M2.hx.min()],
            np.r_[M2.x0[1], 4*M2.hy.min()]
        ])

        self.assertTrue(
            np.all(summap0 * m0 == summap1 * m0)
        )

        self.assertTrue(summap0.test(m0))
        self.assertTrue(summap1.test(m0))