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: