def METHOD_NAME(self):
    """
    Create a L-intersection in 3D
    """
    f_1 = np.array([[1, 3, 3, 1], [1, 1, 1, 1], [1, 1, 3, 3]])
    f_2 = np.array([[1, 1, 1, 1], [1, 3, 3, 1], [1, 1, 3, 3]])
    f_set = [f_1, f_2]
    mdg = pp.meshing.cart_grid(f_set, [3, 3, 3])
    mdg.compute_geometry()
    list_sd_3 = mdg.subdomains(dim=3)
    list_sd_2 = mdg.subdomains(dim=2)
    list_sd_1 = mdg.subdomains(dim=1)
    list_sd_0 = mdg.subdomains(dim=0)
    self.assertTrue(len(list_sd_3) == 1)
    self.assertTrue(len(list_sd_2) == 2)
    self.assertTrue(len(list_sd_1) == 1)
    self.assertTrue(len(list_sd_0) == 0)
    g_all = np.hstack([list_sd_3, list_sd_2, list_sd_1, list_sd_0])
    for g in g_all:
        f_p = g.frac_pairs
        if g.dim == 3:
            f_p_shape_true = 8
        else:
            f_p_shape_true = 0
        self.assertTrue(f_p.shape[1] == f_p_shape_true)
        self.assertTrue(
            np.allclose(g.face_centers[:, f_p[0]], g.face_centers[:, f_p[1]])
        )