[petsc-users] Using a previous update to ameliorate jacobian near singularity

Matthew Knepley knepley at gmail.com
Mon Nov 18 08:30:31 CST 2013


On Sun, Nov 17, 2013 at 1:42 PM, Subramanya Sadasiva <potaman at outlook.com>wrote:

> Hi,
> I am trying to solve a degenerate cahn hilliard inequality using petsc_DM
> and virs through libmesh. The problem is that the jacobian for this system
> has a nearly singular block owing to the \delta t term multiplying the K
>
> [  K + M             M  ] [ \delta phi]  =  -R_phi
> [    M            K deltat] [\delta mu ]  =  -R_mu
>
> This leads to the unfortunate situation that the time stepping actually
> fails for very small timesteps.  a solution that seems possible is to add a
> constant mass matrix to the K delta t, making the system
>
> [  K + M             M          ] [ \delta phi]  =  -R_phi
> [    M            K deltat +M] [\delta mu ]  =  -R_mu + M \delta mu
>
> And using the \delta mu from the previous timestep. I was just wondering
> if there is any way to get the pre-line search value of the \delta mu?  Is
> it okay to get the \alpha from the linesearch and divide the previous
> change by the \alpha?
>

Why wouldn't you just scale the problem (Jacobi)?

   Matt


> I hope I am making sense here.
> Thanks,
> Subramanya
>
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131118/ae2c9a36/attachment.html>


More information about the petsc-users mailing list