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?


I hope I am making sense here. 
Thanks, 
Subramanya 


Reply via email to