[firedrake] Error - NonlinearVariationalSolver

Anna Kalogirou a.kalogirou at leeds.ac.uk
Mon Nov 10 19:39:30 GMT 2014


Hi Lawrence,

Does it matter that I am solving a linear problem with the nonlinear 
solver? I am just trying to reproduce the linear one that works first, 
before introducing the nonlinear terms. I tried also adding the 
parameter {'snes_type': 'ksponly'} and the code works, but the result is 
not as good.

Do you have any idea what might be happening?

P.S. The linear code can be found attached.

Best, Anna.


On 10/11/14 19:07, Lawrence Mitchell wrote:
> Failed with sending to the list, so copying below.
>
> Lawrence
> On 10 Nov 2014, at 19:02, Lawrence Mitchell <lawrence.mitchell at imperial.ac.uk> wrote:
>
>> On 10 Nov 2014, at 18:48, Anna Kalogirou <a.kalogirou at leeds.ac.uk> wrote:
>>
>>> Dear Lawrence,
>>>
>>> Thank you very much for the reply. Very useful. It now gives the error:
>>>
>>> ======================
>>> Traceback (most recent call last):
>>> File "nonlinear_swe.py", line 73, in <module>
>>>    phi_solver.solve()
>>> File "<string>", line 2, in solve
>>> File "/opt/firedrake/2.0/lib/python2.7/site-packages/PyOP2-0.11.0_117_gcfe592d-py2.7-linux-x86_64.egg/pyop2/profiling.py", line 197, in wrapper
>>>    return f(*args, **kwargs)
>>> File "/opt/firedrake/2.0/lib/python2.7/site-packages/firedrake/solving.py", line 336, in solve
>>>    %s""" % (self.snes.getIterationNumber(), msg))
>>> RuntimeError: Nonlinear solve failed to converge after 0 nonlinear iterations.
>>> Reason:
>>>   DIVERGED_LINE_SEARCH
>>> ======================
>>>
>>> Do you have any idea what that might be? Do I need do give any arguments in the phi_solver.solve()?
>>>
>> So this tells me that the nonlinear solver (line search newton) failed because the line search failed.  You can try running with
>>
>> solver_parameters={'snes_monitor': True, 'ksp_monitor': True, 'snes_linesearch_monitor': True}
>>
>> (add this as an argument to the construction of the nonlinearvariationalsolver)
>>
>> to see what's going on.
>>
>> If I make what I /think/ are the correct changes to your initial script, I see that the phi solver has the same diverged line search.  This looks to be because at the second time step, the residual is already 1e-14 before we start.  But I don't know if that's expected, or if I changed bits correctly.
>>
>> Lawrence

-- 
  
  Dr Anna Kalogirou
  Research Fellow
  School of Mathematics
  University of Leeds

-------------- next part --------------
A non-text attachment was scrubbed...
Name: linear_swe.py
Type: text/x-python
Size: 1464 bytes
Desc: not available
URL: <http://mailman.ic.ac.uk/pipermail/firedrake/attachments/20141110/b8b1649e/attachment.py>


More information about the firedrake mailing list