Skip to content

AttributeError: 'dolfin.cpp.la.PETScVector' object has no attribute 'array' #52

@ouening

Description

@ouening

OS: Ubuntu18.04
python:3.6.8
dolfin version:2019.1.0

Hello, when I ran example fenics-tutorial/pub/python/vol1/ft03_heat.py, I got errors:

Solving linear variational problem. Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft03_heat.py", line 66, in <module> error = np.abs(u_e.vector().array() - u.vector().array()).max() AttributeError: 'dolfin.cpp.la.PETScVector' object has no attribute 'array'

So I wonder how to solve it?

And by the way I found many of these examples are out of date (like using plt.show() instead of interactive() or unuseful, I tried those 12 example files, and the results showed below:

ft01_poisson.py: pass

ft02_poisson_membrane.py: pass

ft03_heat.py: error: AttributeError: 'dolfin.cpp.la.PETScVector' object has no attribute 'array'

ft04_heat_gaussian.py: pass

ft05_poisson_nonlinear.py: line 58, in <module> error_max = np.abs(u_e.vector().array() - u.vector().array()).max() AttributeError: 'dolfin.cpp.la.PETScVector' object has no attribute 'array'

ft06_elasticity.py: Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft06_elasticity.py", line 50, in <module> a = inner(sigma(u), epsilon(v))*dx File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft06_elasticity.py", line 42, in sigma return lambda_*nabla_div(u)*Identity(d) + 2*mu*epsilon(u) NameError: name 'nabla_div' is not defined

ft07_navier_stokes_channel.py: Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft07_navier_stokes_channel.py", line 118, in <module> error = np.abs(u_e.vector().array() - u_.vector().array()).max() AttributeError: 'dolfin.cpp.la.PETScVector' object has no attribute 'array'

ft08_navier_stokes_cylinder.py: Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft08_navier_stokes_cylinder.py", line 115, in <module> set_log_level(PROGRESS) NameError: name 'PROGRESS' is not defined

ft09_reaction_system.py: Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft09_reaction_system.py", line 76, in <module> set_log_level(PROGRESS) NameError: name 'PROGRESS' is not defined

ft10_poisson_extended.py: Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft10_poisson_extended.py", line 22, in <module> from boxfield import * ModuleNotFoundError: No module named 'boxfield'

ft11_magnetostatics.py: Traceback (most recent call last): File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft11_magnetostatics.py", line 74, in <module> mu = Permeability(markers, degree=1) File "/home/gaoya/Files/python/fenics-tutorial/pub/python/vol1/ft11_magnetostatics.py", line 65, in __init__ self.markers = markers File "/usr/lib/python3/dist-packages/dolfin/function/expression.py", line 438, in __setattr__ elif name in self._parameters: File "/usr/lib/python3/dist-packages/dolfin/function/expression.py", line 432, in __getattr__ return self._parameters[name] File "/usr/lib/python3/dist-packages/dolfin/function/expression.py", line 432, in __getattr__ return self._parameters[name] File "/usr/lib/python3/dist-packages/dolfin/function/expression.py", line 432, in __getattr__ return self._parameters[name] [Previous line repeated 991 more times] File "/usr/lib/python3/dist-packages/dolfin/function/expression.py", line 429, in __getattr__ if name == 'user_parameters': RecursionError: maximum recursion depth exceeded in comparison

ft12_poisson_solver.py: pass

Only 4 examples passed!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions