2011/4/9 Gong Ding <gdiso at ustc.edu> > Hi all, > In the past several weeks, I am dealing with the nearly singular problem. > The structure has a metal connected two semiconductor devices. when two > devices are both shutdown with high resistance, > the metal connector is floating. > This singular problem finally be shifted to well conditioned by simple > pseudo time method -- > just introducing pseudo time to the nearly floating domain (as a capacity > to ground). > Now iterative method works well. > > Here, I must give thanks to Jose Roman, the slepc package gives quick > evaluation > of eigen value of the jacobian matrix. I can easliy target where the > singular arising. > And it helps to determine the pseudo time step. > > And to Matt and Jed, thank you for the idea of null sapce. > Pseudo time method is not as efficient as null space dropping. > I guess the algorithm to nonlinear singular problem should > 1) drop null space within krylov iteration >
Yes, you can do this using KSPSetNullSpace() http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/KSP/KSPSetNullSpace.html > 2) SNES should know the null vector and do a search in the direction of > null vector to find the root. > I am not sure why this is necessary. Since KSP will project out the nullspace in each Newton solve, it should not appear in the update. Unless it is a component of the solution (which would be strange since the Jacobian gives no information about it), in which case you can add that as the initial guess. Matt > Do you think I am in the right way? > > Gong Ding > > > > > > > > > > -- 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/20110410/15a2544d/attachment.htm>
