### Error when using assemble_system with forms defined on the boundary and on the inside of a domain

338
views
1
10 months ago by
I have an issue with the function assemble_system. I need it because I need my matrix to be symmetric. I attach mwe.
I get this error: Unable to successfully call PETSc function 'MatSetValuesLocal'.
*** Reason: PETSc error code is: 63 (Argument out of range).
*** Where: This error was encountered inside /tmp/dolfin/dolfin/la/PETScMatrix.cpp.
Thanks!

File attached: mwe_robinassemble.py (602 Bytes)

Community: FEniCS Project
1
I think the problem comes from the measure. The code works with the usual measure.
It seems that your user-defined measure and the boundary condition are disjoint,
so the boundary condition cannot be imposed in the given bilinear form.
written 10 months ago by John Lee
The bilinear form is only defined on the left boundary but the assembler tries to enforce the boundary conditions on the whole domain, so it goes out of range (I think).
written 10 months ago by Adam Janecka
3
workaround: L2 = p*w*dsc(2) + Constant(0.0)*p*w*dx
written 10 months ago by Nate
This workaround works!
written 10 months ago by Eleonora Piersanti
What's the application of this problem? Computing the lifting operator?
written 10 months ago by Nate
This is part of a bigger code. I need this to enforce Robin type conditions.
written 10 months ago by Eleonora Piersanti