return u(X, Y)/10 else: return numpy.array([0.0, 0.0]) def g(x): X = 10 * x[0] Y = 10 * x[1] return not(domain.contains(geometry.Point(numpy.array([X, Y])))) fig = pyplot.figure() ax1 = fig.add_subplot(1,2,1) ax1.set_aspect('equal') ax2 = fig.add_subplot(1,2,2) ax2.set_aspect('equal') robert_visualize_transformation.visualize_transformation(ax1, \ lambda x: calc_f(u1, x), g) # u = Function(V) u2 = calc_solution(Pi2) print u2 print u2(0.5, 0.5) print calc_f(u2, numpy.array([0.5, 0.5])) robert_visualize_transformation.visualize_transformation(ax2, \ lambda x: calc_f(u2, x), g) pyplot.show() # plot(u, interactive=True)
fig = pyplot.figure() ax1 = fig.add_subplot(1,3,1) ax1.set_aspect('equal') ax2 = fig.add_subplot(1,3,2) ax2.set_aspect('equal') ax3 = fig.add_subplot(1,3,3) ax3.set_aspect('equal') # robert_visualize_transformation.visualize_transformation(ax1, \ # lambda x: calc_f(u1, x), g) # u = Function(V) # u2 = calc_solution(Pi2) # print u2 # print u2(0.5, 0.5) # print calc_f(u2, numpy.array([0.5, 0.5])) # robert_visualize_transformation.visualize_transformation(ax2, \ # lambda x: calc_f(u2, x), g) u3 = calc_solution(Pi3) robert_visualize_transformation.visualize_transformation(ax3, \ lambda x: calc_f(u3, x), g) pyplot.show() # plot(u, interactive=True)
psi8a = Ic + (det(grad(u)) - 1)*(det(grad(u)) - 1) psi8b = Ic + dot(grad(u)*zvec, xvec)**2 #Pi8 = psi8a*dx(1) + psi8b*dx(2) #Pi8 = psi8a*dx_new(1) + psi8b*dx_new(2) #Pi8 = Ic*dx_new(1) + Ic*dx_new(2) #Pi8 = weight1*psi8a*dx + weight2*psi8b*dx Pi8 = weight1*psi8a*dx + weight2*psi8b*dx Pi = Pi8 F = derivative(Pi, u, v) J = derivative(F, u, du) solve(F == 0, u, bc, J=J) # plot(u, mode = "displacement", interactive=True) fig = pyplot.figure() ax1 = fig.add_subplot(1,3,1) ax1.set_aspect('equal') def try_evaluate(point): try: u(point[0], point[1]) except: return True return False robert_visualize_transformation.visualize_transformation(ax1, u, try_evaluate) pyplot.show()