def METHOD_NAME(self, n=0, meshtype='tri'):
    """ generate the initial mesh
    """
    node = np.array([
        (0, 0),
        (1, 0),
        (1, 1),
        (0, 1)], dtype=np.float)
    cell = np.array([(1, 2, 0), (3, 0, 2)], dtype=np.int)
    mesh = TriangleMesh(node, cell)
    mesh.uniform_refine(2)
    NN = mesh.number_of_nodes()
    node = np.zeros((NN+3, 2), dtype=np.float64)
    node[:NN] = mesh.entity('node')
    node[NN:] = node[[5], :]
    cell = mesh.entity('cell')
    cell[13][cell[13] == 5] = NN
    cell[18][cell[18] == 5] = NN
    cell[19][cell[19] == 5] = NN+1
    cell[12][cell[12] == 5] = NN+1
    cell[6][cell[6] == 5] = NN+2
    mesh = TriangleMesh(node, cell)
    mesh.uniform_refine(n)
    return mesh