> On 25 Jun 2019, at 15:25, Simone Puel <spuel@utexas.edu> wrote:
>
> Dear Lawrence,
>
> Thanks so much! I have done as you suggested and now I have a different error:
>
> Traceback (most recent call last):
> File "Elasticity2D_Firedrake.py", line 163, in <module>
> solve(lhs_varf == rhs_varf, sol, bcs=[bc1,bc2])
> File "/home/simone/firedrake/src/firedrake/firedrake/solving.py", line 125, in solve
> _solve_varproblem(*args, **kwargs)
> File "/home/simone/firedrake/src/firedrake/firedrake/solving.py", line 153, in _solve_varproblem
> solver.solve()
> File "/home/simone/firedrake/src/firedrake/firedrake/variational_solver.py", line 249, in solve
> dbc.apply(self._problem.u)
> File "</home/simone/firedrake/lib/python3.6/site-packages/decorator.py:decorator-gen-48>", line 2, in apply
> File "/home/simone/firedrake/src/PyOP2/pyop2/profiling.py", line 60, in wrapper
> return f(*args, **kwargs)
> File "/home/simone/firedrake/src/firedrake/firedrake/bcs.py", line 432, in apply
> r.assign(self.function_arg, subset=self.node_set)
> File "</home/simone/firedrake/lib/python3.6/site-packages/decorator.py:decorator-gen-40>", line 2, in assign
> File "/home/simone/firedrake/src/firedrake/firedrake/utils.py", line 61, in wrapper
> return f(*args, **kwargs)
> File "/home/simone/firedrake/src/firedrake/firedrake/function.py", line 377, in assign
> assemble_expressions.Assign(self, expr), subset)
> File "</home/simone/firedrake/lib/python3.6/site-packages/decorator.py:decorator-gen-45>", line 2, in evaluate_expression
> File "/home/simone/firedrake/src/firedrake/firedrake/utils.py", line 58, in wrapper
> return f(*args, **kwargs)
> File "/home/simone/firedrake/src/firedrake/firedrake/assemble_expressions.py", line 507, in evaluate_expression
> e, args, _ = ExpressionWalker().walk(tree)
> File "/home/simone/firedrake/src/firedrake/firedrake/assemble_expressions.py", line 346, in walk
> return (self.visit(expr),
> File "/home/simone/firedrake/src/ufl/ufl/algorithms/transformer.py", line 114, in visit
> r = h(o)
> File "/home/simone/firedrake/src/firedrake/firedrake/assemble_expressions.py", line 413, in operator
> operands = [operands[0], self.visit(operands[1])]
> File "/home/simone/firedrake/src/ufl/ufl/algorithms/transformer.py", line 114, in visit
> r = h(o)
> File "/home/simone/firedrake/src/firedrake/firedrake/assemble_expressions.py", line 417, in operator
> operands = list(map(self.visit, o.ufl_operands))
> File "/home/simone/firedrake/src/ufl/ufl/algorithms/transformer.py", line 114, in visit
> r = h(o)
> File "/home/simone/firedrake/src/firedrake/firedrake/assemble_expressions.py", line 383, in coefficient
> raise ValueError("Constant has mismatched shape for expression function space")
> ValueError: Constant has mismatched shape for expression function space
>
>
> I kept the function spaces as the original:
> BDM = VectorFunctionSpace(mesh, "BDM", 1)
> DGv = VectorFunctionSpace(mesh, "DG", 0)
> DGs = FunctionSpace(mesh, "DG", 0)
>
> Vh = BDM * DGv * DGs
>
> Is this error due to the boundary conditions that I prescribed?
> u0 = Constant((0.0, 0.0)) # zero displacement left, right and bottom
> zero_stress = as_vector([Constant((0., 0.)), Constant((0., 0.))]) # zero stress at top
>
> Thank you so much for your help, I really appreciate it.
>
I think so. You probably want
zero_stress = as_tensor([[0, 0], [0, 0]])
or:
zero_stress = Constant([[0, 0], [0, 0]])
Thanks,
Lawrence