Skip to content

Stokes demo broken in adaptive case #30

@jwallwork23

Description

@jwallwork23

Running python3 opt_hessian.py stokes --debug on branch https://github.com/mesh-adaptation/opt_adapt/tree/24_pyroteus-migrate gives the following error:

Using method gradient_descent
  1:  J = 4.6078e+01,  ||dJdm|| = 1.1935e+02,  step length = 1.0000e-03,  #elements =   746,  time = 0.67s
Traceback (most recent call last):
  File "/home/joe/software/Firedrake/firedrake-nov24/src/opt_adapt/demos/opt_hessian.py", line 99, in <module>
    m_opt = minimise(
  File "/home/joe/software/Firedrake/firedrake-nov24/src/opt_adapt/opt_adapt/opt.py", line 555, in minimise
    for o in step(it, forward_run, mesh, params, *args):
  File "/home/joe/software/Firedrake/firedrake-nov24/src/opt_adapt/opt_adapt/opt.py", line 222, in _gradient_descent
    u += lr * P
  File "/home/joe/software/Firedrake/firedrake-nov24/src/firedrake/firedrake/adjoint_utils/function.py", line 146, in wrapper
    func = __iadd__(self, other, **kwargs)
  File "/home/joe/software/Firedrake/firedrake-nov24/src/firedrake/firedrake/function.py", line 509, in __iadd__
    IAddAssigner(self, expr).assign()
  File "/home/joe/software/Firedrake/firedrake-nov24/src/firedrake/firedrake/assign.py", line 147, in __init__
    expression = as_ufl(expression)
  File "/home/joe/software/Firedrake/firedrake-nov24/src/ufl/ufl/constantvalue.py", line 517, in as_ufl
    raise ValueError(
ValueError: Invalid type conversion: [Product(FloatValue(7.35516390623806e-05), Indexed(Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7715b1bb04f0>, VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 117)), 323), MultiIndex((FixedIndex(0),))))
 Product(FloatValue(7.35516390623806e-05), Indexed(Coefficient(WithGeometry(FunctionSpace(<firedrake.mesh.MeshTopology object at 0x7715b1bb04f0>, VectorElement(FiniteElement('Lagrange', triangle, 2), dim=2), name=None), Mesh(VectorElement(FiniteElement('Lagrange', triangle, 1), dim=2), 117)), 323), MultiIndex((FixedIndex(1),))))] can not be converted to any UFL type.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions