if n == 1 or n % 10 == 0:
                saveVTK("./data/usoln.%i.vtu" % (n / 10),
                        acceleration=length(a) / 9.81,
                        displacement=length(u),
                        tensor=stress,
                        Ux=u[0])
        return ts, u_pc0, u_pc1, u_pc2

    #
    # create domain:
    #
    mydomain = Brick(ne, ne, 10, l0=width, l1=width, l2=10. * width / ne)
    #
    #  sety time step size:
    #
    h = inf(1. / 5.) * inf(sqrt(rho / (lam + 2 * mu)) * mydomain.getSize())
    print("time step size = %s" % h)
    #
    #  spherical source at middle of bottom face
    #
    xc = [width / 2., width / 2., 0.]
    # define small radius around point xc
    src_radius = 0.03 * width
    print("src_radius = %s" % src_radius)
    #
    # run it
    #
    ts, u_pc0, u_pc1, u_pc2 = wavePropagation(mydomain, h, tend, lam, mu, rho,
                                              xc, src_radius, U0)
    #
    # create a plot: