AttributeError: 'MatrixField' object has no attribute 'entries'

import taichi as ti
import numpy as np
import utils
import math
from engine.mpm_solver import MPMSolver

write_to_disk = False

ti.init(arch=ti.cuda)  # Try to run on GPU

gui = ti.GUI("Taichi Elements", res=512, background_color=0x112F41)

mpm = MPMSolver(res=(128, 128))

for i in range(3):
    mpm.add_cube(lower_corner=[0.2 + i * 0.1, 0.3 + i * 0.1],
                 cube_size=[0.1, 0.1],
                 material=MPMSolver.material_elastic)

for frame in range(500):
    mpm.step(8e-3)
    if frame < 500:
        mpm.add_cube(lower_corner=[0.1, 0.8],
                     cube_size=[0.01, 0.05],
                     velocity=[1, 0],
                     material=MPMSolver.material_sand)
    if 10 < frame < 100:
        mpm.add_cube(lower_corner=[0.6, 0.7],
                     cube_size=[0.2, 0.01],
                     material=MPMSolver.material_water,
                     velocity=[math.sin(frame * 0.1), 0])
    if 120 < frame < 200 and frame % 10 == 0:
        mpm.add_cube(
            lower_corner=[0.4 + frame * 0.001, 0.6 + frame // 40 * 0.02],
            cube_size=[0.2, 0.1],
            velocity=[-3, -1],
            material=MPMSolver.material_snow)
    colors = np.array([0x068587, 0xED553B, 0xEEEEF0, 0xFFFF00],
                      dtype=np.uint32)
    particles = mpm.particle_info()
    gui.circles(particles['position'],
                radius=1.5,
                color=colors[particles['material']])
    gui.show(f'{frame:06d}.png' if write_to_disk else None)
runfile('D:/Desktop/taichi_elements-master/demo/demo_2d.py', wdir='D:/Desktop/taichi_elements-master/demo')
[Taichi] version 0.7.32, llvm 10.0.0, commit 6652f94f, win, python 3.7.1
[Taichi] Starting on arch=cuda
Traceback (most recent call last):

  File "D:\Desktop\taichi_elements-master\demo\demo_2d.py", line 13, in <module>
    mpm = MPMSolver(res=(128, 128))

  File "D:\Desktop\taichi_elements-master\engine\mpm_solver.py", line 116, in __init__
    for v in self.grid_v.entries:

AttributeError: 'MatrixField' object has no attribute 'entries'

attribute error always happened in different demos,how do i solve it

It seems that you are trying to run an older version of taichi-elements which is no more compatible with the current version (>=0.7.30) of Taichi. Please use the latest version of taichi-elements on github: https://github.com/taichi-dev/taichi_elements

1 个赞

Many thanks for your email.It helps a lot