[petsc-users] Tao iterations

Jason Sarich jason.sarich at gmail.com
Tue Apr 21 09:28:02 CDT 2015


Hi Justin,

what reason is blmvm giving for stopping the solve? (you can use -tao_view
or -tao_converged_reason to get this)

Jason

On Mon, Apr 20, 2015 at 6:32 PM, Justin Chang <jychang48 at gmail.com> wrote:

> Jason,
>
> I am using TaoGetSolutionStatus(tao,&its, ...) and it gives me exactly
> what I want. However, I seem to be having an issue with blmvm
>
> I wrote my own backward euler code for a transient linear diffusion
> problem with lower bounds >= 0 and upper bounds <= 1. For the first several
> time steps I am getting its > 0, and it decreases over time due to the
> nature of the discrete maximum principles. However, at some point my its
> become 0 and the solution does not "update", which seems to me that
> TaoSolve is not doing anything after that. This doesn't happen if I were to
> use tron (my KSP and PC are cg and jacobi respectively).
>
> Do you know why this behavior may occur?
>
> Thanks,
>
> On Tue, Apr 14, 2015 at 9:35 AM, Jason Sarich <jason.sarich at gmail.com>
> wrote:
>
>> Hi Justin,
>>
>> I have pushed these changes to the "next" branch, your code snippet
>> should work fine there.
>>
>> Note that there is also available (since version 3.5.0) the routine
>> TaoGetSolutionStatus(tao,&its,NULL,NULL,NULL,NULL,NULL) which will provide
>> the
>> same information
>>
>> Jason
>>
>> On Fri, Apr 10, 2015 at 6:28 PM, Justin Chang <jychang48 at gmail.com>
>> wrote:
>>
>>>   Whatever is convenient and/or follow the "PETSc" standards. Something
>>> similar to SNESGetIterationNumber() or KSPGetIterationNumber() would be
>>> nice. Ideally I want my code to look like this:
>>>
>>>  ierr = TaoGetIterationNumber(tao,&its);CHKERRQ(ierr);
>>>  ierr = PetscPrintf(PETSC_COMM_WORLD, "Number of Tao iterations = %D\n",
>>> its);
>>>
>>>  Thanks :)
>>>
>>> On Fri, Apr 10, 2015 at 5:53 PM, Jason Sarich <jason.sarich at gmail.com>
>>> wrote:
>>>
>>>> Hi Justin, I'll get this in. I assume that displaying the number of
>>>> iterations with tao_converged_reason is what you are asking for in
>>>> particular? Or did you have something else in mind?
>>>>
>>>> Jason
>>>>  On Apr 10, 2015 16:42, "Smith, Barry F." <bsmith at mcs.anl.gov> wrote:
>>>>
>>>>>
>>>>>   Justin,
>>>>>
>>>>>     Sorry TAO simply doesn't even collect this information currently.
>>>>> But yes we should definitely make it available!
>>>>>
>>>>>   Jason,
>>>>>
>>>>>      Could you please add this; almost all the TaoSolve_xxx() have a
>>>>> local variable iter; change that to tao->niter (I'm guess this is suppose
>>>>> to capture this information) and add a TaoGetIterationNumber() and the uses
>>>>> can access this. Also modify at the end of TaoSolve() -tao_converged_reason
>>>>> to also print the iteration count. At the same time since you add this you
>>>>> can add a tao->totalits which would accumulate all iterations over all the
>>>>> solves for that Tao object and the routine TaoGetTotalIterations() to
>>>>> access this.  Note that TaoSolve() would initialize tao->niter = 0 at the
>>>>> top.
>>>>>
>>>>>    Thanks
>>>>>
>>>>>   Barry
>>>>>
>>>>>
>>>>>
>>>>> > On Apr 10, 2015, at 4:16 PM, Justin Chang <jchang27 at uh.edu> wrote:
>>>>> >
>>>>>  > Hi all,
>>>>> >
>>>>> > Is there a way to generically obtain the number of Tao iterations? I
>>>>> am looking through the -help options for Tao and I don't see any metric
>>>>> where you can output this quantity in the manner that you could for SNES or
>>>>> KSP solves. I am currently using blmvm and tron, and the only way I can see
>>>>> getting this metric is by outputting -tao_view and/or -tao_monitor and
>>>>> manually finding this number. I find this cumbersome especially for
>>>>> transient problems where I would like to simply have this number printed
>>>>> for each step instead of ending up with unnecessary info.
>>>>> >
>>>>> > Thanks,
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Justin Chang
>>>>> > PhD Candidate, Civil Engineering - Computational Sciences
>>>>> > University of Houston, Department of Civil and Environmental
>>>>> Engineering
>>>>> > Houston, TX 77004
>>>>> > (512) 963-3262
>>>>>
>>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150421/8bcd889c/attachment.html>


More information about the petsc-users mailing list