fenics did not show figure . NameError: name interactive is not defined

5.2k Views Asked by At

I installed fenics on windows subsystem for linux to do my homework.I am trying to test fenics. So I use ft01_possion.py on the tutorial.

from fenics import *

# Create mesh and define function space
mesh = UnitSquareMesh(8, 8)
V = FunctionSpace(mesh, 'P', 1)

# Define boundary conditions
u_D = Expression('1 + x[0]*x[0] + 2*x[1]*x[1]', degree = 2)

def boundary(x, on_boundary):
      return on_boundary

bc = DirichletBC(V, u_D, boundary)

# Define variational problem
u = TrialFunction(V)
v = TestFunction(V)
f = Constant(-6.0)
a = dot(grad(u), grad(v))*dx
L = f*v*dx

# Compute solution
u = Function(V)
solve(a == L, u, bc)

# Plot solution and mesh
plot(u)
plot(mesh)
interactive()

It did not show the figure. the error i am getting is:

Solving linear variational problem.
Traceback (most recent call last):
File "ft01_poisson.py", line 29, in <module>
interactive()
NameError: name 'interactive' is not defined

I have tried to reinstall the newest version of fenics without success.

While the print out of the error values work, the NameError prevents the plots from being shown.

2

There are 2 best solutions below

0
On

Errors are shown as follows: error_L2 = 0.008235098073354827 error_max = 1.3322676295501878e-15 But there is :NameError: name 'interactive' is not defined, probably this error is not affecting the results

2
On

Some Fenics examples are unfortunately out of date. Please see the following GitHub post.

Change 'interactive()' to

import matplotlib.pyplot as plt
plt.show()

this will show your results.