-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SUPER easy fix for nonlinear external loop coupling #72
Conversation
For the question of whether to use |
Well, it gets used to set a Dirichlet BC for temperature, so yes it contributes to residuals. I think purely nonlinear iterations would converge in PJFNK, but just more slowly, right?
Gavin Ridley
… On Aug 16, 2018, at 10:21 AM, Alex Lindsay ***@***.***> wrote:
For the question of whether to use linear or nonlinear, that really depends on the solve_type selected. Is the postprocessor value of the postprocessor that you modified here used in any residual calculations? If so, then from a solve efficiency stand-point (reducing non-linear iterations) this should at a minimum be executed on nonlinear. Moreover, if we ever used PJFNK instead of NEWTON and the postprocessor value is being used in residual calculations, then this should be executed on linear and nonlinear.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
I think it would converge. It would be interesting to see a comparison of
the two (updating on nonlinear and linear vs. just updating on nonlinear)
with PJFNK. Is your problem small enough to do that comparison quickly?
On Thu, Aug 16, 2018 at 9:36 AM, Gavin Ridley <notifications@github.com>
wrote:
… Well, it gets used to set a Dirichlet BC for temperature, so yes it
contributes to residuals. I think purely nonlinear iterations would
converge in PJFNK, but just more slowly, right?
Gavin Ridley
> On Aug 16, 2018, at 10:21 AM, Alex Lindsay ***@***.***>
wrote:
>
> For the question of whether to use linear or nonlinear, that really
depends on the solve_type selected. Is the postprocessor value of the
postprocessor that you modified here used in any residual calculations? If
so, then from a solve efficiency stand-point (reducing non-linear
iterations) this should at a minimum be executed on nonlinear. Moreover, if
we ever used PJFNK instead of NEWTON and the postprocessor value is being
used in residual calculations, then this should be executed on linear and
nonlinear.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#72 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AJxgcJRTIh7lCFNKaBdtW6twj-LrMb4Eks5uRZGQgaJpZM4V-lIz>
.
|
Well it would just be on plain ol' auto_diff_rho with the coupled loop. So
yeah, I'll make some steady solve convergence plots for each eventually.
It's now on my TODO list.
On Thu, Aug 16, 2018 at 2:26 PM Alex Lindsay <notifications@github.com>
wrote:
… I think it would converge. It would be interesting to see a comparison of
the two (updating on nonlinear and linear vs. just updating on nonlinear)
with PJFNK. Is your problem small enough to do that comparison quickly?
On Thu, Aug 16, 2018 at 9:36 AM, Gavin Ridley ***@***.***>
wrote:
> Well, it gets used to set a Dirichlet BC for temperature, so yes it
> contributes to residuals. I think purely nonlinear iterations would
> converge in PJFNK, but just more slowly, right?
>
> Gavin Ridley
>
> > On Aug 16, 2018, at 10:21 AM, Alex Lindsay ***@***.***>
> wrote:
> >
> > For the question of whether to use linear or nonlinear, that really
> depends on the solve_type selected. Is the postprocessor value of the
> postprocessor that you modified here used in any residual calculations?
If
> so, then from a solve efficiency stand-point (reducing non-linear
> iterations) this should at a minimum be executed on nonlinear. Moreover,
if
> we ever used PJFNK instead of NEWTON and the postprocessor value is being
> used in residual calculations, then this should be executed on linear and
> nonlinear.
> >
> > —
> > You are receiving this because you authored the thread.
> > Reply to this email directly, view it on GitHub, or mute the thread.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#72 (comment)>, or
mute
> the thread
> <
https://github.com/notifications/unsubscribe-auth/AJxgcJRTIh7lCFNKaBdtW6twj-LrMb4Eks5uRZGQgaJpZM4V-lIz
>
> .
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#72 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ARQDyoW2j-JXpkgHQBakEWIJiRrB6iAGks5uRblogaJpZM4V-lIz>
.
--
Thanks,
Gavin Ridley
|
I don't need to see anything fancy. I'd just like to see a coupled of
representative solve histories
On Thu, Aug 16, 2018 at 12:33 PM, Gavin Ridley <notifications@github.com>
wrote:
… Well it would just be on plain ol' auto_diff_rho with the coupled loop. So
yeah, I'll make some steady solve convergence plots for each eventually.
It's now on my TODO list.
On Thu, Aug 16, 2018 at 2:26 PM Alex Lindsay ***@***.***>
wrote:
> I think it would converge. It would be interesting to see a comparison of
> the two (updating on nonlinear and linear vs. just updating on nonlinear)
> with PJFNK. Is your problem small enough to do that comparison quickly?
>
> On Thu, Aug 16, 2018 at 9:36 AM, Gavin Ridley ***@***.***>
> wrote:
>
> > Well, it gets used to set a Dirichlet BC for temperature, so yes it
> > contributes to residuals. I think purely nonlinear iterations would
> > converge in PJFNK, but just more slowly, right?
> >
> > Gavin Ridley
> >
> > > On Aug 16, 2018, at 10:21 AM, Alex Lindsay ***@***.***
>
> > wrote:
> > >
> > > For the question of whether to use linear or nonlinear, that really
> > depends on the solve_type selected. Is the postprocessor value of the
> > postprocessor that you modified here used in any residual calculations?
> If
> > so, then from a solve efficiency stand-point (reducing non-linear
> > iterations) this should at a minimum be executed on nonlinear.
Moreover,
> if
> > we ever used PJFNK instead of NEWTON and the postprocessor value is
being
> > used in residual calculations, then this should be executed on linear
and
> > nonlinear.
> > >
> > > —
> > > You are receiving this because you authored the thread.
> > > Reply to this email directly, view it on GitHub, or mute the thread.
> >
> > —
> > You are receiving this because you commented.
> > Reply to this email directly, view it on GitHub
> > <#72 (comment)>, or
> mute
> > the thread
> > <
> https://github.com/notifications/unsubscribe-auth/
AJxgcJRTIh7lCFNKaBdtW6twj-LrMb4Eks5uRZGQgaJpZM4V-lIz
> >
> > .
> >
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#72 (comment)>, or
mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ARQDyoW2j-
JXpkgHQBakEWIJiRrB6iAGks5uRblogaJpZM4V-lIz>
> .
>
--
Thanks,
Gavin Ridley
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#72 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AJxgcMq6oi7IFk8Z9mlWS92ObuZRAeirks5uRbr9gaJpZM4V-lIz>
.
|
But for now, this is an unequivocal improvement, so merging.. |
Addresses #70
For eigenvalue-type calculations, coupling to the external loop should be done on nonlinear iteration steps rather than timestep_begin. It could be on linear since this transport-type problem is in theory purely linear, but I feel that'd come with more software overhead in doing the transfers than we want. So, nonlinear updates make sense. I tested with the LOSCA walk-to-steady case, and it seemed to work great. Maybe we need a unit test for looping precursors though...