This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

How to pass assembler options to the nonlinear solver

0 votes

I am getting an error while I am trying to solve a mixed function nonlinear problem.
The log suggests to use the assembler option keep_diagonal

*** -------------------------------------------------------------------------
*** DOLFIN encountered an error. If you are not able to resolve this issue
*** using the information listed below, you can ask for help at
***
***     fenics@fenicsproject.org
***
*** Remember to include the error message listed below and, if possible,
*** include a *minimal* running example to reproduce the error.
***
*** -------------------------------------------------------------------------
*** Error:   Unable to set given (local) rows to identity matrix.
*** Reason:  some diagonal elements not preallocated (try assembler option keep_diagonal).
*** Where:   This error was encountered inside PETScMatrix.cpp.
*** Process: 0
*** 
*** DOLFIN version: 1.6.0
*** Git changeset:  9e4783019af77769cd36820da32e58f498cbeaa5
*** -------------------------------------------------------------------------

Is there an easy way to pass this option to the assembler? I have already tried to look in the available parameters of the solver without success. Do I have to "reinvent the wheel" using the examples in the documentation?

Thanks

asked Sep 10, 2015 by alfrenardi FEniCS Novice (170 points)
...