TypeError: 'float' object is not subscriptable

Hi @bhaveshshrimali

Thanks for helping me out. I have tried the code you provided, it works fine and I appreciate it.
However, when I expand the code and run it on python3 in latest FEniCS version, it has an error on
set_local = w.vector()[set_dof][0]
TypeError: 'float' object is not subscriptable

May you give me some advice on it? I attached the code here.

from dolfin import *

msh = UnitSquareMesh(10, 10)

V1 = VectorElement("CG", msh.ufl_cell(), 2, quad_scheme="default")
V1._quad_scheme = 'default'
V2 = FiniteElement("CG", msh.ufl_cell(), 1, quad_scheme="default")
V2._quad_scheme = 'default'
V3 = FiniteElement("Real", msh.ufl_cell(), 0, quad_scheme="default")
V3._quad_scheme = 'default'
V4 = MixedElement([V3, V3, V3, V3, V3])

W = FunctionSpace(msh, MixedElement([V1,V2,V3,V4]))
w = Function(W)
comm = W.mesh().mpi_comm()
dofmap = W.sub(2).dofmap()
set_dof = dofmap.cell_dofs(0)[0]

own_range = dofmap.ownership_range()

try:
set_local = w.vector()[set_dof][0]
except IndexError:
set_local = 0

stress = MPI.sum(comm, set_local)