KSPMonitorTrueResidualNorm and SNES

Lukasz Kaczmarczyk likask at civil.gla.ac.uk
Wed Oct 28 15:32:42 CDT 2009


> I will switch off monitor after first linear solution phase using  
> KSPMonitorCancel. SNESSetFromOptions should set up it once again
Unfortunately this is not working.

> On 28 Oct 2009, at 16:40, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>>
>>  You are calling SNESSetFromOptions() or KSPSetFromOptions() twice.  
>> If you call it once the problem won't appear.
>>
>>  There is an extremely ugly hack that is implemented for the  
>> default monitor, but not other monitors, to prevent this double  
>> printing. Whoever wrote this ugly hack should have done it properly.
>>
>>  Barry
>>
>> On Oct 28, 2009, at 2:39 AM, Lukasz Kaczmarczyk wrote:
>>
>>> Hi Matt
>>>
>>> I add monitor from options only.
>>>
>>> Pleas note that for default KSP monitor a norm of preconditioned  
>>> residual is printed only once. Problem exists when I monitor true  
>>> residuals.
>>>
>>> Regards,
>>> Lukasz
>>>
>>>
>>>
>>> On 27 Oct 2009, at 23:23, Matthew Knepley <knepley at gmail.com> wrote:
>>>
>>>> It is possible to add the monitor twice. Are you sure this did  
>>>> not happen?
>>>>
>>>> Thanks,
>>>>
>>>>   Matt
>>>>
>>>> On Tue, Oct 27, 2009 at 6:19 PM, Lukasz Kaczmarczyk <likask at civil.gla.ac.uk 
>>>> > wrote:
>>>> Hello,
>>>>
>>>> I have noticed minor problem, potentially bug. For nonlinear  
>>>> analysis with SNES and option -ksp_monitor_true_residual I get
>>>> 0 Norm Res_strain 9.36e-12 Norm Res_stress 1.43e-05 Internal  
>>>> its   1
>>>> 0 SNES Function norm 1.428489691212e-05
>>>>  0 KSP preconditioned resid norm 7.213823259362e-04 true resid  
>>>> norm 1.428489691212e-05 ||Ae||/||Ax|| 1.000000000000e+00
>>>>  0 KSP preconditioned resid norm 7.213823259362e-04 true resid  
>>>> norm 1.428489691212e-05 ||Ae||/||Ax|| 1.000000000000e+00
>>>>  1 KSP preconditioned resid norm 4.903423697449e-04 true resid  
>>>> norm 9.339595309685e-06 ||Ae||/||Ax|| 6.538090801174e-01
>>>>  1 KSP preconditioned resid norm 4.903423697449e-04 true resid  
>>>> norm 9.339595309685e-06 ||Ae||/||Ax|| 6.538090801174e-01
>>>>
>>>> It look that function KSPMonitorTrueResidualNorm is evaluated  
>>>> twice, whereas for default KSP monitor only once. I use  
>>>> petsc-3.0.0-p7.
>>>>
>>>> Kind regards,
>>>> Lukasz
>>>>
>>>>
>>>>
>>>> -- 
>>>> What most experimenters take for granted before they begin their  
>>>> experiments is infinitely more interesting than any results to  
>>>> which their experiments lead.
>>>> -- Norbert Wiener
>>
>>
>

Lukasz Kaczmarczyk
Lecturer
Department of Civil Engineering,
University of Glasgow,
GLASGOW, G12 8LT
Tel: +44 141 3305348
email: likask at civil.gla.ac.uk
web: http://www.civil.gla.ac.uk/~kaczmarczyk/
web: http://code.google.com/p/yaffems/



More information about the petsc-users mailing list