[petsc-users] SNES update solution vector
Smith, Barry F.
bsmith at mcs.anl.gov
Fri Nov 3 17:20:41 CDT 2017
You should not need to "tamper" with the solution process to achieve this.
I would just change how my FormFunction and FormJacobian behave to implement the different boundary conditions. Why would that not work?
Barry
> On Nov 3, 2017, at 4:39 PM, Bikash Kanungo <bikash at umich.edu> wrote:
>
> Hi Matt,
>
> I want to update the Dirichlet boundary condition on the solution vector on-the-fly. One way to do it is to destroy the current snes solver and create a new one with the new Dirichlet boundary condition (which means setting a new solution vector with a different size, size = # of non-Dirichlet rows). But is it possible to work with the current snes and instead enforce the new Dirichlet boundary condition on the current solution vector?
>
> Thanks,
> Bikash
>
> On Fri, Nov 3, 2017 at 5:19 PM, Matthew Knepley <knepley at gmail.com> wrote:
> What do you want to do to it?
>
> Matt
>
> On Fri, Nov 3, 2017 at 5:14 PM, Bikash Kanungo <bikash at umich.edu> wrote:
> Hi,
>
> I'm trying to solve a nonlinear problem using BFGS Quasi-Newton solver. I would like to tamper the solution vector x on-the-fly, based on some criterion. Is there a way to do so? Will SNESGetSolution(SNES snes, Vec * x) allow me to do so for each SNES iteration?
>
> Thanks,
> Bikash
>
> --
> Bikash S. Kanungo
> PhD Student
> Computational Materials Physics Group
> Mechanical Engineering
> University of Michigan
>
>
>
>
> --
> 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
>
> https://www.cse.buffalo.edu/~knepley/
>
>
>
> --
> Bikash S. Kanungo
> PhD Student
> Computational Materials Physics Group
> Mechanical Engineering
> University of Michigan
>
More information about the petsc-users
mailing list